@ai-ecoverse/slicc-spectrum 1.104.2 → 1.105.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -21
- package/dist/{chunk-D2HYQOCH.js → chunk-2GER7OHY.js} +4 -4
- package/dist/{chunk-JPIG5BAD.js → chunk-2JLDRHGH.js} +2 -2
- package/dist/chunk-2PTCZ3HU.js +177 -0
- package/dist/chunk-2PTCZ3HU.js.map +7 -0
- package/dist/chunk-2QGVEUM3.js +218 -0
- package/dist/chunk-2QGVEUM3.js.map +7 -0
- package/dist/chunk-2QTNHBD6.js +236 -0
- package/dist/chunk-2QTNHBD6.js.map +7 -0
- package/dist/chunk-3HYCVQIZ.js +2135 -0
- package/dist/chunk-3HYCVQIZ.js.map +7 -0
- package/dist/chunk-3TKJZ3WO.js +211 -0
- package/dist/chunk-3TKJZ3WO.js.map +7 -0
- package/dist/chunk-45RRK5H7.js +218 -0
- package/dist/chunk-45RRK5H7.js.map +7 -0
- package/dist/chunk-4LHTT5CM.js +260 -0
- package/dist/chunk-4LHTT5CM.js.map +7 -0
- package/dist/chunk-4LNENAB3.js +84 -0
- package/dist/chunk-4LNENAB3.js.map +7 -0
- package/dist/chunk-4UVLBBK5.js +229 -0
- package/dist/chunk-4UVLBBK5.js.map +7 -0
- package/dist/chunk-4V2XWPVI.js +260 -0
- package/dist/chunk-4V2XWPVI.js.map +7 -0
- package/dist/chunk-4VL4W65X.js +218 -0
- package/dist/chunk-4VL4W65X.js.map +7 -0
- package/dist/{chunk-442GNVWR.js → chunk-57NDK5DC.js} +2805 -2630
- package/dist/chunk-57NDK5DC.js.map +7 -0
- package/dist/chunk-5DQGKJYU.js +231 -0
- package/dist/chunk-5DQGKJYU.js.map +7 -0
- package/dist/chunk-5PPA6KWN.js +166 -0
- package/dist/chunk-5PPA6KWN.js.map +7 -0
- package/dist/chunk-5RPMYYR5.js +9 -0
- package/dist/chunk-5RPMYYR5.js.map +7 -0
- package/dist/chunk-5TKCBABJ.js +169 -0
- package/dist/chunk-5TKCBABJ.js.map +7 -0
- package/dist/chunk-5YPJDKI6.js +170 -0
- package/dist/chunk-5YPJDKI6.js.map +7 -0
- package/dist/{chunk-GHS6XYSQ.js → chunk-6FZ7EIP5.js} +6 -6
- package/dist/{chunk-LMH4BAKD.js → chunk-6JS2SZJ5.js} +12 -10
- package/dist/{chunk-LMH4BAKD.js.map → chunk-6JS2SZJ5.js.map} +2 -2
- package/dist/chunk-6UISDSQ6.js +229 -0
- package/dist/chunk-6UISDSQ6.js.map +7 -0
- package/dist/chunk-AADI6MVB.js +245 -0
- package/dist/chunk-AADI6MVB.js.map +7 -0
- package/dist/{chunk-22NCU4NL.js → chunk-AL43JFHF.js} +2 -2
- package/dist/chunk-ALX3M6E3.js +368 -0
- package/dist/chunk-ALX3M6E3.js.map +7 -0
- package/dist/chunk-APWLBR4J.js +173 -0
- package/dist/chunk-APWLBR4J.js.map +7 -0
- package/dist/chunk-B26VSXYC.js +297 -0
- package/dist/chunk-B26VSXYC.js.map +7 -0
- package/dist/chunk-B3ZH3IZR.js +82 -0
- package/dist/chunk-B3ZH3IZR.js.map +7 -0
- package/dist/chunk-BA2ER7NA.js +169 -0
- package/dist/chunk-BA2ER7NA.js.map +7 -0
- package/dist/chunk-BAVPQSVQ.js +190 -0
- package/dist/chunk-BAVPQSVQ.js.map +7 -0
- package/dist/{chunk-44HPUTOU.js → chunk-CEAD4W2I.js} +6 -6
- package/dist/chunk-CTBCZ6QP.js +368 -0
- package/dist/chunk-CTBCZ6QP.js.map +7 -0
- package/dist/chunk-D2BSCPOZ.js +204 -0
- package/dist/chunk-D2BSCPOZ.js.map +7 -0
- package/dist/chunk-DBTSLS2U.js +171 -0
- package/dist/chunk-DBTSLS2U.js.map +7 -0
- package/dist/chunk-DUHSH5IA.js +392 -0
- package/dist/chunk-DUHSH5IA.js.map +7 -0
- package/dist/chunk-E3XF2JYD.js +175 -0
- package/dist/chunk-E3XF2JYD.js.map +7 -0
- package/dist/chunk-E6FGQYBA.js +2 -0
- package/dist/{chunk-Y7O6BIKA.js → chunk-EAVYCN2X.js} +3 -3
- package/dist/chunk-EG2LH2D6.js +368 -0
- package/dist/chunk-EG2LH2D6.js.map +7 -0
- package/dist/chunk-EJCS2A67.js +248 -0
- package/dist/chunk-EJCS2A67.js.map +7 -0
- package/dist/chunk-ENK72MDX.js +247 -0
- package/dist/chunk-ENK72MDX.js.map +7 -0
- package/dist/chunk-ETY2K3PP.js +185 -0
- package/dist/chunk-ETY2K3PP.js.map +7 -0
- package/dist/chunk-FVU5ETHN.js +244 -0
- package/dist/chunk-FVU5ETHN.js.map +7 -0
- package/dist/chunk-FWORTALJ.js +392 -0
- package/dist/chunk-FWORTALJ.js.map +7 -0
- package/dist/chunk-G3AQILQL.js +377 -0
- package/dist/chunk-G3AQILQL.js.map +7 -0
- package/dist/chunk-GFOHPOWP.js +8 -0
- package/dist/chunk-GG2YLBBY.js +211 -0
- package/dist/chunk-GG2YLBBY.js.map +7 -0
- package/dist/chunk-GULF27HF.js +204 -0
- package/dist/chunk-GULF27HF.js.map +7 -0
- package/dist/chunk-I54HXPPH.js +242 -0
- package/dist/chunk-I54HXPPH.js.map +7 -0
- package/dist/chunk-I67XBOU7.js +241 -0
- package/dist/chunk-I67XBOU7.js.map +7 -0
- package/dist/chunk-I7E74Y7Y.js +368 -0
- package/dist/chunk-I7E74Y7Y.js.map +7 -0
- package/dist/chunk-IGMG5I7K.js +204 -0
- package/dist/chunk-IGMG5I7K.js.map +7 -0
- package/dist/chunk-JSVDUJOF.js +418 -0
- package/dist/chunk-JSVDUJOF.js.map +7 -0
- package/dist/chunk-JWEDQMOH.js +204 -0
- package/dist/chunk-JWEDQMOH.js.map +7 -0
- package/dist/chunk-K7CQ2PRH.js +243 -0
- package/dist/chunk-K7CQ2PRH.js.map +7 -0
- package/dist/chunk-KIDTSHLT.js +3239 -0
- package/dist/chunk-KIDTSHLT.js.map +7 -0
- package/dist/chunk-KIKLCSNJ.js +3 -0
- package/dist/chunk-KIKLCSNJ.js.map +7 -0
- package/dist/chunk-KUTFS7K7.js +170 -0
- package/dist/chunk-KUTFS7K7.js.map +7 -0
- package/dist/chunk-L25HPU52.js +229 -0
- package/dist/chunk-L25HPU52.js.map +7 -0
- package/dist/{chunk-WXAII75O.js → chunk-LJ5HWLFA.js} +2 -2
- package/dist/{chunk-WXAII75O.js.map → chunk-LJ5HWLFA.js.map} +1 -1
- package/dist/chunk-LNZHKQQB.js +175 -0
- package/dist/chunk-LNZHKQQB.js.map +7 -0
- package/dist/{chunk-LVH4CKV3.js → chunk-LSXQD3LS.js} +3 -3
- package/dist/chunk-LW7FUR35.js +368 -0
- package/dist/chunk-LW7FUR35.js.map +7 -0
- package/dist/chunk-MCIHORAJ.js +229 -0
- package/dist/chunk-MCIHORAJ.js.map +7 -0
- package/dist/chunk-MD3SFR65.js +418 -0
- package/dist/chunk-MD3SFR65.js.map +7 -0
- package/dist/chunk-MGYKF4CA.js +175 -0
- package/dist/chunk-MGYKF4CA.js.map +7 -0
- package/dist/chunk-N7NGXLLM.js +368 -0
- package/dist/chunk-N7NGXLLM.js.map +7 -0
- package/dist/chunk-NEW2Q7FF.js +101 -0
- package/dist/chunk-NEW2Q7FF.js.map +7 -0
- package/dist/chunk-NQH6RQYV.js +250 -0
- package/dist/chunk-NQH6RQYV.js.map +7 -0
- package/dist/chunk-NSXLBNK4.js +238 -0
- package/dist/chunk-NSXLBNK4.js.map +7 -0
- package/dist/chunk-OIEY3JII.js +233 -0
- package/dist/chunk-OIEY3JII.js.map +7 -0
- package/dist/chunk-OKPKENUF.js +211 -0
- package/dist/chunk-OKPKENUF.js.map +7 -0
- package/dist/chunk-OY4ZZY7W.js +218 -0
- package/dist/chunk-OY4ZZY7W.js.map +7 -0
- package/dist/chunk-QQNGYZLJ.js +173 -0
- package/dist/chunk-QQNGYZLJ.js.map +7 -0
- package/dist/chunk-RE5FCGM4.js +233 -0
- package/dist/chunk-RE5FCGM4.js.map +7 -0
- package/dist/chunk-RTUIJYIL.js +368 -0
- package/dist/chunk-RTUIJYIL.js.map +7 -0
- package/dist/chunk-RVP4DE3X.js +368 -0
- package/dist/chunk-RVP4DE3X.js.map +7 -0
- package/dist/chunk-RZNHWRZX.js +175 -0
- package/dist/chunk-RZNHWRZX.js.map +7 -0
- package/dist/chunk-SI4KACA7.js +368 -0
- package/dist/chunk-SI4KACA7.js.map +7 -0
- package/dist/chunk-SIN26ESQ.js +392 -0
- package/dist/chunk-SIN26ESQ.js.map +7 -0
- package/dist/chunk-SXLM67S4.js +185 -0
- package/dist/chunk-SXLM67S4.js.map +7 -0
- package/dist/chunk-SZDSSMHM.js +218 -0
- package/dist/chunk-SZDSSMHM.js.map +7 -0
- package/dist/chunk-TIVNHKKC.js +418 -0
- package/dist/chunk-TIVNHKKC.js.map +7 -0
- package/dist/chunk-TXJNAXHT.js +418 -0
- package/dist/chunk-TXJNAXHT.js.map +7 -0
- package/dist/chunk-U2CRYG2Y.js +368 -0
- package/dist/chunk-U2CRYG2Y.js.map +7 -0
- package/dist/chunk-UAZ7ATZ5.js +770 -0
- package/dist/chunk-UAZ7ATZ5.js.map +7 -0
- package/dist/chunk-UFGJPRGL.js +104 -0
- package/dist/chunk-UFGJPRGL.js.map +7 -0
- package/dist/chunk-UI7G5S4O.js +211 -0
- package/dist/chunk-UI7G5S4O.js.map +7 -0
- package/dist/{chunk-MZMRYCS6.js → chunk-WQ7OXFOF.js} +2 -2
- package/dist/chunk-WVWSLJ4A.js +160 -0
- package/dist/chunk-WVWSLJ4A.js.map +7 -0
- package/dist/chunk-X2FGXM6T.js +657 -0
- package/dist/chunk-X2FGXM6T.js.map +7 -0
- package/dist/chunk-XJ4X6OZN.js +175 -0
- package/dist/chunk-XJ4X6OZN.js.map +7 -0
- package/dist/chunk-YCSUWIOE.js +218 -0
- package/dist/chunk-YCSUWIOE.js.map +7 -0
- package/dist/chunk-YG7YEPYG.js +238 -0
- package/dist/chunk-YG7YEPYG.js.map +7 -0
- package/dist/chunk-YMUYQTBG.js +170 -0
- package/dist/chunk-YMUYQTBG.js.map +7 -0
- package/dist/chunk-YYRMCQGB.js +347 -0
- package/dist/chunk-YYRMCQGB.js.map +7 -0
- package/dist/chunk-YYU64C2K.js +233 -0
- package/dist/chunk-YYU64C2K.js.map +7 -0
- package/dist/{chunk-OS3ZND7O.js → chunk-ZSLV7QHA.js} +2 -2
- package/dist/chunk-ZYWHNLZW.js +200 -0
- package/dist/chunk-ZYWHNLZW.js.map +7 -0
- package/dist/slicc-ui.js +4868 -18113
- package/dist/slicc-ui.js.map +4 -4
- package/dist/types/app/app.d.ts +0 -2
- package/dist/types/components/code-theme.d.ts +12 -0
- package/dist/types/components/code-view.d.ts +3 -2
- package/dist/types/ui.d.ts +0 -2
- package/package.json +23 -33
- package/dist/chunk-442GNVWR.js.map +0 -7
- package/dist/chunk-5G3X76IR.js +0 -8
- package/dist/chunk-64K5VONJ.js +0 -11
- package/dist/chunk-64K5VONJ.js.map +0 -7
- package/dist/chunk-6T3O5K6R.js +0 -8
- package/dist/chunk-BHAGWMDD.js +0 -8
- package/dist/chunk-BHAGWMDD.js.map +0 -7
- package/dist/chunk-CGS66GRP.js +0 -11
- package/dist/chunk-CGS66GRP.js.map +0 -7
- package/dist/chunk-CONYKGKV.js +0 -11
- package/dist/chunk-CONYKGKV.js.map +0 -7
- package/dist/chunk-CU7BC2RI.js +0 -11
- package/dist/chunk-CU7BC2RI.js.map +0 -7
- package/dist/chunk-FXM4K5WL.js +0 -19
- package/dist/chunk-FXM4K5WL.js.map +0 -7
- package/dist/chunk-I4OYHPAU.js +0 -11
- package/dist/chunk-I4OYHPAU.js.map +0 -7
- package/dist/chunk-KMP5HO3E.js +0 -11
- package/dist/chunk-KMP5HO3E.js.map +0 -7
- package/dist/chunk-KWPU2PY3.js +0 -14
- package/dist/chunk-KWPU2PY3.js.map +0 -7
- package/dist/chunk-LBXW6XNL.js +0 -18
- package/dist/chunk-LBXW6XNL.js.map +0 -7
- package/dist/chunk-LII3WY6Y.js +0 -11
- package/dist/chunk-LII3WY6Y.js.map +0 -7
- package/dist/chunk-LY7WVBCB.js +0 -10
- package/dist/chunk-LY7WVBCB.js.map +0 -7
- package/dist/chunk-NLDFGCIL.js +0 -11
- package/dist/chunk-NLDFGCIL.js.map +0 -7
- package/dist/chunk-S5EGO4NA.js +0 -11
- package/dist/chunk-S5EGO4NA.js.map +0 -7
- package/dist/chunk-TAZBKRHT.js +0 -10
- package/dist/chunk-TAZBKRHT.js.map +0 -7
- package/dist/chunk-UCIBH53C.js +0 -11
- package/dist/chunk-UCIBH53C.js.map +0 -7
- package/dist/chunk-XZM23TK4.js +0 -11
- package/dist/chunk-XZM23TK4.js.map +0 -7
- package/dist/chunk-YX6SI5VA.js +0 -11
- package/dist/chunk-YX6SI5VA.js.map +0 -7
- package/dist/types/app/grammars.d.ts +0 -6
- /package/dist/{chunk-D2HYQOCH.js.map → chunk-2GER7OHY.js.map} +0 -0
- /package/dist/{chunk-JPIG5BAD.js.map → chunk-2JLDRHGH.js.map} +0 -0
- /package/dist/{chunk-GHS6XYSQ.js.map → chunk-6FZ7EIP5.js.map} +0 -0
- /package/dist/{chunk-22NCU4NL.js.map → chunk-AL43JFHF.js.map} +0 -0
- /package/dist/{chunk-44HPUTOU.js.map → chunk-CEAD4W2I.js.map} +0 -0
- /package/dist/{chunk-5G3X76IR.js.map → chunk-E6FGQYBA.js.map} +0 -0
- /package/dist/{chunk-Y7O6BIKA.js.map → chunk-EAVYCN2X.js.map} +0 -0
- /package/dist/{chunk-6T3O5K6R.js.map → chunk-GFOHPOWP.js.map} +0 -0
- /package/dist/{chunk-LVH4CKV3.js.map → chunk-LSXQD3LS.js.map} +0 -0
- /package/dist/{chunk-MZMRYCS6.js.map → chunk-WQ7OXFOF.js.map} +0 -0
- /package/dist/{chunk-OS3ZND7O.js.map → chunk-ZSLV7QHA.js.map} +0 -0
|
@@ -0,0 +1,2135 @@
|
|
|
1
|
+
import {
|
|
2
|
+
BaseStreamTokenizer,
|
|
3
|
+
DiffsHighlighter
|
|
4
|
+
} from "./chunk-UFGJPRGL.js";
|
|
5
|
+
import {
|
|
6
|
+
formatCSSVariablePrefix
|
|
7
|
+
} from "./chunk-5RPMYYR5.js";
|
|
8
|
+
import {
|
|
9
|
+
appendItems,
|
|
10
|
+
createDiffsThemeResolver
|
|
11
|
+
} from "./chunk-KIDTSHLT.js";
|
|
12
|
+
import "./chunk-NEW2Q7FF.js";
|
|
13
|
+
import "./chunk-AXQFWXYZ.js";
|
|
14
|
+
|
|
15
|
+
// node_modules/@pierre/highlights/dist/languages.js
|
|
16
|
+
var languages = {
|
|
17
|
+
plain: 0,
|
|
18
|
+
plaintext: 0,
|
|
19
|
+
text: 0,
|
|
20
|
+
txt: 0,
|
|
21
|
+
"angular-html": 1,
|
|
22
|
+
asm: 2,
|
|
23
|
+
assembly: 2,
|
|
24
|
+
s: 2,
|
|
25
|
+
astro: 3,
|
|
26
|
+
bash: 4,
|
|
27
|
+
sh: 4,
|
|
28
|
+
shell: 4,
|
|
29
|
+
shellscript: 4,
|
|
30
|
+
shellsession: 4,
|
|
31
|
+
zsh: 4,
|
|
32
|
+
bat: 5,
|
|
33
|
+
batch: 5,
|
|
34
|
+
batchfile: 5,
|
|
35
|
+
cmd: 5,
|
|
36
|
+
dos: 5,
|
|
37
|
+
c: 6,
|
|
38
|
+
h: 6,
|
|
39
|
+
c3: 7,
|
|
40
|
+
clj: 8,
|
|
41
|
+
cljc: 8,
|
|
42
|
+
cljs: 8,
|
|
43
|
+
clojure: 8,
|
|
44
|
+
edn: 8,
|
|
45
|
+
cmake: 9,
|
|
46
|
+
"c++": 10,
|
|
47
|
+
cc: 10,
|
|
48
|
+
cpp: 10,
|
|
49
|
+
cxx: 10,
|
|
50
|
+
hh: 10,
|
|
51
|
+
hpp: 10,
|
|
52
|
+
hxx: 10,
|
|
53
|
+
"c#": 11,
|
|
54
|
+
cs: 11,
|
|
55
|
+
csharp: 11,
|
|
56
|
+
css: 12,
|
|
57
|
+
cu: 13,
|
|
58
|
+
cuda: 13,
|
|
59
|
+
cuh: 13,
|
|
60
|
+
dart: 14,
|
|
61
|
+
diff: 15,
|
|
62
|
+
"git-commit": 15,
|
|
63
|
+
"git-rebase": 15,
|
|
64
|
+
patch: 15,
|
|
65
|
+
containerfile: 16,
|
|
66
|
+
docker: 16,
|
|
67
|
+
dockerfile: 16,
|
|
68
|
+
elixir: 17,
|
|
69
|
+
ex: 17,
|
|
70
|
+
exs: 17,
|
|
71
|
+
elm: 18,
|
|
72
|
+
erl: 19,
|
|
73
|
+
erlang: 19,
|
|
74
|
+
hrl: 19,
|
|
75
|
+
f03: 20,
|
|
76
|
+
f08: 20,
|
|
77
|
+
f90: 20,
|
|
78
|
+
f95: 20,
|
|
79
|
+
fortran: 20,
|
|
80
|
+
"fortran-free-form": 20,
|
|
81
|
+
f: 21,
|
|
82
|
+
f77: 21,
|
|
83
|
+
for: 21,
|
|
84
|
+
"fortran-fixed-form": 21,
|
|
85
|
+
"f#": 22,
|
|
86
|
+
fs: 22,
|
|
87
|
+
fsharp: 22,
|
|
88
|
+
fsi: 22,
|
|
89
|
+
fsx: 22,
|
|
90
|
+
gdresource: 23,
|
|
91
|
+
"godot-resource": 23,
|
|
92
|
+
tres: 23,
|
|
93
|
+
tscn: 23,
|
|
94
|
+
gd: 24,
|
|
95
|
+
gdscript: 24,
|
|
96
|
+
gdshader: 25,
|
|
97
|
+
gdshaderinc: 25,
|
|
98
|
+
"godot-shader": 25,
|
|
99
|
+
gleam: 26,
|
|
100
|
+
comp: 27,
|
|
101
|
+
frag: 27,
|
|
102
|
+
geom: 27,
|
|
103
|
+
glsl: 27,
|
|
104
|
+
vert: 27,
|
|
105
|
+
go: 28,
|
|
106
|
+
golang: 28,
|
|
107
|
+
gql: 29,
|
|
108
|
+
graphql: 29,
|
|
109
|
+
gradle: 30,
|
|
110
|
+
groovy: 30,
|
|
111
|
+
gsh: 30,
|
|
112
|
+
gvy: 30,
|
|
113
|
+
gy: 30,
|
|
114
|
+
haskell: 31,
|
|
115
|
+
hs: 31,
|
|
116
|
+
hlsl: 32,
|
|
117
|
+
htm: 33,
|
|
118
|
+
html: 33,
|
|
119
|
+
java: 34,
|
|
120
|
+
cjs: 35,
|
|
121
|
+
javascript: 35,
|
|
122
|
+
js: 35,
|
|
123
|
+
mjs: 35,
|
|
124
|
+
json: 36,
|
|
125
|
+
jsonc: 36,
|
|
126
|
+
json5: 37,
|
|
127
|
+
jsonl: 38,
|
|
128
|
+
jsx: 39,
|
|
129
|
+
jl: 40,
|
|
130
|
+
julia: 40,
|
|
131
|
+
kotlin: 41,
|
|
132
|
+
kt: 41,
|
|
133
|
+
kts: 41,
|
|
134
|
+
latex: 42,
|
|
135
|
+
tex: 42,
|
|
136
|
+
less: 43,
|
|
137
|
+
cl: 44,
|
|
138
|
+
el: 44,
|
|
139
|
+
elisp: 44,
|
|
140
|
+
"emacs-lisp": 44,
|
|
141
|
+
lisp: 44,
|
|
142
|
+
lsp: 44,
|
|
143
|
+
scheme: 44,
|
|
144
|
+
scm: 44,
|
|
145
|
+
lua: 45,
|
|
146
|
+
make: 46,
|
|
147
|
+
makefile: 46,
|
|
148
|
+
mk: 46,
|
|
149
|
+
markdown: 47,
|
|
150
|
+
md: 47,
|
|
151
|
+
matlab: 48,
|
|
152
|
+
octave: 48,
|
|
153
|
+
mdx: 49,
|
|
154
|
+
nim: 50,
|
|
155
|
+
nix: 51,
|
|
156
|
+
m: 52,
|
|
157
|
+
mm: 52,
|
|
158
|
+
objc: 52,
|
|
159
|
+
objcpp: 52,
|
|
160
|
+
"objective-c": 52,
|
|
161
|
+
"objective-cpp": 52,
|
|
162
|
+
objectivec: 52,
|
|
163
|
+
ml: 53,
|
|
164
|
+
mli: 53,
|
|
165
|
+
ocaml: 53,
|
|
166
|
+
delphi: 54,
|
|
167
|
+
dpk: 54,
|
|
168
|
+
dpr: 54,
|
|
169
|
+
lpr: 54,
|
|
170
|
+
"object-pascal": 54,
|
|
171
|
+
objectpascal: 54,
|
|
172
|
+
pas: 54,
|
|
173
|
+
pascal: 54,
|
|
174
|
+
pp: 54,
|
|
175
|
+
perl: 55,
|
|
176
|
+
pl: 55,
|
|
177
|
+
pm: 55,
|
|
178
|
+
php: 56,
|
|
179
|
+
powershell: 57,
|
|
180
|
+
ps: 57,
|
|
181
|
+
ps1: 57,
|
|
182
|
+
psd1: 57,
|
|
183
|
+
psm1: 57,
|
|
184
|
+
pwsh: 57,
|
|
185
|
+
proto: 58,
|
|
186
|
+
protobuf: 58,
|
|
187
|
+
py: 59,
|
|
188
|
+
python: 59,
|
|
189
|
+
r: 60,
|
|
190
|
+
rscript: 60,
|
|
191
|
+
rb: 61,
|
|
192
|
+
ruby: 61,
|
|
193
|
+
rs: 62,
|
|
194
|
+
rust: 62,
|
|
195
|
+
sass: 63,
|
|
196
|
+
sbt: 64,
|
|
197
|
+
sc: 64,
|
|
198
|
+
scala: 64,
|
|
199
|
+
scss: 65,
|
|
200
|
+
sol: 66,
|
|
201
|
+
solidity: 66,
|
|
202
|
+
sql: 67,
|
|
203
|
+
svelte: 68,
|
|
204
|
+
swift: 69,
|
|
205
|
+
hcl: 70,
|
|
206
|
+
terraform: 70,
|
|
207
|
+
tf: 70,
|
|
208
|
+
tfvars: 70,
|
|
209
|
+
toml: 71,
|
|
210
|
+
"angular-ts": 72,
|
|
211
|
+
cts: 72,
|
|
212
|
+
mts: 72,
|
|
213
|
+
ts: 72,
|
|
214
|
+
typescript: 72,
|
|
215
|
+
tsrx: 73,
|
|
216
|
+
tsx: 74,
|
|
217
|
+
vue: 75,
|
|
218
|
+
wasm: 76,
|
|
219
|
+
wat: 76,
|
|
220
|
+
wgsl: 77,
|
|
221
|
+
svg: 78,
|
|
222
|
+
xml: 78,
|
|
223
|
+
xsd: 78,
|
|
224
|
+
yaml: 79,
|
|
225
|
+
yml: 79,
|
|
226
|
+
zig: 80,
|
|
227
|
+
zon: 80
|
|
228
|
+
};
|
|
229
|
+
|
|
230
|
+
// node_modules/@pierre/highlights/dist/token-types.js
|
|
231
|
+
var tokenTypes = [
|
|
232
|
+
"none",
|
|
233
|
+
"attribute",
|
|
234
|
+
"attribute.jsx",
|
|
235
|
+
"boolean",
|
|
236
|
+
"comment",
|
|
237
|
+
"comment.doc",
|
|
238
|
+
"constant",
|
|
239
|
+
"constant.builtin",
|
|
240
|
+
"constructor",
|
|
241
|
+
"diff.minus",
|
|
242
|
+
"diff.plus",
|
|
243
|
+
"embedded",
|
|
244
|
+
"emphasis",
|
|
245
|
+
"emphasis.strong",
|
|
246
|
+
"function",
|
|
247
|
+
"function.definition",
|
|
248
|
+
"function.method",
|
|
249
|
+
"keyword",
|
|
250
|
+
"keyword.control",
|
|
251
|
+
"keyword.declaration",
|
|
252
|
+
"keyword.import",
|
|
253
|
+
"keyword.operator",
|
|
254
|
+
"label",
|
|
255
|
+
"namespace",
|
|
256
|
+
"number",
|
|
257
|
+
"operator",
|
|
258
|
+
"predictive",
|
|
259
|
+
"preproc",
|
|
260
|
+
"primary",
|
|
261
|
+
"property",
|
|
262
|
+
"property.json_key",
|
|
263
|
+
"punctuation",
|
|
264
|
+
"punctuation.bracket",
|
|
265
|
+
"punctuation.bracket.html",
|
|
266
|
+
"punctuation.bracket.jsx",
|
|
267
|
+
"punctuation.delimiter",
|
|
268
|
+
"punctuation.delimiter.html",
|
|
269
|
+
"punctuation.delimiter.jsx",
|
|
270
|
+
"punctuation.list_marker",
|
|
271
|
+
"punctuation.markup",
|
|
272
|
+
"punctuation.special",
|
|
273
|
+
"selector",
|
|
274
|
+
"selector.class",
|
|
275
|
+
"selector.id",
|
|
276
|
+
"string",
|
|
277
|
+
"string.escape",
|
|
278
|
+
"string.regex",
|
|
279
|
+
"string.special",
|
|
280
|
+
"string.special.symbol",
|
|
281
|
+
"tag",
|
|
282
|
+
"tag.doctype",
|
|
283
|
+
"tag.jsx",
|
|
284
|
+
"text.jsx",
|
|
285
|
+
"text.literal",
|
|
286
|
+
"title",
|
|
287
|
+
"type",
|
|
288
|
+
"type.builtin",
|
|
289
|
+
"type.class",
|
|
290
|
+
"variable",
|
|
291
|
+
"variable.parameter",
|
|
292
|
+
"variable.special",
|
|
293
|
+
"enum",
|
|
294
|
+
"hint",
|
|
295
|
+
"keyword.jsdoc",
|
|
296
|
+
"link_text",
|
|
297
|
+
"link_uri",
|
|
298
|
+
"selector.pseudo",
|
|
299
|
+
"tag.component.jsx",
|
|
300
|
+
"type.jsdoc",
|
|
301
|
+
"variable.jsdoc",
|
|
302
|
+
"variant",
|
|
303
|
+
"background",
|
|
304
|
+
"foreground"
|
|
305
|
+
];
|
|
306
|
+
|
|
307
|
+
// node_modules/@pierre/highlights/dist/theme.js
|
|
308
|
+
var defaultCssVariablePrefix = "--hls-";
|
|
309
|
+
var enc = new TextEncoder();
|
|
310
|
+
var colorReg = /^#([a-f0-9]{3,4}|[a-f0-9]{6}|[a-f0-9]{8})$/i;
|
|
311
|
+
var displayP3Reg = /^color\(display-p3\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)\s+[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:\s*\/\s*[+-]?(?:\d+(?:\.\d*)?|\.\d+))?\s*\)$/i;
|
|
312
|
+
function isThemeColor(value) {
|
|
313
|
+
return typeof value === "string" && (colorReg.test(value.trim()) || displayP3Reg.test(value.trim()));
|
|
314
|
+
}
|
|
315
|
+
function themeForeground(style) {
|
|
316
|
+
return style["editor.foreground"] ?? style.text ?? style.foreground;
|
|
317
|
+
}
|
|
318
|
+
function themeBackground(style) {
|
|
319
|
+
return style["editor.background"] ?? style.background;
|
|
320
|
+
}
|
|
321
|
+
function describeThemeValue(value) {
|
|
322
|
+
if (value === null) return "null";
|
|
323
|
+
if (value === void 0) return "undefined";
|
|
324
|
+
if (typeof value === "string") return `the string ${JSON.stringify(value)} (theme ids are not supported; import the theme object from "@pierre/highlights/themes")`;
|
|
325
|
+
if (Array.isArray(value)) return "an array";
|
|
326
|
+
if (typeof value === "object") {
|
|
327
|
+
if ("themes" in value && Array.isArray(value.themes)) return `a ThemeFamily whose first member is ${describeThemeValue(value.themes[0])}`;
|
|
328
|
+
return "an object without a `name`";
|
|
329
|
+
}
|
|
330
|
+
return `a ${typeof value}`;
|
|
331
|
+
}
|
|
332
|
+
function isThemeObject(value) {
|
|
333
|
+
return value != null && typeof value === "object" && "name" in value && typeof value.name === "string" && value.name !== "";
|
|
334
|
+
}
|
|
335
|
+
function resolveTheme(theme) {
|
|
336
|
+
const resolved = theme != null && typeof theme === "object" && "themes" in theme && theme.themes != null ? theme.themes[0] : theme;
|
|
337
|
+
if (!isThemeObject(resolved)) throw new TypeError(`invalid theme: expected a Theme or ThemeFamily object, received ${describeThemeValue(theme)}`);
|
|
338
|
+
return resolved;
|
|
339
|
+
}
|
|
340
|
+
function resolveThemeSyntax(syntax, name) {
|
|
341
|
+
let settings;
|
|
342
|
+
for (let k = name; k !== ""; ) {
|
|
343
|
+
const v = syntax[k];
|
|
344
|
+
if (typeof v === "string") return {
|
|
345
|
+
...settings,
|
|
346
|
+
color: v
|
|
347
|
+
};
|
|
348
|
+
if (v != null && typeof v === "object") {
|
|
349
|
+
settings ??= v;
|
|
350
|
+
if (v.color != null) return {
|
|
351
|
+
...settings,
|
|
352
|
+
color: v.color
|
|
353
|
+
};
|
|
354
|
+
}
|
|
355
|
+
const dot = k.lastIndexOf(".");
|
|
356
|
+
k = dot < 0 ? "" : k.slice(0, dot);
|
|
357
|
+
}
|
|
358
|
+
return settings;
|
|
359
|
+
}
|
|
360
|
+
function resolveThemeStyle(style, name) {
|
|
361
|
+
let color;
|
|
362
|
+
let font_style;
|
|
363
|
+
let font_weight;
|
|
364
|
+
if (name === "background") color = themeBackground(style);
|
|
365
|
+
else if (name === "foreground") color = themeForeground(style);
|
|
366
|
+
else {
|
|
367
|
+
({ color, font_style, font_weight } = resolveThemeSyntax(style.syntax ?? {}, name) ?? {});
|
|
368
|
+
if (font_style != null || font_weight != null) color ??= themeForeground(style);
|
|
369
|
+
}
|
|
370
|
+
if (isThemeColor(color)) {
|
|
371
|
+
color = color.trim().toLowerCase();
|
|
372
|
+
if (color.startsWith("#")) {
|
|
373
|
+
if (color.length <= 5) color = color.replace(/[^#]/g, "$&$&");
|
|
374
|
+
if (color.length === 9 && color.endsWith("ff")) color = color.slice(0, 7);
|
|
375
|
+
if (color === "#00000000") color = void 0;
|
|
376
|
+
}
|
|
377
|
+
} else color = void 0;
|
|
378
|
+
return {
|
|
379
|
+
color,
|
|
380
|
+
italic: font_style === "italic",
|
|
381
|
+
weight: font_weight != null && font_weight >= 100 && font_weight <= 900 ? Math.round(font_weight / 100) * 100 : 0
|
|
382
|
+
};
|
|
383
|
+
}
|
|
384
|
+
function cssVariable(name, cssVariablePrefix) {
|
|
385
|
+
return `var(${cssVariablePrefix}${name.replace(/[._]/g, "-")})`;
|
|
386
|
+
}
|
|
387
|
+
function escapeAttribute(value) {
|
|
388
|
+
return value.replaceAll("&", "&").replaceAll('"', """).replaceAll("<", "<").replaceAll(">", ">");
|
|
389
|
+
}
|
|
390
|
+
function packHtmlOpeners(openers) {
|
|
391
|
+
const bytes = openers.map((opener) => enc.encode(opener));
|
|
392
|
+
let offset = 4 + 8 * bytes.length;
|
|
393
|
+
const blob = new Uint8Array(offset + bytes.reduce((sum, entry) => sum + entry.length, 0));
|
|
394
|
+
const dv = new DataView(blob.buffer);
|
|
395
|
+
let spanReserve = 32;
|
|
396
|
+
for (let i = 0; i < bytes.length; i++) {
|
|
397
|
+
dv.setUint32(4 + 8 * i, offset, true);
|
|
398
|
+
dv.setUint32(8 + 8 * i, bytes[i].length, true);
|
|
399
|
+
blob.set(bytes[i], offset);
|
|
400
|
+
offset += bytes[i].length;
|
|
401
|
+
if (i !== 0) spanReserve = Math.max(spanReserve, bytes[i].length + 32);
|
|
402
|
+
}
|
|
403
|
+
dv.setUint32(0, spanReserve, true);
|
|
404
|
+
return blob;
|
|
405
|
+
}
|
|
406
|
+
var preparedCache = /* @__PURE__ */ new WeakMap();
|
|
407
|
+
function prepareTheme(theme, cssVariablePrefix = defaultCssVariablePrefix) {
|
|
408
|
+
const resolved = resolveTheme(theme);
|
|
409
|
+
const prefix = resolved.cssVariables === true ? cssVariablePrefix : "";
|
|
410
|
+
let prefixes = preparedCache.get(resolved);
|
|
411
|
+
const cached = prefixes?.get(prefix);
|
|
412
|
+
if (cached !== void 0) return cached;
|
|
413
|
+
const prepared = resolved.cssVariables === true ? prepareCssVariables(resolved.name, cssVariablePrefix) : typeof resolved.cssVariables === "object" ? prepareCssPalette(resolved) : prepareStyles(resolved);
|
|
414
|
+
if (prefixes === void 0) {
|
|
415
|
+
prefixes = /* @__PURE__ */ new Map();
|
|
416
|
+
preparedCache.set(resolved, prefixes);
|
|
417
|
+
}
|
|
418
|
+
prefixes.set(prefix, prepared);
|
|
419
|
+
return prepared;
|
|
420
|
+
}
|
|
421
|
+
function prepareCssPalette(theme) {
|
|
422
|
+
const config = theme.cssVariables;
|
|
423
|
+
if (typeof config !== "object") throw new Error("Expected CSS palette");
|
|
424
|
+
const prefix = config.prefix ?? "--hls-";
|
|
425
|
+
const variable = (name) => {
|
|
426
|
+
const fallback = config.defaults?.[name];
|
|
427
|
+
return `var(${prefix}${name}${fallback ? `, ${fallback}` : ""})`;
|
|
428
|
+
};
|
|
429
|
+
const styles = new Array(tokenTypes.length).fill(null);
|
|
430
|
+
const syntax = theme.style.syntax ?? {};
|
|
431
|
+
for (let i = 1; i < tokenTypes.length; i++) {
|
|
432
|
+
const setting = resolveThemeSyntax(syntax, tokenTypes[i]);
|
|
433
|
+
styles[i] = {
|
|
434
|
+
color: variable(setting?.color ?? "foreground"),
|
|
435
|
+
italic: setting?.font_style === "italic",
|
|
436
|
+
weight: setting?.font_weight === void 0 ? 0 : Math.round(setting.font_weight / 100) * 100
|
|
437
|
+
};
|
|
438
|
+
}
|
|
439
|
+
const fg = variable(themeForeground(theme.style) ?? "foreground");
|
|
440
|
+
const bg = variable(themeBackground(theme.style) ?? "background");
|
|
441
|
+
let htmlOpeners;
|
|
442
|
+
return {
|
|
443
|
+
name: theme.name,
|
|
444
|
+
styles,
|
|
445
|
+
fg,
|
|
446
|
+
bg,
|
|
447
|
+
table: void 0,
|
|
448
|
+
get htmlOpeners() {
|
|
449
|
+
return htmlOpeners ??= themeHtmlOpeners(styles, fg, bg);
|
|
450
|
+
}
|
|
451
|
+
};
|
|
452
|
+
}
|
|
453
|
+
function prepareCssVariables(name, cssVariablePrefix) {
|
|
454
|
+
let variables;
|
|
455
|
+
const resolve = () => variables ??= cssVariableStyles(cssVariablePrefix);
|
|
456
|
+
return {
|
|
457
|
+
name,
|
|
458
|
+
get styles() {
|
|
459
|
+
return resolve().styles;
|
|
460
|
+
},
|
|
461
|
+
get fg() {
|
|
462
|
+
return resolve().fg;
|
|
463
|
+
},
|
|
464
|
+
get bg() {
|
|
465
|
+
return resolve().bg;
|
|
466
|
+
},
|
|
467
|
+
table: void 0,
|
|
468
|
+
htmlOpeners: void 0
|
|
469
|
+
};
|
|
470
|
+
}
|
|
471
|
+
function cssVariableStyles(cssVariablePrefix) {
|
|
472
|
+
const styles = new Array(tokenTypes.length).fill(null);
|
|
473
|
+
for (let i = 1; i < tokenTypes.length; i++) styles[i] = {
|
|
474
|
+
color: cssVariable(tokenTypes[i], cssVariablePrefix),
|
|
475
|
+
italic: false,
|
|
476
|
+
weight: 0
|
|
477
|
+
};
|
|
478
|
+
return {
|
|
479
|
+
styles,
|
|
480
|
+
fg: cssVariable("foreground", cssVariablePrefix),
|
|
481
|
+
bg: cssVariable("background", cssVariablePrefix)
|
|
482
|
+
};
|
|
483
|
+
}
|
|
484
|
+
function prepareStyles(theme) {
|
|
485
|
+
const themeStyle = theme.style ?? {};
|
|
486
|
+
const styles = new Array(tokenTypes.length).fill(null);
|
|
487
|
+
const table = new Uint8Array(tokenTypes.length * 5);
|
|
488
|
+
let fg;
|
|
489
|
+
let bg;
|
|
490
|
+
let usesDisplayP3 = false;
|
|
491
|
+
for (let i = 1; i < tokenTypes.length; i++) {
|
|
492
|
+
const name = tokenTypes[i];
|
|
493
|
+
const style = resolveThemeStyle(themeStyle, name);
|
|
494
|
+
const { color, italic, weight } = style;
|
|
495
|
+
const o = i * 5;
|
|
496
|
+
if (color !== void 0) {
|
|
497
|
+
if (color.startsWith("#")) {
|
|
498
|
+
const rgb = parseInt(color.slice(1, 7), 16);
|
|
499
|
+
table[o] = rgb >> 16;
|
|
500
|
+
table[o + 1] = rgb >> 8 & 255;
|
|
501
|
+
table[o + 2] = rgb & 255;
|
|
502
|
+
table[o + 3] = color.length === 9 ? parseInt(color.slice(7), 16) : 255;
|
|
503
|
+
} else usesDisplayP3 = true;
|
|
504
|
+
}
|
|
505
|
+
table[o + 4] = (italic ? 16 : 0) | weight / 100;
|
|
506
|
+
if (color === void 0 && !italic && weight === 0) continue;
|
|
507
|
+
if (name === "foreground") fg = color;
|
|
508
|
+
else if (name === "background") bg = color;
|
|
509
|
+
else styles[i] = style;
|
|
510
|
+
}
|
|
511
|
+
let htmlOpeners;
|
|
512
|
+
return {
|
|
513
|
+
name: theme.name,
|
|
514
|
+
styles,
|
|
515
|
+
fg,
|
|
516
|
+
bg,
|
|
517
|
+
table: usesDisplayP3 ? void 0 : table,
|
|
518
|
+
get htmlOpeners() {
|
|
519
|
+
if (!usesDisplayP3) return void 0;
|
|
520
|
+
return htmlOpeners ??= themeHtmlOpeners(styles, fg, bg);
|
|
521
|
+
}
|
|
522
|
+
};
|
|
523
|
+
}
|
|
524
|
+
function themeHtmlOpeners(styles, fg, bg) {
|
|
525
|
+
const openers = [`<pre class="highlights" style="${escapeAttribute((bg === void 0 ? "" : `background-color:${bg};`) + (fg === void 0 ? "" : `color:${fg}`))}"><code>`];
|
|
526
|
+
for (let i = 1; i < tokenTypes.length; i++) {
|
|
527
|
+
const style = styles[i];
|
|
528
|
+
const css = `color:${style?.color ?? "inherit"}` + (style?.italic === true ? ";font-style:italic" : "") + (style != null && style.weight !== 0 ? `;font-weight:${style.weight}` : "");
|
|
529
|
+
openers.push(`<span style="${escapeAttribute(css)}">`);
|
|
530
|
+
}
|
|
531
|
+
return packHtmlOpeners(openers);
|
|
532
|
+
}
|
|
533
|
+
|
|
534
|
+
// node_modules/@pierre/highlights/dist/tokens.js
|
|
535
|
+
var enc2 = new TextEncoder();
|
|
536
|
+
var standardTypes = new Uint8Array(tokenTypes.length);
|
|
537
|
+
for (let i = 0; i < tokenTypes.length; i++) {
|
|
538
|
+
const name = tokenTypes[i];
|
|
539
|
+
if (name === "string.regex") standardTypes[i] = 3;
|
|
540
|
+
else if (name === "comment" || name.startsWith("comment.")) standardTypes[i] = 1;
|
|
541
|
+
else if (name === "string" || name.startsWith("string.")) standardTypes[i] = 2;
|
|
542
|
+
}
|
|
543
|
+
var htmlStyleCache = /* @__PURE__ */ new WeakMap();
|
|
544
|
+
var blobCache = /* @__PURE__ */ new WeakMap();
|
|
545
|
+
var nextBlobId = 1;
|
|
546
|
+
var htmlOpenersCache = /* @__PURE__ */ new WeakMap();
|
|
547
|
+
var resolvedSetCache = /* @__PURE__ */ new WeakMap();
|
|
548
|
+
var preparedIds = /* @__PURE__ */ new WeakMap();
|
|
549
|
+
var nextPreparedId = 0;
|
|
550
|
+
function preparedId(prepared) {
|
|
551
|
+
let id = preparedIds.get(prepared);
|
|
552
|
+
if (id === void 0) {
|
|
553
|
+
id = nextPreparedId++;
|
|
554
|
+
preparedIds.set(prepared, id);
|
|
555
|
+
}
|
|
556
|
+
return id;
|
|
557
|
+
}
|
|
558
|
+
function tagTheme({ name, styles, fg, bg, table }, color, role) {
|
|
559
|
+
return {
|
|
560
|
+
color,
|
|
561
|
+
role,
|
|
562
|
+
name,
|
|
563
|
+
styles,
|
|
564
|
+
fg,
|
|
565
|
+
bg,
|
|
566
|
+
table
|
|
567
|
+
};
|
|
568
|
+
}
|
|
569
|
+
function resolveOptionThemes(options) {
|
|
570
|
+
const { cssVariablePrefix } = options;
|
|
571
|
+
if (options.themes == null) return [tagTheme(prepareTheme(options.theme, cssVariablePrefix), null, "single")];
|
|
572
|
+
const entries = Object.entries(options.themes).filter(([, t]) => t != null).sort(([a], [b2]) => a < b2 ? -1 : 1);
|
|
573
|
+
if (entries.length === 0) throw new TypeError("themes must not be empty");
|
|
574
|
+
const defaultColor = options.defaultColor ?? "light";
|
|
575
|
+
let roles;
|
|
576
|
+
if (defaultColor === "light-dark()") {
|
|
577
|
+
const light = entries.find(([key2]) => key2 === "light");
|
|
578
|
+
const dark = entries.find(([key2]) => key2 === "dark");
|
|
579
|
+
if (light === void 0 || dark === void 0) throw new TypeError("`themes` must contain `light` and `dark` when defaultColor is 'light-dark()'");
|
|
580
|
+
entries.splice(0, entries.length, light, dark);
|
|
581
|
+
roles = ["light-dark", "light-dark"];
|
|
582
|
+
} else {
|
|
583
|
+
if (defaultColor !== false) {
|
|
584
|
+
const at = entries.findIndex(([key2]) => key2 === defaultColor);
|
|
585
|
+
if (at < 0) throw new TypeError(`\`themes\` must contain the defaultColor key \`${defaultColor}\``);
|
|
586
|
+
entries.unshift(...entries.splice(at, 1));
|
|
587
|
+
}
|
|
588
|
+
roles = entries.map((_, i) => defaultColor !== false && i === 0 ? "default" : "variable");
|
|
589
|
+
}
|
|
590
|
+
const prepared = entries.map(([, theme]) => prepareTheme(theme, cssVariablePrefix));
|
|
591
|
+
const key = JSON.stringify(entries.map(([color], i) => [
|
|
592
|
+
preparedId(prepared[i]),
|
|
593
|
+
roles[i],
|
|
594
|
+
color
|
|
595
|
+
]));
|
|
596
|
+
let sets = resolvedSetCache.get(prepared[0]);
|
|
597
|
+
const cached = sets?.get(key);
|
|
598
|
+
if (cached !== void 0) return cached;
|
|
599
|
+
const themes = entries.map(([color], i) => tagTheme(prepared[i], color, roles[i]));
|
|
600
|
+
if (sets === void 0) {
|
|
601
|
+
sets = /* @__PURE__ */ new Map();
|
|
602
|
+
resolvedSetCache.set(prepared[0], sets);
|
|
603
|
+
}
|
|
604
|
+
sets.set(key, themes);
|
|
605
|
+
if (sets.size > 128) {
|
|
606
|
+
const oldest = sets.keys().next().value;
|
|
607
|
+
if (oldest !== void 0) sets.delete(oldest);
|
|
608
|
+
}
|
|
609
|
+
return themes;
|
|
610
|
+
}
|
|
611
|
+
function rangeToToken(code, start, end, hl, themes, cssVariablePrefix, offsetBase = 0) {
|
|
612
|
+
const token = {
|
|
613
|
+
content: code.slice(start, end),
|
|
614
|
+
offset: start + offsetBase
|
|
615
|
+
};
|
|
616
|
+
if (themes[0].role === "single") {
|
|
617
|
+
const { styles, fg } = themes[0];
|
|
618
|
+
const style = styles[hl];
|
|
619
|
+
token.color = style?.color ?? fg;
|
|
620
|
+
let bits = 0;
|
|
621
|
+
if (style?.italic === true) bits |= 1;
|
|
622
|
+
if ((style?.weight ?? 0) >= 600) bits |= 2;
|
|
623
|
+
token.fontStyle = bits;
|
|
624
|
+
} else token.htmlStyle = themeHtmlStyle(themes, hl, cssVariablePrefix);
|
|
625
|
+
const type = standardTypes[hl];
|
|
626
|
+
if (type !== 0) token.type = type;
|
|
627
|
+
return token;
|
|
628
|
+
}
|
|
629
|
+
function themeHtmlStyles(themes, cssVariablePrefix) {
|
|
630
|
+
let prefixes = htmlStyleCache.get(themes);
|
|
631
|
+
if (prefixes === void 0) {
|
|
632
|
+
prefixes = /* @__PURE__ */ new Map();
|
|
633
|
+
htmlStyleCache.set(themes, prefixes);
|
|
634
|
+
}
|
|
635
|
+
let slots = prefixes.get(cssVariablePrefix);
|
|
636
|
+
if (slots === void 0) {
|
|
637
|
+
slots = [];
|
|
638
|
+
prefixes.set(cssVariablePrefix, slots);
|
|
639
|
+
}
|
|
640
|
+
return slots;
|
|
641
|
+
}
|
|
642
|
+
function themeHtmlStyle(themes, hl, cssVariablePrefix) {
|
|
643
|
+
const slots = themeHtmlStyles(themes, cssVariablePrefix);
|
|
644
|
+
let htmlStyle = slots[hl];
|
|
645
|
+
if (htmlStyle === void 0) {
|
|
646
|
+
if (themes[0].role === "light-dark") htmlStyle = lightDarkStyle(themes, hl, cssVariablePrefix);
|
|
647
|
+
else {
|
|
648
|
+
htmlStyle = {};
|
|
649
|
+
for (const { color, role, styles, fg } of themes) {
|
|
650
|
+
const style = styles[hl];
|
|
651
|
+
const plain = role === "default";
|
|
652
|
+
htmlStyle[plain ? "color" : cssVariablePrefix + color] = style?.color ?? fg ?? "inherit";
|
|
653
|
+
if (style?.italic === true) htmlStyle[plain ? "font-style" : `${cssVariablePrefix}${color}-font-style`] = "italic";
|
|
654
|
+
if (style != null && style.weight !== 0) htmlStyle[plain ? "font-weight" : `${cssVariablePrefix}${color}-font-weight`] = String(style.weight);
|
|
655
|
+
}
|
|
656
|
+
}
|
|
657
|
+
slots[hl] = htmlStyle;
|
|
658
|
+
}
|
|
659
|
+
return htmlStyle;
|
|
660
|
+
}
|
|
661
|
+
function multiThemeBlob(themes, cssVariablePrefix) {
|
|
662
|
+
let prefixes = blobCache.get(themes);
|
|
663
|
+
if (prefixes === void 0) {
|
|
664
|
+
prefixes = /* @__PURE__ */ new Map();
|
|
665
|
+
blobCache.set(themes, prefixes);
|
|
666
|
+
}
|
|
667
|
+
const cached = prefixes.get(cssVariablePrefix);
|
|
668
|
+
if (cached !== void 0) return cached ?? void 0;
|
|
669
|
+
const count = themes.length;
|
|
670
|
+
if (!(count <= 255 && themes.every((t) => t.table !== void 0))) {
|
|
671
|
+
prefixes.set(cssVariablePrefix, null);
|
|
672
|
+
return;
|
|
673
|
+
}
|
|
674
|
+
const names = themes.map((t) => t.role === "default" ? /* @__PURE__ */ new Uint8Array(0) : enc2.encode(escapeAttribute(`${cssVariablePrefix}${t.color}`)));
|
|
675
|
+
const tablesOffset = 32 + 16 * count;
|
|
676
|
+
const namesOffset = tablesOffset + 384 * count;
|
|
677
|
+
let spanReserve = 64;
|
|
678
|
+
let prologueReserve = 128;
|
|
679
|
+
let nameBytes = 0;
|
|
680
|
+
for (const { length } of names) {
|
|
681
|
+
spanReserve += 64 + 3 * length;
|
|
682
|
+
prologueReserve += 48 + 2 * length;
|
|
683
|
+
nameBytes += length;
|
|
684
|
+
}
|
|
685
|
+
const blob = new Uint8Array(namesOffset + nameBytes);
|
|
686
|
+
const dv = new DataView(blob.buffer);
|
|
687
|
+
blob[0] = count;
|
|
688
|
+
blob[1] = themes[0].role === "light-dark" ? 1 : 0;
|
|
689
|
+
dv.setUint32(4, tablesOffset, true);
|
|
690
|
+
dv.setUint32(8, spanReserve, true);
|
|
691
|
+
dv.setUint32(12, prologueReserve, true);
|
|
692
|
+
dv.setUint32(16, nextBlobId++, true);
|
|
693
|
+
let nameOffset = namesOffset;
|
|
694
|
+
for (let i = 0; i < count; i++) {
|
|
695
|
+
const slot = 32 + 16 * i;
|
|
696
|
+
dv.setUint32(slot, nameOffset, true);
|
|
697
|
+
dv.setUint32(slot + 4, names[i].length, true);
|
|
698
|
+
dv.setUint32(slot + 8, themes[i].role === "default" ? 1 : 0, true);
|
|
699
|
+
blob.set(themes[i].table, tablesOffset + 384 * i);
|
|
700
|
+
blob.set(names[i], nameOffset);
|
|
701
|
+
nameOffset += names[i].length;
|
|
702
|
+
}
|
|
703
|
+
prefixes.set(cssVariablePrefix, blob);
|
|
704
|
+
return blob;
|
|
705
|
+
}
|
|
706
|
+
function multiThemeHtmlOpeners(themes, cssVariablePrefix) {
|
|
707
|
+
let prefixes = htmlOpenersCache.get(themes);
|
|
708
|
+
if (prefixes === void 0) {
|
|
709
|
+
prefixes = /* @__PURE__ */ new Map();
|
|
710
|
+
htmlOpenersCache.set(themes, prefixes);
|
|
711
|
+
}
|
|
712
|
+
const cached = prefixes.get(cssVariablePrefix);
|
|
713
|
+
if (cached !== void 0) return cached;
|
|
714
|
+
const { fg, bg, rootStyle } = themeMeta(themes, cssVariablePrefix);
|
|
715
|
+
const openers = [`<pre class="highlights" style="${escapeAttribute(rootStyle ?? `background-color:${bg};color:${fg}`)}"><code>`];
|
|
716
|
+
for (let hl = 1; hl < tokenTypes.length; hl++) {
|
|
717
|
+
const htmlStyle = themeHtmlStyle(themes, hl, cssVariablePrefix);
|
|
718
|
+
let css = "";
|
|
719
|
+
for (const property in htmlStyle) css += `${css === "" ? "" : ";"}${property}:${htmlStyle[property]}`;
|
|
720
|
+
openers.push(`<span style="${escapeAttribute(css)}">`);
|
|
721
|
+
}
|
|
722
|
+
const blob = packHtmlOpeners(openers);
|
|
723
|
+
prefixes.set(cssVariablePrefix, blob);
|
|
724
|
+
return blob;
|
|
725
|
+
}
|
|
726
|
+
function lightDarkStyle(themes, hl, cssVariablePrefix) {
|
|
727
|
+
const [light, dark] = themes;
|
|
728
|
+
const a = light.styles[hl];
|
|
729
|
+
const b2 = dark.styles[hl];
|
|
730
|
+
const ac = a?.color ?? light.fg ?? "currentcolor";
|
|
731
|
+
const bc = b2?.color ?? dark.fg ?? "currentcolor";
|
|
732
|
+
const htmlStyle = { color: ac === bc ? ac : `light-dark(${ac}, ${bc})` };
|
|
733
|
+
const ai = a?.italic === true;
|
|
734
|
+
const bi = b2?.italic === true;
|
|
735
|
+
if (ai && bi) htmlStyle["font-style"] = "italic";
|
|
736
|
+
else {
|
|
737
|
+
if (ai) htmlStyle[`${cssVariablePrefix}light-font-style`] = "italic";
|
|
738
|
+
if (bi) htmlStyle[`${cssVariablePrefix}dark-font-style`] = "italic";
|
|
739
|
+
}
|
|
740
|
+
const aw = a?.weight ?? 0;
|
|
741
|
+
const bw = b2?.weight ?? 0;
|
|
742
|
+
if (aw !== 0 && aw === bw) htmlStyle["font-weight"] = String(aw);
|
|
743
|
+
else {
|
|
744
|
+
if (aw !== 0) htmlStyle[`${cssVariablePrefix}light-font-weight`] = String(aw);
|
|
745
|
+
if (bw !== 0) htmlStyle[`${cssVariablePrefix}dark-font-weight`] = String(bw);
|
|
746
|
+
}
|
|
747
|
+
return htmlStyle;
|
|
748
|
+
}
|
|
749
|
+
function lineRecordsToTokens(code, recs, themes, cssVariablePrefix, maxLineLength, offsetBase = 0) {
|
|
750
|
+
const lines = [];
|
|
751
|
+
const max = maxLineLength ?? 0;
|
|
752
|
+
const { styles, fg, role } = themes[0];
|
|
753
|
+
const htmlStyles = role === "single" ? void 0 : themeHtmlStyles(themes, cssVariablePrefix);
|
|
754
|
+
let start = 0;
|
|
755
|
+
for (let rec = 0; ; rec += 2) {
|
|
756
|
+
const first = rec;
|
|
757
|
+
while (rec < recs.length && recs[rec + 1] !== 4294967295) rec += 2;
|
|
758
|
+
const end = rec === first ? start : recs[rec - 2];
|
|
759
|
+
let line;
|
|
760
|
+
if (max > 0 && end - start >= max) line = [rangeToToken(code, start, end, 0, themes, cssVariablePrefix, offsetBase)];
|
|
761
|
+
else {
|
|
762
|
+
line = new Array((rec - first) / 2);
|
|
763
|
+
let count = 0;
|
|
764
|
+
for (let at = first; at < rec; at += 2) {
|
|
765
|
+
const end2 = recs[at];
|
|
766
|
+
if (end2 > start) {
|
|
767
|
+
const hl = recs[at + 1];
|
|
768
|
+
let token;
|
|
769
|
+
if (htmlStyles === void 0) {
|
|
770
|
+
const style = styles[hl];
|
|
771
|
+
token = {
|
|
772
|
+
content: code.slice(start, end2),
|
|
773
|
+
offset: start + offsetBase,
|
|
774
|
+
color: style?.color ?? fg,
|
|
775
|
+
fontStyle: (style?.italic === true ? 1 : 0) | ((style?.weight ?? 0) >= 600 ? 2 : 0)
|
|
776
|
+
};
|
|
777
|
+
} else token = {
|
|
778
|
+
content: code.slice(start, end2),
|
|
779
|
+
offset: start + offsetBase,
|
|
780
|
+
htmlStyle: htmlStyles[hl] ?? themeHtmlStyle(themes, hl, cssVariablePrefix)
|
|
781
|
+
};
|
|
782
|
+
const type = standardTypes[hl];
|
|
783
|
+
if (type !== 0) token.type = type;
|
|
784
|
+
line[count++] = token;
|
|
785
|
+
start = end2;
|
|
786
|
+
}
|
|
787
|
+
}
|
|
788
|
+
line.length = count;
|
|
789
|
+
}
|
|
790
|
+
lines.push(line);
|
|
791
|
+
if (rec === recs.length) break;
|
|
792
|
+
start = recs[rec];
|
|
793
|
+
}
|
|
794
|
+
return lines;
|
|
795
|
+
}
|
|
796
|
+
function themeMeta(themes, cssVariablePrefix) {
|
|
797
|
+
if (themes[0].role === "single") return {
|
|
798
|
+
fg: themes[0].fg,
|
|
799
|
+
bg: themes[0].bg,
|
|
800
|
+
themeName: themes[0].name
|
|
801
|
+
};
|
|
802
|
+
const themeName = `highlights-themes ${themes.map((t) => t.name).join(" ")}`;
|
|
803
|
+
if (themes[0].role === "light-dark") {
|
|
804
|
+
const pair = (a, b2, fallback) => {
|
|
805
|
+
const x = a ?? fallback;
|
|
806
|
+
const y = b2 ?? fallback;
|
|
807
|
+
return x === y ? x : `light-dark(${x}, ${y})`;
|
|
808
|
+
};
|
|
809
|
+
return {
|
|
810
|
+
fg: pair(themes[0].fg, themes[1].fg, "currentcolor"),
|
|
811
|
+
bg: pair(themes[0].bg, themes[1].bg, "transparent"),
|
|
812
|
+
themeName
|
|
813
|
+
};
|
|
814
|
+
}
|
|
815
|
+
const fg = themes.map((t) => t.role === "default" ? t.fg ?? "inherit" : `${cssVariablePrefix}${t.color}:${t.fg ?? "inherit"}`).join(";");
|
|
816
|
+
const bg = themes.map((t) => t.role === "default" ? t.bg ?? "inherit" : `${cssVariablePrefix}${t.color}-bg:${t.bg ?? "inherit"}`).join(";");
|
|
817
|
+
return {
|
|
818
|
+
fg,
|
|
819
|
+
bg,
|
|
820
|
+
themeName,
|
|
821
|
+
rootStyle: themes[0].role === "default" ? void 0 : `${fg};${bg}`
|
|
822
|
+
};
|
|
823
|
+
}
|
|
824
|
+
|
|
825
|
+
// node_modules/@pierre/highlights/dist/highlighter.js
|
|
826
|
+
var enc3 = new TextEncoder();
|
|
827
|
+
var dec = new TextDecoder("utf-8", { ignoreBOM: true });
|
|
828
|
+
var pageSize = 65536;
|
|
829
|
+
var themePtr = 64;
|
|
830
|
+
var idClassRegex = [/^\p{ID_Start}$/u, /^[\u200C\u200D\p{ID_Continue}]$/u];
|
|
831
|
+
var idClassCache;
|
|
832
|
+
var LANGS = languages;
|
|
833
|
+
function langIdOf(lang) {
|
|
834
|
+
const langId = LANGS[String(lang).toLowerCase()];
|
|
835
|
+
if (typeof langId !== "number") throw new RangeError(`unknown lang: ${lang}`);
|
|
836
|
+
return langId;
|
|
837
|
+
}
|
|
838
|
+
function isSupportedLanguage(lang) {
|
|
839
|
+
return typeof LANGS[String(lang).toLowerCase()] === "number";
|
|
840
|
+
}
|
|
841
|
+
var HighlightsHighlighter = class {
|
|
842
|
+
#highlight;
|
|
843
|
+
#highlightStream;
|
|
844
|
+
#themeWritten;
|
|
845
|
+
#htmlPrefix;
|
|
846
|
+
#htmlPrefixBytes = /* @__PURE__ */ new Uint8Array(0);
|
|
847
|
+
wasmModule;
|
|
848
|
+
instance;
|
|
849
|
+
memory;
|
|
850
|
+
buffer;
|
|
851
|
+
dv;
|
|
852
|
+
pageN;
|
|
853
|
+
constructor(wasmModule2) {
|
|
854
|
+
this.wasmModule = wasmModule2;
|
|
855
|
+
const instance = new WebAssembly.Instance(wasmModule2, { env: {
|
|
856
|
+
is_id_start: (ptr, len) => this.#idClass(ptr, len, 0),
|
|
857
|
+
is_id_continue: (ptr, len) => this.#idClass(ptr, len, 2)
|
|
858
|
+
} });
|
|
859
|
+
this.instance = instance;
|
|
860
|
+
this.memory = instance.exports.memory;
|
|
861
|
+
this.#highlight = instance.exports.highlight;
|
|
862
|
+
this.#highlightStream = instance.exports.highlightStream;
|
|
863
|
+
this.pageN = this.memory.buffer.byteLength / pageSize;
|
|
864
|
+
this.buffer = new Uint8Array(this.memory.buffer);
|
|
865
|
+
this.dv = new DataView(this.memory.buffer);
|
|
866
|
+
}
|
|
867
|
+
/** Write input at a byte offset in the text buffer and return its byte length. */
|
|
868
|
+
writeInput(input, offset = 0) {
|
|
869
|
+
if (typeof input === "string") {
|
|
870
|
+
this.#growMemoryIfNeeded(offset + input.length + 96);
|
|
871
|
+
let { read, written } = enc3.encodeInto(input, this.buffer.subarray(pageSize + offset, this.buffer.length - 96));
|
|
872
|
+
if (read < input.length) {
|
|
873
|
+
const rest = input.slice(read);
|
|
874
|
+
this.#growMemoryIfNeeded(offset + written + rest.length * 3 + 96);
|
|
875
|
+
written += enc3.encodeInto(rest, this.buffer.subarray(pageSize + offset + written, this.buffer.length - 96)).written;
|
|
876
|
+
}
|
|
877
|
+
return written;
|
|
878
|
+
}
|
|
879
|
+
if (input instanceof ArrayBuffer) input = new Uint8Array(input);
|
|
880
|
+
if (!(input instanceof Uint8Array)) throw new TypeError("input must be a string, Uint8Array, or ArrayBuffer");
|
|
881
|
+
this.#growMemoryIfNeeded(offset + input.length + 96);
|
|
882
|
+
this.buffer.set(input, pageSize + offset);
|
|
883
|
+
return input.length;
|
|
884
|
+
}
|
|
885
|
+
/**
|
|
886
|
+
* Lex the first `inputLength` bytes. Output modes:
|
|
887
|
+
* 0 inline colors, 1 CSS variables, 2 packed themes, 3 UTF-16 line records,
|
|
888
|
+
* 4 prepared HTML openers. `reset` selects streaming mode.
|
|
889
|
+
*/
|
|
890
|
+
#run(langId, mode, inputLength, reset) {
|
|
891
|
+
this.dv.setUint8(0, langId);
|
|
892
|
+
this.dv.setUint8(1, mode);
|
|
893
|
+
this.dv.setUint32(2, inputLength, true);
|
|
894
|
+
this.buffer[pageSize + inputLength] = 0;
|
|
895
|
+
try {
|
|
896
|
+
if (reset === void 0) this.#highlight();
|
|
897
|
+
else this.#highlightStream(reset);
|
|
898
|
+
} finally {
|
|
899
|
+
this.bindMemory();
|
|
900
|
+
}
|
|
901
|
+
}
|
|
902
|
+
/**
|
|
903
|
+
* Return highlighted HTML bytes.
|
|
904
|
+
* The bytes can reference Wasm memory that the next call overwrites.
|
|
905
|
+
*/
|
|
906
|
+
codeToHtml(input, options) {
|
|
907
|
+
const langId = langIdOf(options.lang);
|
|
908
|
+
const cssVariablePrefix = options.cssVariablePrefix ?? "--hls-";
|
|
909
|
+
let table;
|
|
910
|
+
let blob;
|
|
911
|
+
let mode = 0;
|
|
912
|
+
if (options.themes != null) {
|
|
913
|
+
const themes = resolveOptionThemes(options);
|
|
914
|
+
blob = multiThemeBlob(themes, cssVariablePrefix);
|
|
915
|
+
mode = 2;
|
|
916
|
+
if (blob === void 0) {
|
|
917
|
+
blob = multiThemeHtmlOpeners(themes, cssVariablePrefix);
|
|
918
|
+
mode = 4;
|
|
919
|
+
}
|
|
920
|
+
} else {
|
|
921
|
+
const prepared = prepareTheme(options.theme, cssVariablePrefix);
|
|
922
|
+
table = prepared.table;
|
|
923
|
+
blob = prepared.htmlOpeners;
|
|
924
|
+
if (blob !== void 0) mode = 4;
|
|
925
|
+
}
|
|
926
|
+
const inputLength = this.writeInput(input);
|
|
927
|
+
if (blob !== void 0) {
|
|
928
|
+
this.#growMemoryIfNeeded(inputLength + blob.length + 96);
|
|
929
|
+
const blobPtr = pageSize + inputLength + 47 & -16;
|
|
930
|
+
this.buffer.set(blob, blobPtr);
|
|
931
|
+
this.dv.setUint32(14, blobPtr, true);
|
|
932
|
+
this.dv.setUint32(18, blob.length, true);
|
|
933
|
+
} else if (table === void 0) {
|
|
934
|
+
if (this.#htmlPrefix !== cssVariablePrefix) {
|
|
935
|
+
this.#htmlPrefixBytes = enc3.encode(escapeAttribute(cssVariablePrefix));
|
|
936
|
+
this.#htmlPrefix = cssVariablePrefix;
|
|
937
|
+
}
|
|
938
|
+
const bytes = this.#htmlPrefixBytes;
|
|
939
|
+
this.#growMemoryIfNeeded(inputLength + bytes.length + 96);
|
|
940
|
+
const prefixPtr = pageSize + inputLength + 47 & -16;
|
|
941
|
+
this.buffer.set(bytes, prefixPtr);
|
|
942
|
+
this.dv.setUint32(14, prefixPtr, true);
|
|
943
|
+
this.dv.setUint32(18, bytes.length, true);
|
|
944
|
+
mode = 1;
|
|
945
|
+
} else {
|
|
946
|
+
if (this.#themeWritten !== table) {
|
|
947
|
+
this.buffer.set(table, themePtr);
|
|
948
|
+
this.buffer.fill(0, themePtr + table.length, 448);
|
|
949
|
+
this.#themeWritten = table;
|
|
950
|
+
}
|
|
951
|
+
mode = 0;
|
|
952
|
+
}
|
|
953
|
+
this.#run(langId, mode, inputLength);
|
|
954
|
+
const outStart = this.dv.getUint32(6, true);
|
|
955
|
+
const outLength = this.dv.getUint32(10, true);
|
|
956
|
+
return this.buffer.subarray(outStart, outStart + outLength);
|
|
957
|
+
}
|
|
958
|
+
/** Return UTF-16 token records; `reset` starts or continues a stream. */
|
|
959
|
+
tokenizeLineRecords(langId, inputLength, reset) {
|
|
960
|
+
this.#run(langId, 3, inputLength, reset);
|
|
961
|
+
const outStart = this.dv.getUint32(6, true);
|
|
962
|
+
const outLength = this.dv.getUint32(10, true);
|
|
963
|
+
return new Uint32Array(this.buffer.buffer, outStart, outLength >> 2);
|
|
964
|
+
}
|
|
965
|
+
/**
|
|
966
|
+
* Tokenize code into Shiki-compatible themed tokens, one array per line.
|
|
967
|
+
*/
|
|
968
|
+
codeToTokens(input, options) {
|
|
969
|
+
const code = toCode(input);
|
|
970
|
+
if (typeof input !== "string" && (code.includes("\uFFFD") || input === this.memory.buffer || input instanceof Uint8Array && input.buffer === this.memory.buffer)) input = code;
|
|
971
|
+
const themes = resolveOptionThemes(options);
|
|
972
|
+
const cssVariablePrefix = options.cssVariablePrefix ?? "--hls-";
|
|
973
|
+
const recs = this.tokenizeLineRecords(langIdOf(options.lang), this.writeInput(input));
|
|
974
|
+
return {
|
|
975
|
+
tokens: lineRecordsToTokens(code, recs, themes, cssVariablePrefix, options.tokenizeMaxLineLength),
|
|
976
|
+
...themeMeta(themes, cssVariablePrefix)
|
|
977
|
+
};
|
|
978
|
+
}
|
|
979
|
+
/** Grow the wasm linear memory if needed. */
|
|
980
|
+
#growMemoryIfNeeded(len) {
|
|
981
|
+
const neededPages = 1 + Math.ceil(len / pageSize);
|
|
982
|
+
if (neededPages > this.pageN) {
|
|
983
|
+
this.memory.grow(neededPages - this.pageN);
|
|
984
|
+
this.bindMemory();
|
|
985
|
+
}
|
|
986
|
+
}
|
|
987
|
+
/**
|
|
988
|
+
* Check `is_id_start` or `is_id_continue` for the code point at `ptr`.
|
|
989
|
+
* `len` is its UTF-8 byte length. `shift` is 0 for ID_Start or 2 for
|
|
990
|
+
* ID_Continue. Each BMP code point uses two cache bits per class:
|
|
991
|
+
* 0 unknown, 1 no, 2 yes. Use the Unicode regex for cache misses and
|
|
992
|
+
* astral code points.
|
|
993
|
+
*/
|
|
994
|
+
#idClass(ptr, len, shift) {
|
|
995
|
+
this.bindMemory();
|
|
996
|
+
const b2 = this.buffer;
|
|
997
|
+
let cp;
|
|
998
|
+
if (len === 2) cp = (b2[ptr] & 31) << 6 | b2[ptr + 1] & 63;
|
|
999
|
+
else if (len === 3) cp = (b2[ptr] & 15) << 12 | (b2[ptr + 1] & 63) << 6 | b2[ptr + 2] & 63;
|
|
1000
|
+
else cp = (b2[ptr] & 7) << 18 | (b2[ptr + 1] & 63) << 12 | (b2[ptr + 2] & 63) << 6 | b2[ptr + 3] & 63;
|
|
1001
|
+
if (cp > 1114111) return 0;
|
|
1002
|
+
if (cp > 65535 || cp >= 55296 && cp <= 57343) return idClassRegex[shift >> 1].test(String.fromCodePoint(cp)) ? 1 : 0;
|
|
1003
|
+
idClassCache ??= /* @__PURE__ */ new Uint8Array(65536);
|
|
1004
|
+
const known = idClassCache[cp] >> shift & 3;
|
|
1005
|
+
if (known !== 0) return known - 1;
|
|
1006
|
+
const yes = idClassRegex[shift >> 1].test(String.fromCharCode(cp));
|
|
1007
|
+
idClassCache[cp] |= (yes ? 2 : 1) << shift;
|
|
1008
|
+
return yes ? 1 : 0;
|
|
1009
|
+
}
|
|
1010
|
+
/** Rebind views after growing wasm memory. */
|
|
1011
|
+
bindMemory() {
|
|
1012
|
+
if (this.buffer.buffer === this.memory.buffer) return;
|
|
1013
|
+
this.pageN = this.memory.buffer.byteLength / pageSize;
|
|
1014
|
+
this.buffer = new Uint8Array(this.memory.buffer);
|
|
1015
|
+
this.dv = new DataView(this.memory.buffer);
|
|
1016
|
+
}
|
|
1017
|
+
};
|
|
1018
|
+
function toCode(input) {
|
|
1019
|
+
if (typeof input === "string") return input;
|
|
1020
|
+
if (input instanceof Uint8Array || input instanceof ArrayBuffer) return dec.decode(input);
|
|
1021
|
+
throw new TypeError("input must be a string, Uint8Array, or ArrayBuffer");
|
|
1022
|
+
}
|
|
1023
|
+
var shared;
|
|
1024
|
+
var wasmModule;
|
|
1025
|
+
var pooledStreamHighlighter;
|
|
1026
|
+
function assertShared(input) {
|
|
1027
|
+
if (shared == null) throw new Error("highlights is not initialized");
|
|
1028
|
+
if (shared.pageN > 128 && (typeof input === "string" ? input.length : input.byteLength) <= pageSize) shared = new HighlightsHighlighter(shared.wasmModule);
|
|
1029
|
+
return shared;
|
|
1030
|
+
}
|
|
1031
|
+
function assertWasmModule() {
|
|
1032
|
+
if (wasmModule == null) throw new Error("highlights is not initialized");
|
|
1033
|
+
return wasmModule;
|
|
1034
|
+
}
|
|
1035
|
+
function init(wasm) {
|
|
1036
|
+
wasmModule = wasm;
|
|
1037
|
+
pooledStreamHighlighter = void 0;
|
|
1038
|
+
return shared = new HighlightsHighlighter(wasm);
|
|
1039
|
+
}
|
|
1040
|
+
function codeToTokens(input, options) {
|
|
1041
|
+
return assertShared(input).codeToTokens(input, options);
|
|
1042
|
+
}
|
|
1043
|
+
var StreamTokenizer = class extends TransformStream {
|
|
1044
|
+
#hl;
|
|
1045
|
+
#langId;
|
|
1046
|
+
#themes;
|
|
1047
|
+
#cssVariablePrefix;
|
|
1048
|
+
#maxLineLength;
|
|
1049
|
+
#pendingBytes = /* @__PURE__ */ new Uint8Array(0);
|
|
1050
|
+
#pendingByteLength = 0;
|
|
1051
|
+
#pendingSurrogate = "";
|
|
1052
|
+
#tail = "";
|
|
1053
|
+
#streamChar = 0;
|
|
1054
|
+
#streamStarted = false;
|
|
1055
|
+
constructor(options) {
|
|
1056
|
+
super({
|
|
1057
|
+
transform: (chunk, controller) => {
|
|
1058
|
+
try {
|
|
1059
|
+
for (const line of this.pushCode(chunk)) controller.enqueue(line);
|
|
1060
|
+
} catch (error) {
|
|
1061
|
+
this.dispose();
|
|
1062
|
+
throw error;
|
|
1063
|
+
}
|
|
1064
|
+
},
|
|
1065
|
+
flush: (controller) => {
|
|
1066
|
+
for (const line of this.end()) controller.enqueue(line);
|
|
1067
|
+
},
|
|
1068
|
+
cancel: () => this.dispose()
|
|
1069
|
+
});
|
|
1070
|
+
this.#langId = langIdOf(options.lang);
|
|
1071
|
+
this.#themes = resolveOptionThemes(options);
|
|
1072
|
+
const compiledWasm = assertWasmModule();
|
|
1073
|
+
this.#hl = pooledStreamHighlighter?.wasmModule === compiledWasm ? pooledStreamHighlighter : new HighlightsHighlighter(compiledWasm);
|
|
1074
|
+
pooledStreamHighlighter = void 0;
|
|
1075
|
+
this.#cssVariablePrefix = options.cssVariablePrefix ?? "--hls-";
|
|
1076
|
+
this.#maxLineLength = options.tokenizeMaxLineLength;
|
|
1077
|
+
}
|
|
1078
|
+
/**
|
|
1079
|
+
* Append text or UTF-8 bytes. Return tokens for each completed line,
|
|
1080
|
+
* with offsets relative to the full input.
|
|
1081
|
+
* Incomplete UTF-8 stays buffered between byte chunks. A nonempty
|
|
1082
|
+
* string flushes those bytes first. The final line stays buffered
|
|
1083
|
+
* until a newline or `end()`.
|
|
1084
|
+
*/
|
|
1085
|
+
pushCode(chunk) {
|
|
1086
|
+
if (this.#hl == null) throw new Error("stream has ended");
|
|
1087
|
+
if (chunk.length === 0) return [];
|
|
1088
|
+
if (typeof chunk !== "string") {
|
|
1089
|
+
let end2 = chunk.lastIndexOf(10) + 1;
|
|
1090
|
+
if (end2 === 0) {
|
|
1091
|
+
this.#bufferBytes(chunk);
|
|
1092
|
+
return [];
|
|
1093
|
+
}
|
|
1094
|
+
if (this.#pendingByteLength > 0) {
|
|
1095
|
+
end2 += this.#pendingByteLength;
|
|
1096
|
+
chunk = this.#bufferBytes(chunk);
|
|
1097
|
+
}
|
|
1098
|
+
const lines2 = this.#tokenizeChunk(chunk.subarray(0, end2), this.#tail + this.#pendingSurrogate);
|
|
1099
|
+
this.#tail = "";
|
|
1100
|
+
this.#pendingSurrogate = "";
|
|
1101
|
+
this.#pendingByteLength = 0;
|
|
1102
|
+
if (end2 < chunk.length) this.#bufferBytes(chunk.subarray(end2));
|
|
1103
|
+
lines2.pop();
|
|
1104
|
+
return lines2;
|
|
1105
|
+
}
|
|
1106
|
+
if (this.#pendingByteLength > 0) {
|
|
1107
|
+
chunk = dec.decode(this.#pendingBytes.subarray(0, this.#pendingByteLength)) + chunk;
|
|
1108
|
+
this.#pendingByteLength = 0;
|
|
1109
|
+
}
|
|
1110
|
+
chunk = this.#pendingSurrogate + chunk;
|
|
1111
|
+
this.#pendingSurrogate = "";
|
|
1112
|
+
const lastCode = chunk.charCodeAt(chunk.length - 1);
|
|
1113
|
+
if (lastCode >= 55296 && lastCode <= 56319) {
|
|
1114
|
+
this.#pendingSurrogate = chunk.slice(-1);
|
|
1115
|
+
chunk = chunk.slice(0, -1);
|
|
1116
|
+
}
|
|
1117
|
+
const end = chunk.lastIndexOf("\n") + 1;
|
|
1118
|
+
if (end === 0) {
|
|
1119
|
+
this.#tail += chunk;
|
|
1120
|
+
return [];
|
|
1121
|
+
}
|
|
1122
|
+
const code = this.#tail + chunk.slice(0, end);
|
|
1123
|
+
this.#tail = chunk.slice(end);
|
|
1124
|
+
const lines = this.#tokenizeChunk(code);
|
|
1125
|
+
lines.pop();
|
|
1126
|
+
return lines;
|
|
1127
|
+
}
|
|
1128
|
+
/**
|
|
1129
|
+
* Finish UTF-8 decoding and return the remaining lines.
|
|
1130
|
+
* A trailing line terminator produces a final empty line, as in
|
|
1131
|
+
* `codeToTokens`.
|
|
1132
|
+
*/
|
|
1133
|
+
end() {
|
|
1134
|
+
if (this.#hl == null) throw new Error("stream has ended");
|
|
1135
|
+
try {
|
|
1136
|
+
if (this.#pendingByteLength > 0) return this.#tokenizeChunk(this.#pendingBytes.subarray(0, this.#pendingByteLength), this.#tail + this.#pendingSurrogate);
|
|
1137
|
+
this.#tail += this.#pendingSurrogate;
|
|
1138
|
+
this.#pendingSurrogate = "";
|
|
1139
|
+
if (this.#tail === "") return [[]];
|
|
1140
|
+
const code = this.#tail;
|
|
1141
|
+
this.#tail = "";
|
|
1142
|
+
return this.#tokenizeChunk(code);
|
|
1143
|
+
} finally {
|
|
1144
|
+
this.dispose();
|
|
1145
|
+
}
|
|
1146
|
+
}
|
|
1147
|
+
/** Release the Wasm instance and discard buffered input; later calls throw. */
|
|
1148
|
+
dispose() {
|
|
1149
|
+
const hl = this.#hl;
|
|
1150
|
+
if (hl == null) return;
|
|
1151
|
+
if (pooledStreamHighlighter == null && hl.wasmModule === wasmModule && hl.pageN <= 16) pooledStreamHighlighter = hl;
|
|
1152
|
+
this.#hl = void 0;
|
|
1153
|
+
this.#pendingBytes = /* @__PURE__ */ new Uint8Array(0);
|
|
1154
|
+
this.#pendingByteLength = 0;
|
|
1155
|
+
this.#pendingSurrogate = "";
|
|
1156
|
+
this.#tail = "";
|
|
1157
|
+
}
|
|
1158
|
+
/** Own unfinished bytes so callers can reuse chunks; grow geometrically for long lines. */
|
|
1159
|
+
#bufferBytes(chunk) {
|
|
1160
|
+
const length = this.#pendingByteLength + chunk.length;
|
|
1161
|
+
if (length > this.#pendingBytes.length) {
|
|
1162
|
+
const buffer = new Uint8Array(Math.max(length, this.#pendingBytes.length * 2, 1024));
|
|
1163
|
+
buffer.set(this.#pendingBytes.subarray(0, this.#pendingByteLength));
|
|
1164
|
+
this.#pendingBytes = buffer;
|
|
1165
|
+
}
|
|
1166
|
+
this.#pendingBytes.set(chunk, this.#pendingByteLength);
|
|
1167
|
+
this.#pendingByteLength = length;
|
|
1168
|
+
return this.#pendingBytes.subarray(0, length);
|
|
1169
|
+
}
|
|
1170
|
+
/** Tokenize completed input; a string prefix preserves original UTF-16 when mixing inputs. */
|
|
1171
|
+
#tokenizeChunk(input, prefix = "") {
|
|
1172
|
+
const hl = this.#hl;
|
|
1173
|
+
if (hl == null) throw new Error("stream has ended");
|
|
1174
|
+
let code = toCode(input);
|
|
1175
|
+
if (typeof input !== "string" && code.includes("\uFFFD")) input = code;
|
|
1176
|
+
code = prefix + code;
|
|
1177
|
+
let byteLen = prefix === "" ? 0 : hl.writeInput(prefix);
|
|
1178
|
+
byteLen += hl.writeInput(input, byteLen);
|
|
1179
|
+
const recs = hl.tokenizeLineRecords(this.#langId, byteLen, !this.#streamStarted);
|
|
1180
|
+
this.#streamStarted = true;
|
|
1181
|
+
const lines = lineRecordsToTokens(code, recs, this.#themes, this.#cssVariablePrefix, this.#maxLineLength, this.#streamChar);
|
|
1182
|
+
this.#streamChar += code.length;
|
|
1183
|
+
return lines;
|
|
1184
|
+
}
|
|
1185
|
+
};
|
|
1186
|
+
|
|
1187
|
+
// node_modules/@pierre/highlights/dist/live.js
|
|
1188
|
+
var enc4 = new TextEncoder();
|
|
1189
|
+
var fatalDecoder = new TextDecoder("utf-8", {
|
|
1190
|
+
fatal: true,
|
|
1191
|
+
ignoreBOM: true
|
|
1192
|
+
});
|
|
1193
|
+
var loneSurrogateRe = /[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:^|[^\uD800-\uDBFF])[\uDC00-\uDFFF]/;
|
|
1194
|
+
function encodeLiveText(s2) {
|
|
1195
|
+
if (!loneSurrogateRe.test(s2)) return enc4.encode(s2);
|
|
1196
|
+
const out = new Uint8Array(s2.length * 3);
|
|
1197
|
+
let w = 0;
|
|
1198
|
+
for (let i = 0; i < s2.length; i++) {
|
|
1199
|
+
const c = s2.charCodeAt(i);
|
|
1200
|
+
if (c < 128) out[w++] = c;
|
|
1201
|
+
else if (c < 2048) {
|
|
1202
|
+
out[w++] = 192 | c >> 6;
|
|
1203
|
+
out[w++] = 128 | c & 63;
|
|
1204
|
+
} else {
|
|
1205
|
+
if (c >= 55296 && c < 56320) {
|
|
1206
|
+
const lo = s2.charCodeAt(i + 1);
|
|
1207
|
+
if (lo >= 56320 && lo < 57344) {
|
|
1208
|
+
const cp = 65536 + (c - 55296 << 10) + (lo - 56320);
|
|
1209
|
+
out[w++] = 240 | cp >> 18;
|
|
1210
|
+
out[w++] = 128 | cp >> 12 & 63;
|
|
1211
|
+
out[w++] = 128 | cp >> 6 & 63;
|
|
1212
|
+
out[w++] = 128 | cp & 63;
|
|
1213
|
+
i++;
|
|
1214
|
+
continue;
|
|
1215
|
+
}
|
|
1216
|
+
}
|
|
1217
|
+
out[w++] = 224 | c >> 12;
|
|
1218
|
+
out[w++] = 128 | c >> 6 & 63;
|
|
1219
|
+
out[w++] = 128 | c & 63;
|
|
1220
|
+
}
|
|
1221
|
+
}
|
|
1222
|
+
return out.subarray(0, w);
|
|
1223
|
+
}
|
|
1224
|
+
function decodeWtf8(bytes, length) {
|
|
1225
|
+
const units = new Array(length);
|
|
1226
|
+
let written = 0;
|
|
1227
|
+
let i = 0;
|
|
1228
|
+
while (i < bytes.length) {
|
|
1229
|
+
const b2 = bytes[i];
|
|
1230
|
+
if (b2 < 128) {
|
|
1231
|
+
units[written++] = b2;
|
|
1232
|
+
i += 1;
|
|
1233
|
+
} else if (b2 < 224) {
|
|
1234
|
+
units[written++] = (b2 & 31) << 6 | bytes[i + 1] & 63;
|
|
1235
|
+
i += 2;
|
|
1236
|
+
} else if (b2 < 240) {
|
|
1237
|
+
units[written++] = (b2 & 15) << 12 | (bytes[i + 1] & 63) << 6 | bytes[i + 2] & 63;
|
|
1238
|
+
i += 3;
|
|
1239
|
+
} else {
|
|
1240
|
+
const cp = (b2 & 7) << 18 | (bytes[i + 1] & 63) << 12 | (bytes[i + 2] & 63) << 6 | bytes[i + 3] & 63;
|
|
1241
|
+
units[written++] = 55296 + (cp - 65536 >> 10);
|
|
1242
|
+
units[written++] = 56320 + (cp - 65536 & 1023);
|
|
1243
|
+
i += 4;
|
|
1244
|
+
}
|
|
1245
|
+
}
|
|
1246
|
+
let text = "";
|
|
1247
|
+
for (let at = 0; at < written; at += 4096) text += String.fromCharCode(...units.slice(at, Math.min(at + 4096, written)));
|
|
1248
|
+
return text;
|
|
1249
|
+
}
|
|
1250
|
+
function checkRenderRange(range) {
|
|
1251
|
+
if (range === void 0) return void 0;
|
|
1252
|
+
if (!Array.isArray(range) || range.length !== 2 || !Number.isInteger(range[0]) || !Number.isInteger(range[1]) || range[0] < 0 || range[1] < range[0]) throw new TypeError("renderRange must be [startLine, endLine] with 0 <= startLine <= endLine");
|
|
1253
|
+
return range;
|
|
1254
|
+
}
|
|
1255
|
+
function refPort(port, alive) {
|
|
1256
|
+
const p = port;
|
|
1257
|
+
if (alive) p.ref?.();
|
|
1258
|
+
else p.unref?.();
|
|
1259
|
+
}
|
|
1260
|
+
function eol(flags) {
|
|
1261
|
+
const term = flags & 3;
|
|
1262
|
+
if (term === 0) return "";
|
|
1263
|
+
if (term === 2) return "\r\n";
|
|
1264
|
+
return (flags & 16) !== 0 ? "\r" : "\n";
|
|
1265
|
+
}
|
|
1266
|
+
var LiveTokenizer = class LiveTokenizer2 {
|
|
1267
|
+
#hl;
|
|
1268
|
+
#langId;
|
|
1269
|
+
#themes;
|
|
1270
|
+
#cssVariablePrefix;
|
|
1271
|
+
#maxLineLength;
|
|
1272
|
+
#onDeferTokenize;
|
|
1273
|
+
#revision = 0;
|
|
1274
|
+
#deferGeneration = 0;
|
|
1275
|
+
#channel;
|
|
1276
|
+
#postedSlices = 0;
|
|
1277
|
+
#materializing;
|
|
1278
|
+
#paused = false;
|
|
1279
|
+
#updating = false;
|
|
1280
|
+
constructor(options) {
|
|
1281
|
+
this.#langId = langIdOf(options.lang);
|
|
1282
|
+
this.#themes = resolveOptionThemes(options);
|
|
1283
|
+
this.#cssVariablePrefix = options.cssVariablePrefix ?? "--hls-";
|
|
1284
|
+
this.#maxLineLength = options.tokenizeMaxLineLength ?? 0;
|
|
1285
|
+
this.#onDeferTokenize = options.onDeferTokenize;
|
|
1286
|
+
const renderRange = checkRenderRange(options.renderRange);
|
|
1287
|
+
this.#hl = LiveTokenizer2.#createStaged(options.code ?? "", this.#langId);
|
|
1288
|
+
this.#runSlice(this.#hl, this.#ex, renderRange);
|
|
1289
|
+
}
|
|
1290
|
+
/** Instantiate an isolated Wasm instance and stage `code` into its line
|
|
1291
|
+
* table; the caller drives tokenization. */
|
|
1292
|
+
static #createStaged(code, langId) {
|
|
1293
|
+
const hl = new HighlightsHighlighter(assertWasmModule());
|
|
1294
|
+
const ex = hl.instance.exports;
|
|
1295
|
+
const bytes = encodeLiveText(code);
|
|
1296
|
+
const ptr = ex.liveStage(bytes.length);
|
|
1297
|
+
hl.bindMemory();
|
|
1298
|
+
hl.buffer.set(bytes, ptr);
|
|
1299
|
+
ex.liveInitDoc(ptr, bytes.length, langId);
|
|
1300
|
+
hl.bindMemory();
|
|
1301
|
+
return hl;
|
|
1302
|
+
}
|
|
1303
|
+
/** Return the active instance or throw after disposal. */
|
|
1304
|
+
#live() {
|
|
1305
|
+
const hl = this.#hl;
|
|
1306
|
+
if (hl == null) throw new Error("tokenizer is disposed");
|
|
1307
|
+
return hl;
|
|
1308
|
+
}
|
|
1309
|
+
/** Resolve exports through the active instance so disposal releases both. */
|
|
1310
|
+
get #ex() {
|
|
1311
|
+
return this.#live().instance.exports;
|
|
1312
|
+
}
|
|
1313
|
+
/** Monotonic revision; bumps once per successful mutating batch. */
|
|
1314
|
+
get revision() {
|
|
1315
|
+
this.#live();
|
|
1316
|
+
return this.#revision;
|
|
1317
|
+
}
|
|
1318
|
+
/** Number of lines in the document (a trailing terminator adds one). */
|
|
1319
|
+
get lineCount() {
|
|
1320
|
+
this.#live();
|
|
1321
|
+
return this.#ex.liveLineCount();
|
|
1322
|
+
}
|
|
1323
|
+
/** True while deferred scanning or token materialization remains pending. */
|
|
1324
|
+
get pendingTokenization() {
|
|
1325
|
+
this.#live();
|
|
1326
|
+
return this.#materializing !== void 0 || this.#ex.liveStats(9) !== 0;
|
|
1327
|
+
}
|
|
1328
|
+
/**
|
|
1329
|
+
* Complete pending lines before `endLine`, or all lines if it is omitted.
|
|
1330
|
+
* Deliver completed lines through `onDeferTokenize`. Clear any pause and
|
|
1331
|
+
* schedule remaining work in the background.
|
|
1332
|
+
*/
|
|
1333
|
+
flush(endLine) {
|
|
1334
|
+
const hl = this.#live();
|
|
1335
|
+
if (endLine !== void 0) checkRenderRange([0, endLine]);
|
|
1336
|
+
const ex = this.#ex;
|
|
1337
|
+
this.#paused = false;
|
|
1338
|
+
const generation = ++this.#deferGeneration;
|
|
1339
|
+
const end = Math.min(endLine ?? ex.liveLineCount(), ex.liveLineCount());
|
|
1340
|
+
try {
|
|
1341
|
+
this.#workSlice(hl, ex, end, Infinity);
|
|
1342
|
+
} finally {
|
|
1343
|
+
if (generation === this.#deferGeneration && this.#hl === hl && !this.#paused && this.pendingTokenization) this.#scheduleSlice(generation);
|
|
1344
|
+
}
|
|
1345
|
+
}
|
|
1346
|
+
/**
|
|
1347
|
+
* Pause background tokenization and keep the pending work.
|
|
1348
|
+
* No background batches run or deliver tokens while paused. Pending lines
|
|
1349
|
+
* keep their previous tokens. `resume`, `flush`, `applyEdits`, and `reset`
|
|
1350
|
+
* clear the pause. Edits and resets schedule their own remaining work.
|
|
1351
|
+
*/
|
|
1352
|
+
pause() {
|
|
1353
|
+
this.#live();
|
|
1354
|
+
if (this.#paused) return;
|
|
1355
|
+
this.#paused = true;
|
|
1356
|
+
this.#deferGeneration += 1;
|
|
1357
|
+
}
|
|
1358
|
+
/** Resume background re-tokenization suspended by `pause`. */
|
|
1359
|
+
resume() {
|
|
1360
|
+
this.#live();
|
|
1361
|
+
if (!this.#paused) return;
|
|
1362
|
+
this.#paused = false;
|
|
1363
|
+
if (this.pendingTokenization) this.#scheduleSlice(this.#deferGeneration);
|
|
1364
|
+
}
|
|
1365
|
+
/** Release the Wasm instance and drop deferred work; later calls throw. */
|
|
1366
|
+
dispose() {
|
|
1367
|
+
if (this.#hl == null) return;
|
|
1368
|
+
this.#deferGeneration += 1;
|
|
1369
|
+
this.#hl = void 0;
|
|
1370
|
+
this.#materializing = void 0;
|
|
1371
|
+
if (this.#channel !== void 0) {
|
|
1372
|
+
this.#channel.port1.close();
|
|
1373
|
+
this.#channel.port2.close();
|
|
1374
|
+
this.#channel = void 0;
|
|
1375
|
+
}
|
|
1376
|
+
}
|
|
1377
|
+
/** UTF-16 length of one line, excluding its terminator. */
|
|
1378
|
+
getLineLength(line) {
|
|
1379
|
+
this.#live();
|
|
1380
|
+
const ex = this.#ex;
|
|
1381
|
+
this.#checkLine(line, ex);
|
|
1382
|
+
return ex.liveLineLen(line);
|
|
1383
|
+
}
|
|
1384
|
+
/** One line's text, excluding its terminator. */
|
|
1385
|
+
getLineText(line) {
|
|
1386
|
+
const hl = this.#live();
|
|
1387
|
+
const ex = this.#ex;
|
|
1388
|
+
this.#checkLine(line, ex);
|
|
1389
|
+
return this.#lineText(hl, ex, line);
|
|
1390
|
+
}
|
|
1391
|
+
/** The whole document's text, reconstructing each line's terminator. */
|
|
1392
|
+
getText() {
|
|
1393
|
+
const hl = this.#live();
|
|
1394
|
+
const ex = this.#ex;
|
|
1395
|
+
const count = ex.liveLineCount();
|
|
1396
|
+
let text = "";
|
|
1397
|
+
for (let line = 0; line < count; line++) {
|
|
1398
|
+
text += this.#lineText(hl, ex, line);
|
|
1399
|
+
text += eol(ex.liveLineFlags(line));
|
|
1400
|
+
}
|
|
1401
|
+
return text;
|
|
1402
|
+
}
|
|
1403
|
+
#lineText(hl, ex, line) {
|
|
1404
|
+
const ptr = ex.liveLineTextPtr(line);
|
|
1405
|
+
const len = ex.liveLineByteLen(line);
|
|
1406
|
+
if (len === 0) return "";
|
|
1407
|
+
const bytes = hl.buffer.subarray(ptr, ptr + len);
|
|
1408
|
+
try {
|
|
1409
|
+
return fatalDecoder.decode(bytes);
|
|
1410
|
+
} catch {
|
|
1411
|
+
return decodeWtf8(bytes, ex.liveLineLen(line));
|
|
1412
|
+
}
|
|
1413
|
+
}
|
|
1414
|
+
/**
|
|
1415
|
+
* Zero-copy packed records for one line. The view is invalidated by the
|
|
1416
|
+
* next successful edit, reset, dispose, or deferred tokenization slice.
|
|
1417
|
+
*/
|
|
1418
|
+
getLineRecords(line) {
|
|
1419
|
+
const hl = this.#live();
|
|
1420
|
+
const ex = this.#ex;
|
|
1421
|
+
this.#checkLine(line, ex);
|
|
1422
|
+
const n = ex.liveLineTokCount(line);
|
|
1423
|
+
const wide = (ex.liveLineFlags(line) & 4) !== 0;
|
|
1424
|
+
return {
|
|
1425
|
+
revision: this.#revision,
|
|
1426
|
+
format: wide ? "wide32" : "packed24",
|
|
1427
|
+
data: new Uint32Array(hl.memory.buffer, n === 0 ? 0 : ex.liveLineTokPtr(line), wide ? n * 2 : n)
|
|
1428
|
+
};
|
|
1429
|
+
}
|
|
1430
|
+
/**
|
|
1431
|
+
* Return themed tokens and string, comment, and regex ranges for bracket
|
|
1432
|
+
* matching. All offsets are relative to the line.
|
|
1433
|
+
* At `tokenizeMaxLineLength`, return one token without syntax styles.
|
|
1434
|
+
* Raw records remain available.
|
|
1435
|
+
*
|
|
1436
|
+
* Pending lines return their previous tokens. A new line with no records
|
|
1437
|
+
* returns its text as one token without syntax styles.
|
|
1438
|
+
*/
|
|
1439
|
+
getLineTokens(line) {
|
|
1440
|
+
const hl = this.#live();
|
|
1441
|
+
const ex = this.#ex;
|
|
1442
|
+
this.#checkLine(line, ex);
|
|
1443
|
+
const text = this.#lineText(hl, ex, line);
|
|
1444
|
+
const max = this.#maxLineLength;
|
|
1445
|
+
if (max > 0 && text.length >= max) return {
|
|
1446
|
+
tokens: [rangeToToken(text, 0, text.length, 0, this.#themes, this.#cssVariablePrefix)],
|
|
1447
|
+
bracketIgnoredRanges: []
|
|
1448
|
+
};
|
|
1449
|
+
const n = ex.liveLineTokCount(line);
|
|
1450
|
+
const wide = (ex.liveLineFlags(line) & 4) !== 0;
|
|
1451
|
+
const ptr = ex.liveLineTokPtr(line);
|
|
1452
|
+
const data = new Uint32Array(hl.memory.buffer, n === 0 ? 0 : ptr, wide ? n * 2 : n);
|
|
1453
|
+
const tokens = [];
|
|
1454
|
+
const bracketIgnoredRanges = [];
|
|
1455
|
+
let start = 0;
|
|
1456
|
+
for (let r = 0; r < n; r++) {
|
|
1457
|
+
const end = wide ? data[r * 2] : data[r] & 16777215;
|
|
1458
|
+
const hli = wide ? data[r * 2 + 1] : data[r] >>> 24;
|
|
1459
|
+
if (end > start) {
|
|
1460
|
+
tokens.push(rangeToToken(text, start, end, hli, this.#themes, this.#cssVariablePrefix));
|
|
1461
|
+
if (standardTypes[hli] !== 0) {
|
|
1462
|
+
const last = bracketIgnoredRanges[bracketIgnoredRanges.length - 1];
|
|
1463
|
+
if (last !== void 0 && last[1] >= start) last[1] = end;
|
|
1464
|
+
else bracketIgnoredRanges.push([start, end]);
|
|
1465
|
+
}
|
|
1466
|
+
start = end;
|
|
1467
|
+
}
|
|
1468
|
+
}
|
|
1469
|
+
if (tokens.length === 0 && text.length > 0) tokens.push(rangeToToken(text, 0, text.length, 0, this.#themes, this.#cssVariablePrefix));
|
|
1470
|
+
return {
|
|
1471
|
+
tokens,
|
|
1472
|
+
bracketIgnoredRanges
|
|
1473
|
+
};
|
|
1474
|
+
}
|
|
1475
|
+
/**
|
|
1476
|
+
* Validate and apply edits to the current document. Without `renderRange`,
|
|
1477
|
+
* tokenization completes synchronously and `lines` is empty.
|
|
1478
|
+
* With `renderRange`, return lines completed within its time budget.
|
|
1479
|
+
* `onDeferTokenize` receives all remaining lines later.
|
|
1480
|
+
*
|
|
1481
|
+
* Remap pending work through the edits without waiting for completion.
|
|
1482
|
+
* Calling `applyEdits` or `reset` from this update's synchronous callback
|
|
1483
|
+
* throws. Reads, `pause`, and `flush` are allowed.
|
|
1484
|
+
*/
|
|
1485
|
+
applyEdits(edits, options) {
|
|
1486
|
+
const hl = this.#live();
|
|
1487
|
+
const ex = this.#ex;
|
|
1488
|
+
this.#checkNotUpdating();
|
|
1489
|
+
const renderRange = checkRenderRange(options?.renderRange);
|
|
1490
|
+
const batch = this.#validate(edits, hl, ex);
|
|
1491
|
+
const previousLineCount = ex.liveLineCount();
|
|
1492
|
+
if (batch.length === 0) {
|
|
1493
|
+
this.resume();
|
|
1494
|
+
return {
|
|
1495
|
+
revision: this.#revision,
|
|
1496
|
+
previousLineCount,
|
|
1497
|
+
lineCount: previousLineCount,
|
|
1498
|
+
lineChanges: [],
|
|
1499
|
+
lines: /* @__PURE__ */ new Map()
|
|
1500
|
+
};
|
|
1501
|
+
}
|
|
1502
|
+
this.#deferGeneration += 1;
|
|
1503
|
+
this.#paused = false;
|
|
1504
|
+
this.#updating = true;
|
|
1505
|
+
try {
|
|
1506
|
+
this.#stageEdits(hl, ex, batch);
|
|
1507
|
+
this.#revision += 1;
|
|
1508
|
+
const lines = this.#runSlice(hl, ex, renderRange);
|
|
1509
|
+
return this.#readUpdate(hl, ex, previousLineCount, lines);
|
|
1510
|
+
} finally {
|
|
1511
|
+
this.#updating = false;
|
|
1512
|
+
}
|
|
1513
|
+
}
|
|
1514
|
+
/** Replace the document in a fresh Wasm instance and swap it in. */
|
|
1515
|
+
reset(code, options) {
|
|
1516
|
+
this.#live();
|
|
1517
|
+
this.#checkNotUpdating();
|
|
1518
|
+
const renderRange = checkRenderRange(options?.renderRange);
|
|
1519
|
+
if (typeof code !== "string") throw new TypeError("code must be a string");
|
|
1520
|
+
this.#deferGeneration += 1;
|
|
1521
|
+
this.#paused = false;
|
|
1522
|
+
const previousLineCount = this.#ex.liveLineCount();
|
|
1523
|
+
this.#materializing = void 0;
|
|
1524
|
+
const hl = LiveTokenizer2.#createStaged(code, this.#langId);
|
|
1525
|
+
this.#hl = hl;
|
|
1526
|
+
const ex = this.#ex;
|
|
1527
|
+
this.#revision += 1;
|
|
1528
|
+
this.#updating = true;
|
|
1529
|
+
let lines;
|
|
1530
|
+
try {
|
|
1531
|
+
lines = this.#runSlice(hl, ex, renderRange);
|
|
1532
|
+
} finally {
|
|
1533
|
+
this.#updating = false;
|
|
1534
|
+
}
|
|
1535
|
+
const lineCount = ex.liveLineCount();
|
|
1536
|
+
return {
|
|
1537
|
+
revision: this.#revision,
|
|
1538
|
+
previousLineCount,
|
|
1539
|
+
lineCount,
|
|
1540
|
+
lineChanges: [{
|
|
1541
|
+
oldStartLine: 0,
|
|
1542
|
+
oldEndLine: previousLineCount,
|
|
1543
|
+
newStartLine: 0,
|
|
1544
|
+
newEndLine: lineCount
|
|
1545
|
+
}],
|
|
1546
|
+
lines
|
|
1547
|
+
};
|
|
1548
|
+
}
|
|
1549
|
+
/** Reject a mutating call made from inside a synchronous update. */
|
|
1550
|
+
#checkNotUpdating() {
|
|
1551
|
+
if (this.#updating) throw new Error("applyEdits and reset cannot be called from onDeferTokenize during an update; use pause, flush, or the reads instead");
|
|
1552
|
+
}
|
|
1553
|
+
#runSlice(hl, ex, renderRange) {
|
|
1554
|
+
if (renderRange === void 0) {
|
|
1555
|
+
ex.liveRun(2147483647);
|
|
1556
|
+
hl.bindMemory();
|
|
1557
|
+
return /* @__PURE__ */ new Map();
|
|
1558
|
+
}
|
|
1559
|
+
const generation = this.#deferGeneration;
|
|
1560
|
+
const end = renderRange[0] >= ex.liveLineCount() ? 0 : Math.min(renderRange[1], ex.liveLineCount());
|
|
1561
|
+
try {
|
|
1562
|
+
return this.#workSlice(hl, ex, end, performance.now() + 1, renderRange);
|
|
1563
|
+
} finally {
|
|
1564
|
+
if (generation === this.#deferGeneration && this.#hl === hl && !this.#paused && this.pendingTokenization) this.#scheduleSlice(generation);
|
|
1565
|
+
}
|
|
1566
|
+
}
|
|
1567
|
+
/**
|
|
1568
|
+
* Schedule a background batch through MessageChannel to avoid delays
|
|
1569
|
+
* from nested timers. Use a timer if MessageChannel is unavailable.
|
|
1570
|
+
*/
|
|
1571
|
+
#scheduleSlice(generation) {
|
|
1572
|
+
if (typeof MessageChannel === "undefined") {
|
|
1573
|
+
setTimeout(() => this.#deferSlice(generation), 0);
|
|
1574
|
+
return;
|
|
1575
|
+
}
|
|
1576
|
+
if (this.#channel === void 0) {
|
|
1577
|
+
const created = new MessageChannel();
|
|
1578
|
+
created.port1.addEventListener("message", (event) => {
|
|
1579
|
+
const posted = event.data;
|
|
1580
|
+
this.#postedSlices -= 1;
|
|
1581
|
+
try {
|
|
1582
|
+
if (typeof posted === "number") this.#deferSlice(posted);
|
|
1583
|
+
} finally {
|
|
1584
|
+
if (this.#postedSlices === 0) refPort(created.port1, false);
|
|
1585
|
+
}
|
|
1586
|
+
});
|
|
1587
|
+
created.port1.start();
|
|
1588
|
+
this.#channel = created;
|
|
1589
|
+
}
|
|
1590
|
+
if (this.#postedSlices === 0) refPort(this.#channel.port1, true);
|
|
1591
|
+
this.#postedSlices += 1;
|
|
1592
|
+
this.#channel.port2.postMessage(generation);
|
|
1593
|
+
}
|
|
1594
|
+
#deferSlice(generation) {
|
|
1595
|
+
if (generation !== this.#deferGeneration || this.#hl == null || this.#paused) return;
|
|
1596
|
+
const hl = this.#hl;
|
|
1597
|
+
try {
|
|
1598
|
+
this.#workSlice(hl, this.#ex, this.#ex.liveLineCount(), performance.now() + 1);
|
|
1599
|
+
} finally {
|
|
1600
|
+
if (generation === this.#deferGeneration && this.#hl === hl && !this.#paused && this.pendingTokenization) this.#scheduleSlice(generation);
|
|
1601
|
+
}
|
|
1602
|
+
}
|
|
1603
|
+
#workSlice(hl, ex, endLine, deadline, renderRange) {
|
|
1604
|
+
const generation = this.#deferGeneration;
|
|
1605
|
+
const lines = /* @__PURE__ */ new Map();
|
|
1606
|
+
let deferred = /* @__PURE__ */ new Map();
|
|
1607
|
+
const { styles, fg } = this.#themes[0];
|
|
1608
|
+
while (generation === this.#deferGeneration && performance.now() < deadline) {
|
|
1609
|
+
let current = this.#materializing;
|
|
1610
|
+
if (current === void 0) {
|
|
1611
|
+
const line2 = ex.liveStats(10);
|
|
1612
|
+
if (ex.liveStats(9) === 0 || line2 >= endLine) break;
|
|
1613
|
+
ex.liveRun(1, endLine, deadline === Infinity ? 0 : 4096);
|
|
1614
|
+
hl.bindMemory();
|
|
1615
|
+
if (ex.liveStats(10) === line2) continue;
|
|
1616
|
+
if (this.#onDeferTokenize === void 0 && (renderRange === void 0 || line2 < renderRange[0] || line2 >= renderRange[1])) continue;
|
|
1617
|
+
current = {
|
|
1618
|
+
line: line2,
|
|
1619
|
+
byte: 0,
|
|
1620
|
+
text: "",
|
|
1621
|
+
record: 0,
|
|
1622
|
+
start: 0,
|
|
1623
|
+
tokens: []
|
|
1624
|
+
};
|
|
1625
|
+
this.#materializing = current;
|
|
1626
|
+
if (performance.now() >= deadline) break;
|
|
1627
|
+
}
|
|
1628
|
+
const { line } = current;
|
|
1629
|
+
if (line >= endLine) break;
|
|
1630
|
+
const byteLength = ex.liveLineByteLen(line);
|
|
1631
|
+
if (current.byte < byteLength) {
|
|
1632
|
+
const ptr = ex.liveLineTextPtr(line);
|
|
1633
|
+
let to = Math.min(byteLength, current.byte + 65536);
|
|
1634
|
+
while (to < byteLength && (hl.buffer[ptr + to] & 192) === 128) to++;
|
|
1635
|
+
const bytes = hl.buffer.subarray(ptr + current.byte, ptr + to);
|
|
1636
|
+
try {
|
|
1637
|
+
current.text += fatalDecoder.decode(bytes);
|
|
1638
|
+
} catch {
|
|
1639
|
+
current.text += decodeWtf8(bytes, bytes.length);
|
|
1640
|
+
}
|
|
1641
|
+
current.byte = to;
|
|
1642
|
+
if (to < byteLength || performance.now() >= deadline) continue;
|
|
1643
|
+
}
|
|
1644
|
+
const max = this.#maxLineLength;
|
|
1645
|
+
const count = max > 0 && ex.liveLineLen(line) >= max ? 0 : ex.liveLineTokCount(line);
|
|
1646
|
+
const wide = (ex.liveLineFlags(line) & 4) !== 0;
|
|
1647
|
+
const data = new Uint32Array(hl.memory.buffer, count === 0 ? 0 : ex.liveLineTokPtr(line), wide ? count * 2 : count);
|
|
1648
|
+
const stop = Math.min(count, current.record + 256);
|
|
1649
|
+
for (; current.record < stop; current.record++) {
|
|
1650
|
+
const r = current.record;
|
|
1651
|
+
const end = wide ? data[r * 2] : data[r] & 16777215;
|
|
1652
|
+
const hli = wide ? data[r * 2 + 1] : data[r] >>> 24;
|
|
1653
|
+
if (end > current.start) {
|
|
1654
|
+
current.tokens.push([
|
|
1655
|
+
current.start,
|
|
1656
|
+
styles[hli]?.color ?? fg ?? "",
|
|
1657
|
+
current.text.slice(current.start, end)
|
|
1658
|
+
]);
|
|
1659
|
+
current.start = end;
|
|
1660
|
+
}
|
|
1661
|
+
}
|
|
1662
|
+
if (current.record < count) continue;
|
|
1663
|
+
if (current.tokens.length === 0) current.tokens.push([
|
|
1664
|
+
0,
|
|
1665
|
+
current.text.length > 0 ? fg ?? "" : "",
|
|
1666
|
+
current.text
|
|
1667
|
+
]);
|
|
1668
|
+
if (renderRange !== void 0 && line >= renderRange[0] && line < renderRange[1]) lines.set(line, current.tokens);
|
|
1669
|
+
else deferred.set(line, current.tokens);
|
|
1670
|
+
this.#materializing = void 0;
|
|
1671
|
+
if (renderRange === void 0 && deferred.size >= 16) {
|
|
1672
|
+
const ready = deferred;
|
|
1673
|
+
deferred = /* @__PURE__ */ new Map();
|
|
1674
|
+
this.#onDeferTokenize?.(ready);
|
|
1675
|
+
}
|
|
1676
|
+
}
|
|
1677
|
+
if (deferred.size > 0) this.#onDeferTokenize?.(deferred);
|
|
1678
|
+
return lines;
|
|
1679
|
+
}
|
|
1680
|
+
/** Read the coalesced change list the native driver produced. */
|
|
1681
|
+
#readUpdate(hl, ex, previousLineCount, lines) {
|
|
1682
|
+
const base = ex.liveChangesPtr();
|
|
1683
|
+
const count = hl.dv.getUint32(base, true);
|
|
1684
|
+
const lineChanges = [];
|
|
1685
|
+
for (let i = 0; i < count; i++) {
|
|
1686
|
+
const at = base + 4 + i * 16;
|
|
1687
|
+
lineChanges.push({
|
|
1688
|
+
oldStartLine: hl.dv.getUint32(at, true),
|
|
1689
|
+
oldEndLine: hl.dv.getUint32(at + 4, true),
|
|
1690
|
+
newStartLine: hl.dv.getUint32(at + 8, true),
|
|
1691
|
+
newEndLine: hl.dv.getUint32(at + 12, true)
|
|
1692
|
+
});
|
|
1693
|
+
}
|
|
1694
|
+
return {
|
|
1695
|
+
revision: this.#revision,
|
|
1696
|
+
previousLineCount,
|
|
1697
|
+
lineCount: ex.liveLineCount(),
|
|
1698
|
+
lineChanges,
|
|
1699
|
+
lines
|
|
1700
|
+
};
|
|
1701
|
+
}
|
|
1702
|
+
#checkLine(line, ex) {
|
|
1703
|
+
if (!Number.isInteger(line) || line < 0 || line >= ex.liveLineCount()) throw new RangeError(`line ${line} out of range`);
|
|
1704
|
+
}
|
|
1705
|
+
/**
|
|
1706
|
+
* Validate all edit shapes, bounds, ordering, and overlaps before changing
|
|
1707
|
+
* the document. Return edits in ascending order. Remove replacements
|
|
1708
|
+
* whose bytes match the existing text.
|
|
1709
|
+
*/
|
|
1710
|
+
#validate(edits, hl, ex) {
|
|
1711
|
+
if (!Array.isArray(edits)) throw new TypeError("edits must be an array");
|
|
1712
|
+
const lineCount = ex.liveLineCount();
|
|
1713
|
+
const items = [];
|
|
1714
|
+
for (const edit of edits) {
|
|
1715
|
+
if (edit == null || typeof edit !== "object" || edit.range == null) throw new TypeError("each edit needs a range and newText");
|
|
1716
|
+
const { start, end } = edit.range;
|
|
1717
|
+
const newText = edit.newText;
|
|
1718
|
+
if (typeof newText !== "string") throw new TypeError("newText must be a string");
|
|
1719
|
+
for (const pos of [start, end]) {
|
|
1720
|
+
if (pos == null || !Number.isInteger(pos.line) || !Number.isInteger(pos.character) || pos.line < 0 || pos.character < 0) throw new TypeError("positions must be non-negative integers");
|
|
1721
|
+
if (pos.line >= lineCount) throw new RangeError(`line ${pos.line} out of range`);
|
|
1722
|
+
if (pos.character > ex.liveLineLen(pos.line)) throw new RangeError(`character ${pos.character} past the end of line ${pos.line}`);
|
|
1723
|
+
}
|
|
1724
|
+
if (start.line > end.line || start.line === end.line && start.character > end.character) throw new RangeError("range start is after its end");
|
|
1725
|
+
items.push({
|
|
1726
|
+
sl: start.line,
|
|
1727
|
+
sc: start.character,
|
|
1728
|
+
el: end.line,
|
|
1729
|
+
ec: end.character,
|
|
1730
|
+
newText
|
|
1731
|
+
});
|
|
1732
|
+
}
|
|
1733
|
+
items.sort((a, b2) => {
|
|
1734
|
+
if (a.sl !== b2.sl) return a.sl - b2.sl;
|
|
1735
|
+
if (a.sc !== b2.sc) return a.sc - b2.sc;
|
|
1736
|
+
if (a.el !== b2.el) return a.el - b2.el;
|
|
1737
|
+
return a.ec - b2.ec;
|
|
1738
|
+
});
|
|
1739
|
+
for (let i = 1; i < items.length; i++) {
|
|
1740
|
+
const prev = items[i - 1];
|
|
1741
|
+
const cur = items[i];
|
|
1742
|
+
if (prev.el > cur.sl || prev.el === cur.sl && prev.ec > cur.sc) throw new RangeError("edit ranges overlap");
|
|
1743
|
+
if (prev.sl === cur.sl && prev.sc === cur.sc && prev.el === cur.el && prev.ec === cur.ec && prev.sl === prev.el && prev.sc === prev.ec) throw new RangeError("edit ranges overlap");
|
|
1744
|
+
}
|
|
1745
|
+
let lastLine = -1;
|
|
1746
|
+
let lastText = "";
|
|
1747
|
+
const readLine = (line) => {
|
|
1748
|
+
if (line !== lastLine) {
|
|
1749
|
+
lastText = this.#lineText(hl, ex, line);
|
|
1750
|
+
lastLine = line;
|
|
1751
|
+
}
|
|
1752
|
+
return lastText;
|
|
1753
|
+
};
|
|
1754
|
+
const merged = [];
|
|
1755
|
+
for (const e of items) {
|
|
1756
|
+
if (this.#isNoopEdit(e, ex, readLine)) continue;
|
|
1757
|
+
const prev = merged[merged.length - 1];
|
|
1758
|
+
if (prev !== void 0 && prev.el === e.sl) {
|
|
1759
|
+
prev.newText += readLine(e.sl).slice(prev.ec, e.sc) + e.newText;
|
|
1760
|
+
prev.el = e.el;
|
|
1761
|
+
prev.ec = e.ec;
|
|
1762
|
+
} else merged.push(e);
|
|
1763
|
+
}
|
|
1764
|
+
return merged;
|
|
1765
|
+
}
|
|
1766
|
+
/** True when the replacement text equals the range's current text. */
|
|
1767
|
+
#isNoopEdit(e, ex, readLine) {
|
|
1768
|
+
let rangeLen = e.ec - e.sc;
|
|
1769
|
+
for (let line = e.sl; line < e.el; line++) {
|
|
1770
|
+
rangeLen += ex.liveLineLen(line) + (ex.liveLineFlags(line) & 3);
|
|
1771
|
+
if (rangeLen > e.newText.length) return false;
|
|
1772
|
+
}
|
|
1773
|
+
if (rangeLen !== e.newText.length) return false;
|
|
1774
|
+
if (rangeLen === 0) return true;
|
|
1775
|
+
let offset = 0;
|
|
1776
|
+
for (let line = e.sl; line <= e.el; line++) {
|
|
1777
|
+
const lineText = readLine(line);
|
|
1778
|
+
const text = lineText.slice(line === e.sl ? e.sc : 0, line === e.el ? e.ec : lineText.length);
|
|
1779
|
+
if (!e.newText.startsWith(text, offset)) return false;
|
|
1780
|
+
offset += text.length;
|
|
1781
|
+
if (line < e.el) {
|
|
1782
|
+
const terminator = eol(ex.liveLineFlags(line));
|
|
1783
|
+
if (!e.newText.startsWith(terminator, offset)) return false;
|
|
1784
|
+
offset += terminator.length;
|
|
1785
|
+
}
|
|
1786
|
+
}
|
|
1787
|
+
return true;
|
|
1788
|
+
}
|
|
1789
|
+
/** Encode and copy the batch into a staged block, then splice natively. */
|
|
1790
|
+
#stageEdits(hl, ex, batch) {
|
|
1791
|
+
const encoded = batch.map((e) => encodeLiveText(e.newText));
|
|
1792
|
+
let total = 4 + batch.length * 24;
|
|
1793
|
+
for (const bytes of encoded) total += bytes.length;
|
|
1794
|
+
const ptr = ex.liveStage(total);
|
|
1795
|
+
hl.bindMemory();
|
|
1796
|
+
let textOff = 4 + batch.length * 24;
|
|
1797
|
+
for (let i = 0; i < batch.length; i++) {
|
|
1798
|
+
const at = ptr + 4 + i * 24;
|
|
1799
|
+
const e = batch[i];
|
|
1800
|
+
hl.dv.setUint32(at, e.sl, true);
|
|
1801
|
+
hl.dv.setUint32(at + 4, e.sc, true);
|
|
1802
|
+
hl.dv.setUint32(at + 8, e.el, true);
|
|
1803
|
+
hl.dv.setUint32(at + 12, e.ec, true);
|
|
1804
|
+
hl.dv.setUint32(at + 16, textOff, true);
|
|
1805
|
+
hl.dv.setUint32(at + 20, encoded[i].length, true);
|
|
1806
|
+
hl.buffer.set(encoded[i], ptr + textOff);
|
|
1807
|
+
textOff += encoded[i].length;
|
|
1808
|
+
}
|
|
1809
|
+
hl.dv.setUint32(ptr, batch.length, true);
|
|
1810
|
+
ex.liveApplyEdits(ptr, (this.#materializing?.line ?? -1) + 1);
|
|
1811
|
+
this.#materializing = void 0;
|
|
1812
|
+
hl.bindMemory();
|
|
1813
|
+
}
|
|
1814
|
+
};
|
|
1815
|
+
|
|
1816
|
+
// node_modules/@pierre/highlights/dist/highlights.wasm.mjs
|
|
1817
|
+
var s = atob("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QAAAAAAAQAAAEKwQpABBnTELAQQAQbAxCxAEEwgEABMTAAAAExIEEgATAEHMMQsEEhISAgBB7DELIwgEEQAAAAgAAAgIAAAAAAAAAAgAAAAIAAgAAAAAAAAAEwQTAEHAAwvbAZsCAJsCCZsCDagCBwADBwADCwoDCAoDEB8DC70CCt0CCbYCCPECCPECDyoDCCoDEz0DD0wDB0wDD2sDE34DDp4DEFoDBa4CCRkDBqYDCK4DCrsDB8IDB8kDCMkDEeQDC+QDE+QDGAMEFxoEFRoEGjQEGU0EF2QEEnUEE8YCCMYCDtMCC+UCBuUCDYgEDJQEDpQEFYsDA4sDC6kEB2MDCLAEDLwEBZIDBJIDDMEECtkECNkEEusEELcDBPsEBNcDDV4DCfsDCMoED/4EEQ8FChkFDicFBy4FCjgFCgBBmwULpwVhdHRyaWJ1dGUtanN4Ym9vbGVhbmFtZXNwYWNlbWJlZGRlZGlmZi1taW51c2VsZWN0b3ItY2xhc3NlbGVjdG9yLWlkaWZmLXBsdXN0cmluZy1lc2NhcGVtcGhhc2lzLXN0cm9uZ2NvbW1lbnQtZG9jb25zdGFudC1idWlsdGludW1iZXJjb25zdHJ1Y3RvcmZ1bmN0aW9uLWRlZmluaXRpb25mdW5jdGlvbi1tZXRob2RrZXl3b3JkLWNvbnRyb2xhYmVsaW5rLXRleHQtanN4a2V5d29yZC1kZWNsYXJhdGlvbmtleXdvcmQtaW1wb3J0YWctZG9jdHlwZS1idWlsdGlua2V5d29yZC1vcGVyYXRvcnByZWRpY3RpdmVudW1wcmVwcm9jcHJpbWFyeXByb3BlcnR5LWpzb24ta2V5d29yZC1qc2RvY3B1bmN0dWF0aW9uLWJyYWNrZXQtaHRtbGluay11cmlwdW5jdHVhdGlvbi1icmFja2V0LWpzeHB1bmN0dWF0aW9uLWRlbGltaXRlci1odG1scHVuY3R1YXRpb24tZGVsaW1pdGVyLWpzeHB1bmN0dWF0aW9uLWxpc3QtbWFya2VycHVuY3R1YXRpb24tbWFya3VwdW5jdHVhdGlvbi1zcGVjaWFsc3RyaW5nLXJlZ2V4c3RyaW5nLXNwZWNpYWwtc3ltYm9sdGFnLWpzeHRleHQtbGl0ZXJhbHRpdGxldHlwZS1jbGFzc2VsZWN0b3ItcHNldWRvdmFyaWFibGUtcGFyYW1ldGVydmFyaWFibGUtc3BlY2lhbGhpbnRhZy1jb21wb25lbnQtanN4dHlwZS1qc2RvY3ZhcmlhYmxlLWpzZG9jdmFyaWFudGJhY2tncm91bmRmb3JlZ3JvdW5kAEGQNwuWATAxMjM0NTY3ODlhYmNkZWY8cHJlIGNsYXNzPSJoaWdobGlnaHRzIiBzdHlsZT0iPHNwYW4gc3R5bGU9ImNvbG9yOmJhY2tncm91bmQtY29sb3I6O2ZvbnQtc3R5bGU6aXRhbGljO2ZvbnQtd2VpZ2h0OnZhcigiPjxjb2RlPjwvY29kZT48L3ByZT5saWdodC1kYXJrKABBwN0BC/g3aGludF9ub3JtYWxfcm91Z2huZXNzX3RleHR1cmVpbnRlcnByZXRfY2FzdGF0aWNfYXNzZXJ0ZXJtaW5hdGVJbnZvY2F0aW9uYnVpbGRlc3RydWN0dXJpbmctYmluZGluZ2xvYmFsbHljb2hlcmVudHJ5cG9pbnRlcmFjdGl2ZXJiYXRpbXBsZW1lbnRhdGlvbmV3YXlhY2NlbGVyYXRpb25TdHJ1Y3R1cmVFWFRFWFRVUkVfUElYRUxfU0laRXh0UmVzb3VyY2VfY29sb3JkZXJieXRlYXJyYXlQYXlsb2FkSW5FWFRyYW5zZm9ybTJEZWNsYXJlTWF0aE9wZXJhdG9yZWxzZXdoZXJlbmV3ZW52aXJvbm1lbnRlcm1pbmF0ZVJheU5WRVJTSU9OX0dSRUFURVJfRVFVQUxCRURPYmplY3R5cGVvZl91bnF1YWxpZmllZGl0YWJsZXNzdG9yZWRvY3VtZW50Y2xhc3NfbmFtZXNwYWNlbnRyb2lkZWZvdmVycmlkYWJsZXQtdmFsdWVzYWNvbXBhdGliaWxpdHlfYWxpYXNfbWV0aG9kc2FtcGxlcl9jb21wYXJpc29uZW9mZnNldG9maWx0ZXJfbmVhcmVzdF9taXBtYXBwaW5ncm91cF91bmlmb3Jtc3RvcmVxdWlyZV9yZWxhdGl2ZWN0b3JpZ2luY2x1ZGVfZGlyZWN0b3JpZXNoYWRlclJlY29yZEVYVFJBTlNGT1JNT0RFTF9OT1JNQUxfTUFUUklYaGludF9kZWZhdWx0X3RyYW5zcGFyZW50aHJlYWRfbG9jYWxsYWJsZURhdGFJbkVYVEFOR0VOVEFSR0VURVNUUkdSRUFURVJlcXVpcmVQYWNrYWdldGF0dHJpYnV0ZWNobmlxdWVyeUlOVl9QUk9KRUNUSU9OX01BVFJJWGhpbnRfcm91Z2huZXNzX25vcm1hbGxvY2F0YWJsZW5ndGhyZWFkbG9jYWxsYWJsZURhdGFJbk5WRVJTSU9OX0xFU1NfRVFVQUxQSEFUVEVOVUFUSU9OT1JNQUxfTUFQX0RFUFRIaWdub3JlSW50ZXJzZWN0aW9uRVhUUlVFTUlTU0lPTm90SW1wbGVtZW50ZWRpdGlvbnVsbF91bnNwZWNpZmllZGVmaW5lLXN5bnRheC1ydWxlc2F2ZS1leGN1cnNpb25vaW50ZXJwb2xhdGlvbnVsbF9yZXNldHRhYmxldHJlY3Vyc2l2ZXJpZnlfX3RocmVhZGZlbmNlX3N5c3RlbXBsYXRlaW5pdGlhbGl6YXRpb25vcGVyc3BlY3RpdmVuZHN1YnJvdXRpbmV4dGNhc2VsZmRlc3RydWN0b3JheVBheWxvYWRJbk5WRVJTSU9OX0VRVUFMSUdIVF9FTkVSR1lFU0NSRUVOX1BJWEVMX1NJWkVsbGlwc2lzdWJwYXNzSW5wdXRzaGFkZXJSZWNvcmROVklFV1BPUlRfU0laRVhJU1RTUEVDVUxBUl9MSUdIVF9DT0xPUk9VR0hORVNTdWJSZXNvdXJjZXF1aXZhbGVuY2VuZGludGVyZmFjZXhwZXJpbWVudGFsbG9jYXRlZGVmaW5lX21ldGhvZGlzcGludGVyZmFjZXh0X3Jlc291cmNlc3RyaW5naWZ5ZmlsdGVyX2xpbmVhcl9taXBtYXBwZW5kZnVuY3Rpb25vdGNvbnRhaW5zdGFuY2V0eXBlY2FzZWxlY3RvcmVwZWF0X2Rpc2FibGVhdmVudW1lcmF0aW9uYXRpdmV1aW50MTI4aWdub3JlSW50ZXJzZWN0aW9uTlZFTE9DSVRZX190aHJlYWRmZW5jZV9ibG9ja2hhc2hhZGVyX3R5cGVhbGlhc3luY2hyb25vdXN1YnBhc3NJbnB1dGRhdGV0aW1lbW9yeXZpZXdpdGgtY3VycmVudC1idWZmZXJyb3JsZXZlbGVtZW50YWxsb3d6ZXJvd19tYWpvcmV0dXJuZGF0YWNvcHlfX3Vuc2FmZV91bnJldGFpbmVkZWZleGNlcHRpb25vZGVmYXVsdGRlZmluZS1tYWNyb3VuZGVmaW5lZGVmaW50ZXJmYWNlbmRmb3JlYWNoX3JldHVybmRhdGFzaXplb2ZldGNoVGFyYmFsbGlua3NlY3Rpb25vbmF0b21pY191aW50OF90ZXJyYWZvcm1hdGNoZXNhbXBsZXJfc3RhdGV4dGNpdGVwc2JvdW5kcGFyYW1ldGVyc3Vic3Vic2VjdGlvbm9zdXNwZW5kcHJvZ3JhbXVsdGlwbGUtdmFsdWUtYmluZGV4ZWRlZnBhcmFtZXRlcnJkZWZlcnJlZGVsZWdhdGVjYWxsYWJsZURhdGFFWFRydWVudW1lcmF0b3JheVBheWxvYWRFWFR5cGVyc2lzdGVudGhyZWFkSWR4b3JfZXFuYXJyYXlQYXlsb2FkTlZlcmJhdGltcGxlbWVudHN1Yl9yZXNvdXJjZXh0ZW5zaW9uc3VicGFyYWdyYXBoaW50X3NjcmVlbl90ZXh0dXJlcGVhdF9lbmFibGV0Zm5hbWVsaXN0YXRpY19jYXN0YWNrYWxsb2NhbGxhYmxlRGF0YU5WYXJpYW50aHJlYWR2YXJhcmdzdWJzY3JpcHRpb25vZXhjZXB0cmFuc2llbnRleHRmaWxlcHJpdmF0ZXh0YmZsb2F0MTZfdG9TdHJpbmdOYW1lZGl1bXByb3ZpZGVjb21tYW5kYWxzb3J0ZWR5bmFtaWNfY2FzdGF0aWNjYWxsZGF0YWNvcHloaW50X2RlZmF1bHRfYmxhY2tlY2NhazI1NmhpbnRfZGVmYXVsdF93aGl0ZXJhYmxlcXVhdGlvbm9pbmxpbmVzY3JpcHRyYXZlcnNlcXVlbmNlY3JlY292ZXJsb2FkaW5nZF9yZXNvdXJjZW5kZm9yYWxsc3RsaXN0aW5ncm91cHNoYXJlZHluYW1pY3BhcmFtc2dkX3NjZW5ld3R5cGVkZXNjZW5kaW5nYXNsZWZ0eXBlZnJvbW9kdWxlX2Z1bmN0aW9ub25sb2NhbGxkYXRhbG9hZGRfc3ViZGlyZWN0b3J5X19icmlkZ2VfcmV0YWluZWRlZmNhbGxiYWNrc3BhY2VuZG1vZHVsZW5kc2VsZWN0eXBlbmFtZXJlZmVyZW5jZW5kc3dpdGNoZWNrLXR5cGVkZWZjb25zdGFudGFnYm9keV9fYnJpZGdlX3RyYW5zZmVyYXNldGxvY2FsbGNvbnZlcnRlcmVuZXdjb21tYW5kX2VxdWFsc2xpY2VudW1lcmF0ZXh0aXRsZXZhbC13aGVuLWZpcnN0d29yZGJvb2xlYW5zaXN0cmluZ3JpZERpbW11dGFibGV4dG5hbWVvZmluYWxpemF0aW9ub3JldHVybi1mcm9tYWludGFpbmVyZXF1aXJlX29uY2VuZGJsb2NrRGltYXRjaGFyMTZfdGJ1ZmZlcmF5UXVlcnlFWFRBVW5pdGVyYXRvcmVpbnRyb2R1Y2VuZGxvY2FsaWduYXNzb2NpYXRlZGVmZGVsZWdhdGVzdG9wc2lnbmFsaWduYXRvbWljQWRkZWZwcm90b2NvbHVtbl9tYWpvcmVtb3ZlQXR0cnN5bmNocm9uaXplZGlzcGxheW1hdGhlbmRtYWNyb2xldmFyaWFudG9iamVjdHlwZXNldHRlcmVuZGVyX21vZGVhbGxvY2F0ZW5kd2hlcmVhZF93cml0ZW9ubHlfX2xhdW5jaF9ib3VuZHNfX2F1dG9yZWxlYXNpbmdsZW5kd2hpbGV2YWx0eXBlaWRlZmdlbmVyaWNvbXB0aW1lX2Zsb2F0MTI4TU9ERUxWSUVXX01BVFJJWGhpbnRfcm91Z2huZXNzX2F1dG9yZWxlYXNlcG9vbGFzdHdvcmRsaXN0cmljdGZwc3ZlcnNpb250YWJsZXhwbGljaXRldGhlcmVwZWF0YWJsZXhwb3NpbmdhdGhlcmVhZHdyaXRleHRlbmRlZGVmcGFja2FnZXR0ZXJpcGVtZDE2MGhpbnRfcm91Z2huZXNzX2JpYmxpb2dyYXBoeWRyYXRleHRlcm5hbGlnbm9maW5kX2xpYnJhcnloaW50X3JvdWdobmVzc19naXZlbmR0eXBlcm1pdHNob3J0c3RyaW5nb3RvZG9Bc3NlcnRhcmdldHJhY2tleXNwZWNpYWxpemV4cG9ydHN5bnRoZXNpemV4dGVuZHN1Ym1vZHVsZWxzZWlmLXNvbWVzc2FnZXFyZWZpbmRfcGFja2FnZW5jb2RlcHJlY2F0ZWRlcml2YXRpb25vdG1hdGNoYXB0ZXJlYWRvbmx5aGludF9yb3VnaG5lc3NfcmVhbHBhdGhpc2luc3RhbmNlb2ZpbmRfcHJvZ3JhbW9kaWZpZXJlZ2lzdGVyZXBlYXRlZGlhZ25vc3RpY29uZGl0aW9uLWNhc2Vjb25kc2FmZWNhbGxvbmdib29sb25nd29yZHNmaXhlZDMySU5TVEFOQ0VfQ1VTVE9NT0RFTF9NQVRSSVhJTlZfVklFV19NQVRSSVhfX2ZvcmNlaW5saW5lX19zeW5jdGhyZWFkc2ZpeGVkNjRoaW50X2FuaXNvdHJvcHloaXRBdHRyaWJ1dGVFWFRpbmNsdWRlZ3JhcGhpY3N0cmluZ3JlcHJvcGVydGllc2hvcnRpbnRyaW5zaWNvbmZpZ3VyYXRpb25vYWxpYXNjZW5kaW5nd2VpZ25vcmUtZXJyb3JzaW5jbHVkZV9ndWFyZGVmY3VzdG9tdWx0bGluZXZlcmVxdWlyZWRlZmlubGluZXF2b2xhdGlsZW5zdXJlcXVpcmVzdHJpY3RyYWl0dXBsZXZlbnRzbWFsbGludGVybmFsb2dpY2Fsb25naW50ZW50YWlsaWtleGlzdHNlcnZpY2V4cG9zZWFsZWRlZm1hY3JvcGVuQXJyYXlfU3RhdGljX2Fzc2VydHJhcGxhY2Vob2xkZXJpdmluZ3RyaW1wb3J0cnVlY2hvLmFkZGJpYnJlc291cmNlbHNpZi1ub3RoaW5naGl0QXR0cmlidXRlTlZlY3RvcjJ1bndpbmQtcHJvdGVjdGVkZWZtZXRob2RlZm1vZHVsZW1iZWRlZnN0cnVjdHh3aXRoLW9wZW4tZmlsZW1wdHlESUZGVVNFX0xJR0hUSVNfTkVXRVJfVEhBTkFfY2hhcmFjdGVyX1RocmVhZF9sb2NhbGFiZWxzcmV0aHJvd3NwcmludGZhbGx0aHJvdWdoYW5kbGVyLWJpbmRpbWVuc2lvbm90bGlrZW5kZG93bmNhc3RkY2FsbGFtYmRheXN0b3JhZ2VuZGlmbmRlZmNsYXNzZGVmZ3JvdXBjYXN0cmVhbXV0YXRpbmd1bmljb2Rlc3RyaW5nSVNfRElSRUNUT1JZX19jb25zdGFudF9fbWFuYWdlZF9fc2hmbF9zeW5jX2xvbmdkb3VibGUyY29tcHRpbWVfaW50MmNvbnN0X2Fzc2VydGN1ZGFTdHJlYW1fdGhhbmRsZXItY2FzZXQhaW5jbHVkZV9vbmNlbGlmZGVmZ3VhcmRpcmVjdGl2ZW1pdElOU1RBTkNFX0lEaWN0aW9uYXJ5SVNfQUJTT0xVVEVZRURJUkVTVEFSVE5BX2ludGVnZXJfSW1hZ2luYXJ5UE9JTlRfQ09PUkRFRklORURFTlNJVFljX3Vsb25nbG9uZ2NvbnN0cnVjdG9yZWNlaXZlbXBoZWFsdGhjaGVja3NjYWxhcmd1bWVudHNjaGVtYXRtdWxtb2RlY2x0eXBleGVjdWRhRXJyb3JfdGluY2x1ZGVfbGliYXJlbW9kdWxleGl0aW5jbHVkZW9ubHlpbml0aWFsaXplcmVpZmllZGVmbXVsdGluLXBhY2thZ2V4bm90bnVsbGlmeXVucmVhY2hhYmxldXNlLXBhY2thZ2VJU19TWU1MSU5LUEFUSF9FUVVBTG9hZENsYXNzZW1ibGVyZXNoYXBlUE9JTlRfU0laRU5Eb3VibGVQcm9qZWN0aW9udWxscHRyZXR1cm5zaGEyNTZRdWF0ZXJuaW9ub2NpdGVTS1lfQ09PUkRTQ1JFRU5fVVYyX19nbG9iYWxfX251bGxhYmxlX19zeW5jd2FycFNpemViYXNlTmFtZU9maWx0ZXItb3V0cmVmaW5kc3RyaW5nYnJlYWtwb2ludDRjX2xvbmdsb25nY29tcGFyYWJsZWNvbXBsZXgxMjhjb25jdXJyZW50Y29ubmVjdGlvbm9ucmVjb3JkZWZzdWJzdHJpcGFja29mZnNldGZpbmRfZmlsZWNvbnN0X2Nhc3RhcnRjb25zdHJhaW50b3RoZXJ3aXNldHFuYW1lb2ZpbmRfcGF0aGludF9yYW5nZWNvbnRpZ3VvdXNlcGFja2FnZWNvbnRpbnVpbmd1bmF0aXZlaW50d2lkZXN0cmluZ3dpdGgtc2xvdHNpbnQzMiRpbXBsaWNpdEZSQUdDT09SREVMVEFDVElWRVJURVhfTm9yZXR1cm5vdF9lcV9OdWxsYWJsZV9fYWxpZ25fX25vbm51bGxheW91dGVyZW5hbWVtYmVyZXNjdWVhZGRyc3BhY2VhZGRzdWZmaXhhbm9ueW1vdXNpbmdhbnlvcGFxdWVhdG9taWNDQVNUUkVRVUFMSUZFVElNRVRBTExJQ2FsbGFibGVhdmFpbGFibGViaXRzdHJ1Y3Rjb19yZXR1cm5vdGRpck9mcm96ZW5zZXRjb21wYW5pb251bWJlcmVzdWx0Y29tcGxleDY0Y29uc3RldmFsYW5kaXN0aW5jdGNvbnN0ZXhwcmVjaXNpb25vdGluaGVyaXRlZGVjaW1hbGF6eWNvbnN0aW5pdGNvdmFyaWFudGhpbnRfZW51bXV0YXRpb251aW50cHRyZXN1bWVpbnN0ZWFkb2ZhaWx3aXRoZWxwZXJldmVydGludmFyaWFudHBhbnNpY2hhcjhfdHBhcmVuY2l0ZXByaW1pdGl2ZXByb2NlZHVyZXdpbmRlY2xhaW1wdXJldHJ5cHVibGlzaGVkZWNsYXJlcHdpZGVjaGFyYWlzZXVuY2hlY2tlZGVmaW1wbGF0Zm9ybWRpcmVwbGFjZXdhbnRhcnJheXdoZW4tc29tZXdvcmtncm91cHRyaWdodC1pbmNsdWRlZnR5cGVCSU5PUk1BTGlzdEZ1bmN0aW9uaW50SUJBY3Rpb25vbmVJQk91dGxldEl0ZXJhYmxlTkFfcmVhbF9BbGlnbmFzc2VtYmx5Tk9URk9VTkROb2RlUGF0aGlkZGVuYW55ZXJyb3J1bmV4cG9ydFBPU0lUSU9Ob3RoaW5nX0FsaWdub2ZhbGxiYWNrX0NvbXBsZXhfR2VuZXJpY191c2hvcnRfTm9ubnVsbG9vcGVyYXRvcnBjaGFyX19ob3N0X19raW5kb2ZldGNoR2l0X19zdHJvbmdhYnNvbHV0ZWFic3RyYWN0YW55ZmF1bHRhbnlmcmFtZWJhc2VuYW1lYmxvYmhhc2hlbGxvd3BhcmFsbGVseG9yYmxvY2tJZHhidWlsdGluc2ludDY0Ynl0ZWJvb2xzc21vb3RoaWRpbmdjYXJkaW5hbGNvX2F3YWl0Y29feWllbGRlcml2ZXNieXRlc2xvYWRkcmVzc25vcm1pbnV0ZXNwbGl0Y29udGludWVjb250cmFjdGNyZXBsYWNlY3VycmVuY3ljbGVhbnl0eXBlZnJhZ21lbnRpc19jb25zdG9wdGlvbmFsb3ZlcnJpZGVmdmFyeWluZ3BhdHN1YnN0cHJlZmV0Y2hvaWNlcHJvcGVydHlwc2NtZGxldHVuc2lnbmVkaXNjYXJkb3RpbWVzdXBlcndoZW4tbm90d2lsZGNhcmRlaW5pdHdvcmtmbG93YXJuaW5nQm9vbGVhbmlsQ09NTUFOREZsb2F0MzJGbG9hdDY0SU5fTElTVFJMRVNTaWduYWxNQVRDSEVTeW1ib2xWZWN0b3IzVmVjdG9yNF9BdG9taWNfc2hvcnRfX2Jsb2NrYWJzcGF0aGlnaHBhZ2VyZWZhY3RvcnlhdHRyZGVmbi1hdXRvcmVmZWF0dXJlY2J1ZmZlcmNvbW1lbnRjb25jZXB0ZmluYWxseWZsYWxpZ25mbG9hdDMyZmxvYXQ2NGZvclNvbWVmb3JlaWduZm9yd2FyZGVsZXRlZnVuY3Rvcm1pc3NpbmdwYXJ0aWFscGF0dGVybnBheWFibGVwcmVjaXNlcHJlbG9hZGRtb2RlbW90ZXByZXBlbmRpc3BpZG9saXN0cHJlc2VudHByb2Nlc3Nob3djaGFyX3R1bm93bmVkb3dudG91bnF1b3RldW5zaGlmdHVudHlwZWRlZnVubGVzc3BtZG9zZXF2YWNvdW50aWx2aXJ0dWFsd29ya2RpciRjb3VudCRldmVudCRmaXJzdCRpbmRleEZ1dHVyZUlHTk9SRU5VTUJFUmVjdDJpbmZpeGxQT0xJQ1lSZXN1bHRfX3dlYWthc3NpZ25hdXRob3JiaWdpbnRiaXRhbmR3b3JkaWN0Ynljb3B5Y19jaGFyY21hdGNoZGlyY29tbW9uY29uY2F0Y2hvbXBhY2tlZGltM2NvcHJvY19pbnRmYW1pbHlmbGF2b3JmbG9hdDJmbG9hdDRmcmVlemVmcmllbmRvbmVpbmZpeHJpc051bGxtYXRyaXhtaW50ZWRvdG9ta2xpbmtwYXJmb3JwYXNjYWxwcmFnbWF5YmVnaW4tbnNxcnRwcm9tcHRwc2l0ZW1peGVkaWVxcHVibGljZGVjbGlrZXVmaXhlZGl2YWV4cHJvZzF1aW50MTZ1aW50MzJ1aW50NjR2YXR5cGV2b2x1bWUkbGFzdEJFR0lOREVYQmFzaXNpemVDb2xvckZBTFNFTG9uZ0ZhbHNlSW50MzJJbnQ2NE1heWJlTmV2ZXJQbGFuZV9Cb29sYWJvcnRhZnRlcmJpdG9yYnlyZWZhbHNlY2xvbmVjbG9zZWNvbmRwYW5pY3JhdGVmbHVzaGxmb2xkbGZvbGRyaG91cnNheWlmbmVxaW5uZXJpbm91dGlucHV0aW5yZWYxMjhpc25vdGlzc2V0bWl4aW5mb21rZGlybWxvYWRwYXRjaGFucGF1c2VycHJvZzJwcm9nbnB1c2hkdW5pb251bm9ybWF4dW5zZXR1c2l6ZXZhYXJndmFyZWZsYXR2cGF0aGFsZmxldHdlZWtzaHJlZmxpcG9wZCRvZGRBQUJCT09MQnl0ZUNoYXJDcmVmbWFwb3dOVUxMTm9uZVNlbGYxNlZvaWRfY21kYmFuZGJub3RieG9yY2hvcHdkY3JlZjMyaGVhZGhpZGVob21laWZlcWlvdGFiaTE2am9pbnVuaXR1c2VzdjEyOHZvaWRBbnlJTVBJTkZJbmY2NE1hcE5BTmFOYVROaWxPRkZSSURTZXRhc215YXNyYnNsYnNyY2xzY21wY25lY29zZjgwaTMyaTY0aXN6aXB1MTZ1MzJ1NjR1cmx1c3pBT2k4dTgAQaDtAAuOAQILBQoBBgUODA8NAAA9AABRwyCIQRhLKTAQxki7+DDqIBiyJSjqazhFIjgGbijB+DC7+CjJ7CD98kgi+yCBKDg/bChGYBDRJigbLyjrIyBGYRCrriBPIRDNjFCULli1+DCUmyDgdkAoYBC2aSBfuihCgTACISDH+DAG+igBgBAAABIAEwARABUAAwAHADwAQcCtAgsBAgBByq0CC30BAQAAAAAQCAAAAAACAAhBYUIAAAAAADAAAAAIAAAAAAEAAAAAAAAAAwEAAAAAIwABAgAAEEEAAAAAAAEAAAAAgKAAAAAAgAACggAAAAEChCCEAAAAAAEAAYBBAAGCAAAABAQAAAAAEBAQAgBBQUFBYQFhQUFBQUFBUVFBQQBB4dQBC5kEAQUALQoqABIwAAkHGCcMxgaOBpcMahPKCBIKJAt0CTgMNQcwCfsOBwjaFIMUJxC/DA0NdgRXBW0QngoAAGAT5RJRCzkFQBEAAAwKAxPVCGkGeQyCEe8GYQ4eECoLUw4bC7AKWguSCHkRGApCCKsIpAxJDyEFuwYBChQNgAQ/BDAOzwrzDkwMRwi2CDwHWwpJYnJlYWtKY2FzZUtjYXRjaExjbGFzc01jb25zdE5jb250aW51ZU9kZWJ1Z2dlclBkZWZhdWx0UWRlbGV0ZVJkb1NlbHNlVGVudW1VZXhwb3J0VmV4dGVuZHNXZmFsc2VYZmluYWxseVlmb3JaZnVuY3Rpb25baWZcaW1wb3J0XWluXmluc3RhbmNlb2ZfbmV3YG51bGxhcmV0dXJuYnN1cGVyY3N3aXRjaGR0aGlzZXRocm93ZnRydWVndHJ5aHR5cGVvZml2YXJqdm9pZGt3aGlsZWx3aXRobWltcGxlbWVudHNuaW50ZXJmYWNlb2xldHBwYWNrYWdlcXByaXZhdGVycHJvdGVjdGVkc3B1YmxpY3RzdGF0aWN1eWllbGR2YXN3YXN5bmN4YXdhaXR5ZnJvbXpnZXR7b2Z8c2V0fWFic3RyYWN0fmRlY2xhcmV/aW5mZXKAaXOBa2V5b2aCbmFtZXNwYWNlhXNhdGlzZmllc4Z0eXBlhHJlYWRvbmx5g292ZXJyaWRlAEHQrgILhwH9/RkZGRkZGRkZAf0ZGRn+I/39IxkZGRn9Hf8gIBkZGRkgGRkZ/RkZI/4YGRkZGRkZGSAgGRkZGSAZLiMZGRn9GRkZGRkYGRkZEhISExMSERIREhITFBEDEhITEhQREREHEjwSPBIDEhETERIRERMTERERERES//////////////////////8AQcDuAAtTsLUXAAIBAHQPpTCwKiAkUihgIRACISCx9Dhe4ijyBEHrwyCiOCjI6jgBgBCs7EBQQRCWJSFPIRBJMCB1WSCGVkBIOTGQYSDQRTBP7DAZKyjqoBgAQaDvAAvAAQYNfwUDCSUkEQBIBTC5DSzQmRDNgBDwQRhgIiDHjCDgmijMixC4mTB8aUCtiSiDmCjJgChCgSBgIRBWSBjQmigSJjj5JBjYhhgBIBAvLCCkgzA/VhgCISB5iSjmljCSqhjDYRgqmSjUiChWiihJkzB9gBgNghjqIBhPIRCyJVDJmxjYlCgbjhgemyCUmTCujiDahSC/migeMSCjThiNkihgLiiujigYThiUiiBLakB6TBhsgBgAABIAFQATAA4ABABBoPEAC78BeUMT+jABNgUEDy8AhA4GANAlMDiGMICXOB9qIAIhIBhtIPyTSGAhEE5gMF+6KISOcOhMQEUiOEKBaCVsKOogGCZlIJl1QOsjIEd6KFyJKFGKOOV6KFVJOC8sIAhLIEVPaMRpIEspMP52MEKBMBuOQKuuIE8hECmAaKGVQCQyKJRwUEmVQFdCYGBIMCuOQClAMARwMIqVQPBLMLHROAFgGN5nKPx2QBxTSBkrKPaLOJR7IAAAEgATADgAEQADAAcAQeDyAAvtAgEAABAADQAGCgAOBtscGAoVBzZHAAFWB4UEfRsBPScq2RAxYMgwvDsYVWk4JewoBQI5H+ogAAAA/RAhJiY4t/AoQgExekcQYCEQrg4hqy4hzhUxhjZA7AQx/2VAdvMY/PQgKcAwXMko6yMgOOtAq3c4uhc5IwZRNuU4TyEQ3xkxTmAwfGEYuBZB8/VAow8p7/sY+xopBgARpq4wGO0gfskw0SYorMcY0QRJEgY55XooAeAYbyAYSAlJ3wlJ6iAYODko3vsYJiZI3ucoOAYxaegglPsg3IgwJmUgsQkhphI5NRkxNuUgAAAAR+IoAiEgRSI4k2RIAA8pIwYxHQtBABsp3uc44gkxIeswsgUpMCAw5yNA9HNAoWEoBPAwXzopUUMhAQgZJDIo0CUwSykwC0YoxOkgrHNI8Msw3edAN+UwwAFBnhg5GSsoqvUw+hkx9gs51QhBdfQoAAASABMBEwITAxQDEwA4ABEEAwAHAEHh9QALxAECBCMDAAIWDjQiBCICFQoKdTjwLkidoyhk0RgRLkjroyC3tSCsxxgUt0CQwBh3xyhawDhvoBgG4BBfGikJtzgEb0g60CAB6BgAAAB0LkC2qVB82CjogBA9NxkZqyjI1zh/aljvwTivNyhZryi2qSDWtziZuCiwmSivNyA4uSiIwRj55BhwrDhgoRDqoBirDiGmzjDDrjBPoRB6xxA9MUCQ2SAYZmB8QRhuuij/rCDstEgAABMBEwITAxMEEgARABUAAwAHAEHA9wAL5QEpAEgCAAkVCQwCBnM8Eh8SHqQYLY9orFJIB4RoNYEoIyZQf0xgh5NA1kxgILooRJcYhjZAAAAAFitAJYF484Jg7yRYLYFoJiY4bCwwoy8ow2EYe4IgZpc47E1oKqEQAAAAwHYwAAAAWpc4+4IgVZc4eZFQNaMg+UiAsipA84KQAAAABUKY6ZgwK4IQXIQwAAAA1Y9gEipAJYGoAiEg8iRAQJc4V5UYZiUodJBYfFJILYE407gwJDIoM6IQBUI4GSsodoIw0CUwCyYofYJQV7VATyEQqJA48Xoo/Etg+4JQb5FQs7sYAEHA+QAL2QIBBx0aBAICEx4AAAAgJDYCCgUAOggAEQYALTgcCRuQB/aQQXFzKKeYOciWQVkvKDiGMbmVQRuAgcuZMU8hEIuLQUUiOBjtINmJOSCUSeogGPlkGSaOQWCoMGhBKF8aKd7nKCRzMQFoGR/qIAaYMWf4OOVaKHCZMQHgGLybGW6BSJZpMfaLOTg5KBlnMeeJKR/qQAuIYU5AMKbOMNzIMCmAaYGHWRkrKJCAGQZgEemTSXb0OFyJKasOIfyTSSZlIFVpOJT7IOsjIM93OLujQOiOSS8sIFZ6KQTwMBlnGYWSUbUzSG8gGFGKOQjrIFw2QAIhIAAAAGAhEAAAANSHOf72MCGLMSmgMLExOfz2QA15MfCrMCQyKL2HQUspMNAlME/MMCXsKFQ2QBuOQTiJQclMIRpnKeisQENyKcTpIFeCYQAAEgATARMCEwMTABQAOAADAAcAPAAZABEAQcD/AAtxTi8AMCwABgJkeTAUcCBYLXj4ciD3KojSSTjueSgRR0h3ikgrciAkcGDrL1jhL2AzM0hljWjlMVD3kVDGNUB/k0gAAAAVSkCqg2hYhZheeTDkdzAEcDj9UUAjVkCqg6AAcVhEeSD0j1gAABEAPAA4AA4AQaD8AAuQAwEAAE4xJDIBEQAKASWIIRAhAARQEQKdJQkANgxfBCQJ0cAgD8Uxp7g4adYoOEYx3scoAiEgYKAw4KUwxTRIJiY4AAAA/rJAV7YoX/oos6gwbmFIcZMohjZA1Kc4iMEZqtUwBNAwKEARAAAAXKkoubVAAAAATyEQxzQ4w+Mh1M1JhNshWS8o0cQwQKkYBTIhRSI4y7kw8Kswq+4gNsUgG65AkuIZi6tA0CUwTkAwrKcYGSsoxshRaEEoQdQoY3Ix6iAY4kkxzMA5XzYoySwhYCEQKaAwZyUgT7E4+egZlNsgAcAYOq4oRK5Amskx6K5IbyAY46MYyLZAtikgLywgC8g438Ept9AoCq5AkEAZ0Ichw+EZrKxA7a84KK0o1jc4QkExmdIh2agh6yMgw8owxMkge6UoUQMhFtQ4JDIoI9UgSykwH8og67VAkuoxGrg4ODko2EZAb64wJkUgk0RIikdRGM0gAaAQJcwo0cARu0ERAAASABMBEwIUAhMAOAADAAcAPAAVABMhEyATCBMEExAAQYCBAQuWAgEBCWALDAYLCgAHaR4KFgYGOSMACgACAAAZAAgEAGgCKbRIUQMh6McwTyEQbNcwGNUgAAAAuFooGnghu0ERXKkoAcAYpLc4VUk4KaAwv6MgySwhHNVAzdgw56koAiEgX/ooPcEwXqw4byAYZHghRoAR0YZAptsYWS8oe6Uo67VAOtVAcHshrKcYKEARq+4gfEUhGSsoODkoPdooBNAw6iAYb64wVzYokmIYlNsgVy84JkUgw2EYhjZAaEEoM6dQxMkgoaUgT4wwubVABscg1jc4MCAwudsYYCEQK9MgDzcpkEAZXzYoJ8UYAYw4Cq5AJDIoSykwC8g40CUwRSI4KNAwk6RIAUARBbIgR0dIpo4w8KtA6yMgAEGggwELPRoEBcbTkFgOQRhrTjBzNRhGgDhqSlAoYBBtIFBRTyivRxjaRSD5SBgAWjCuWDgRNijZSCD+SVDSWiD2NhgAQeCDAQuaARMmAgERHwYDAkstDgBTGxhfSlgBwBACISB0TkBNUEC2ySA9FxlROihSMzD4bkjERiCRODB/alhksRj/LCChoSgGwBB8OCgEj0iwKiDNdDgByBh0TkjvoTh6JxA4OSjrIyAZiVir7iD5xBimrjDwhWBZLyhf+iihJSDANChvIBhgIRDcIxhPIRDqIBgPNyl6ODh8gXDtIyF8QRgAQYCFAQtuEwUHCgagEBZRrCChoSgx+yA39yCga0CwKiACISAn4xjSqCDv+DBCgSDcSDDjuChSphg9+ihH9ygoYBA4+ihPIRCmTjD/tCjrIyAY9SDuxiDo5zAp2igBIBBGIRCIIRgAABIAFAEUABMCEwADADgAQYCGAQuhAQqWAQBmAEcAXAWAKQADPwGrjiBjEjECISDrIyDKMDiSahgAYTBCASEcSUH5ZBjGexjc6DBceyCtOSgBaDiqOSjcIximzjBGIRAL0VhROihPIRDdeRgQpkgBaBhYeyBgIzFvIBg4OShYQyHyRBhNehhUeyAZZxh5EzFfmii2aSAGYBDDexgFwjj/LCAAABIAEQAVAAMABwD/////////////AEHBhwEL9AMBAQIGARkHAgADAQIJDgNPBAUAAQAPAAFFAAACEQMDBAEAAQAEDgAIPAABFAQDCVQBABQBBAcADQAWDVYJBRvw60D5ZBlkbEjL+TAvLCDjNRlSMTkCIUjrIyBYNiGkNihnBjGQBGF75WAv+TAYbiE67DBpOinDzCDcAxnOFSGSMSkaDDnU5zgPJTDa8zDjAxn/IBCT5EgoCUmGYBFKNBkRYBFy4yARKxl7OikgKUm0OSFe7Djx5lCjLyid40iM4SjP4lhy4DhD0jhWKlGmrjDQJTAFojjYAhmlJEmyJSgD1EiRKEgZKyh570g4IBk8z0ii9CAu9SCSYhFXODmoZjjwYRFfLykGYBFfWimlJEEm5SABABG+8lDo7kiWNDHcaDAE0DBNMlDcA2nW5SDSOxmHLyi77UjuOhm65UiGNkDvBFlPIRBqKiDbYhFV7jBo4SiN0DjzqiDyREBLzjhkkRgBaBkp6zh750AvLBAwKUjjKkBgIRBsLDCG5Fj+8kDuKilZIiHfQ1DuMDGK5kicGikZbhkeMSBC4SBtQCig9DBa4CCrTiHA9kCwKiDr9UDaKlHJYRH8BEF7LiECISAb7kCUKDBmJSiQMTmlBlESCkE4JiFWKkiP9EhgIiCkLiEAABIAEwETAhQCFAA4ABMAEQAOAAMAFQBBgbgBC/IBAjbvAQpy/gsKAAZTTARB8KtAAeAYLbFYD0IYQOkY3IgwoSUgVc8YKKAQ8iRADJg4w6owAUgY6iAY1Kc4H9YgbyAYQmEgsCogBYI4tikgGSsoH+ogTfEY86VIMCAwBsAQp7g4xOkg8dMgTyEQiPsgAAAAp6Ewy8AYAaAQAAAAdDgwaKEo1eAokKAYHDQg/yAQwNsYYCEQavYokrJQ2ak4f+cgwPYwbooYDrQ4qw4hiEEY0eQw3KMY8qQYe44g3ucoRiEQ3MgYaiYorTkoToAwAiEgnskYYFIwjKEYdTkgXxopAAASABMBEwITBBMAFQA4AAMAQcCLAQv7Ah0YAxY2SjsEAgBVAG8XCBMEDwUjDQAAugVSAAFrCxBL3CMYBdIgAiEgxAkh/yAQYMgw1jc4boFIe44g6iAYrTkophopAUgYaMEoYMAwKM0oVe8YAAAARaI43Igw0QAhjMEYdDgwFRIxBxkxkMAYFhQ5HwohXAYpyWwh3gcpwDQoaiYoH/YgRsEQHDQgwBYxtikgAQAZ6RkpyLZAQmEg0CUwcQgZMxYpfwchTyEQTbMwnukY2hJRGSso2xJJ0QQxRM5AD0IYMCAw8fMgXzopTREZ8iRA6BkxlNsgZFEY8iQYiBshy9kwbyAYUUMhTsAw2MZAoSUgEQsx7hkxSTAgBuAQXzYodTkg67VAaRYpDtQ4YCEQiEEY1Mc4qmMR+BIpKcAwWxop82VIt88wy+AY8MswASAQ1QAp3OgY5Bc5k8RI9Bkxis9ABBAxXQYhqy4h+eQYVjRAwPsYKMAQsCog2ck4wwoZAAASABMBEwITAxMFEwAVADgAAwAHADwAQcDGAQufAgoFFwEJAEMjJQQEAwFTBx4AKwkKAgoEFQAACgABBDQPoVopuTIp2AYZ41UZ2UEZfychUEghkkI5D1cpFjkh0SBJBkgx7WMgAgEhNi4pmCVRQlsgaKEobwAZajYpVxYp8wUxOgQhGQsplg8xe04hYEJB50Mh4FsZASAZDkYpoQUhhhZB6gAZOEAZQiEhBuAQ2cggewUpSlQZO1sZYAAxKToonykpxDNJo0lJ7loZwyoxTwERXxYpyXsY6ghBP0NwSRAhAegYTiAZdlMZJBIpy0xRwyEZ+eQY2EIZps4wQzI57iYg1hc50AUxxCkhx0ExAeAQMERAq00hX08pfIEYMAAxZEAZ3icpu+EQAAADAAcAPAATARMCFAAVABIAOAAOAEHAjgELXAgBNQECDhjzxCkgEzoo2i44mzNAPSEw6Ccw3jgwcjc46CdQ3icoAAAAGzooJjsgoCc4fy4oeTc43jgo5SBYQjooASAYYDcwwzFQlDsgajBQXzVAtjsYqDFQAAA4AEHgjwELJQIFBg0tOyBONzgbOih5NzjoJzAuOijaLjgzOihHNzhyNzgAADgAQaGQAQucAQMCAAIIDwUkBgcAPAYDAasuIDqkIO1jIDZYObapIKzHGAKhICiAEG7qMGgBUV4sOeqgGJ5bGBmrKAaAEPmEGFFDIPLkILuBEF86KIa2QDZKGCSyUKlbGA93KE+hEGgBKUmwIAGIGCSyKLRAECkgMVe2KCYFIdClMGqmKFzJKAGAEDBAMV+2KAAAAwAHADwAFQASABMAEwETAhEADgBBoJgBC0MbFDwBqy4g41gY+4UguYhAfGRYvWBYXzoowGBAUoFAAAAAyYRAh4hYV5JQPIdgUUMga1UYPVcYxYRgAAADAAcADgAxAEGgmgELngIBCRc2IAANAAcAAAEhCwYIADkIFgIGAQQRAA0FFQo3Bj1FoNG2OIiteIWFaN+jUCKnYGBBEOtDIOW6KKsuIBW2INCjaMSJIC+4OAJBIGi0SOOjGIZWQBeieOWhOJOncB2lOOpAGEKzMM2ucFypKK6lMCyKWFWGWBlLKCuuQAO0SF86KPqmaO6qSAS7ICalIE5gMDeEYGCiiF2GMAGgEJWAwFyGOOCmeK2hMJSbIN6HKJWiSEG2MGigQE9BEHOnMEBYMAGAGMm6KOSigJq3KBhBcEOkcKysQPqjcKeoMEVCOASQMJy6KNegeBuuQCRSKNBFMEtJMDaEaDC3IANXODVAmFWpOO+hOCFDqHWhQDaFIPCnOAAAAwASABMAOAARAEHgkQELyAKNJgsDDwAEDR0WDAAYAgwDAQN0Eh8eAQBkBhEgXwQSQDiBMDaqGFCEaNFWOHCEKAAAAHSESJeRUARbIByDKNEqWD2NYONDGABgWBGDUFBrgNFrgMdhqIOQONpkoDJ0SKyAOLxiqOVBOEmNeJSTQBZlcAhsgLRsgBOEYJpXKEWLWFxJKAFFQH6QMBOEKJxaKEBiwBGDgAaTSHyVQMJgYK6QOHCCOFtnmCdokGBAMLRyUJKTIN9BcJ6QWGqEWMdhcC2CmLSgENKRUCCEiA6aKCCPaBGVQC+NeHlteAFAEPBHODOCMA6TKEFokGGEcECLgOKREEFWMNpkaGxnaFCFQCWCSABg6DiNMAODKKyAkG0lWGGEQNmYMAAAADiDQKuCiGCQWBVWIOKRGBKTMBaTMAeDWI6TQNuRSKeCqPKbEAAAEQERAAEAPAAHAEGgmQELYgQJAAUDDaZX2IZAqZQYKdooY5YwekcQ6yMgpq4wXIkoKKAQri4gAiEgCIsg7sYgMCAwMSwgTyEQsPsYZDEYiIEYcjoog4BIeZMwaIogQmEgC4YoAAASABMBEwITABQAAwAHAEHAnAELvAEWBFUUAw4HABNL9QEVAQAASykwLywg5Pc4PTcZOfJQNuUgZC9Y8kQgxOkgsuUo0SYoRSI47vkw6iAYuTIo4PNIXeYgc/Ug0CUwzLogrKcYTyEQAiEg+PIo6yMgdvMY6/c40eQw9PkwXxopqw4h0eAgQmEgk6RI6PkwXOYovos4LywQps4wQ/JQDyUwXKkoQvQ4fDshAeAYTqAwJDIo6fkoM/YohjZA2aEYAAASABMBEwITAxMAFAA4AAMABwBBgJ4BC10BBwEdAw8ABTpUQLBWQLRrMJMkSCYlIFGjIEfXKKJCKOpwMKE6KOjHMEIhIF+aKLJHYEYgEDfXOKuOIN4wMJdrUOU6KDMnUGnQEFRwSCfDGAAAEQERAhEAAwAHADgAQeGeAQvaAQheaQYHOA0kGgMDEx8bASmAMKsuIU8hEJNkSAAAAGhhKA93KdY3OKyHGJyKYEUiOCjgEAIhIG8gGMSHSDCFMDOHUDJuKOiOSCUMKTAgMFRhEc3sUJQbIRgNIVFDId4HKcQJOWAhEJDAGAEAGVkvKAHgEFkvMNEAIclsIb6rOBuOQOeJKAQQMUspMOuVQDg5KF6MOCQyKMuZMIY2QOsjIKauMHeLQCZlIBkrKNAlMB8KIV86KeogGHxBGF82KGNyMNSHOAAAEgATARMCEwAUABEAFQA4AAMABwA8AEHAoAEL0AEqAAABEAQXaQoHAD4nXC8eRqEQ49gwOPsg66MgUtkwnK5AKTooIdg42OIwcehA9K0oS0FIhvooXOko4PsYRlYwsuUoYKEQsKoge+EQZPgga+hAT6EQBoEo1mUgKMAQgfoomLgYAAAANfkwAaAQ+dc4RcI4bPsgEOZIWeIg49goovQgQmEgAWVAx+EwG/sguMogAAAAiIEYX+8oAAAAAqEgUeMg7iYgv2g43Egwedkw0OUwWu4glMgwaGEopk4w2eEYAAADABQAEwASARIAEQAOAEGgogEL6AEBVwMNBgQuBKPBBwEMDxMCk2RIT8wwctJQrcEw60MgAAAA6kAYRUI4nMJIAaAYAAAAL9g4AAAAYMgwAkEgboFI4cQwXzooyewgd9YoYEEQTmAwXMko8MswyMVIhlZAGUsoYMCAT0EQqy4g0MNo0aQwcKZohbkwErkoKcAwJmo46MxAlLsg3qcoNqUgraE4/aEwdcFAOsQgxKkgVWk46tooAAAAh8pgBLAwG85AwXc4oshY5cE4DLsgJFIoS0kw0EUw3qdIp8gwA1c4AcAQaGEo48MYnNoof8N4AAADABIAEwETAjgAEQA8AEGgpAEL3wEDACo1EgFCEhkAABaBTJ5zKaAw3scoJDIoH8ogaEEo0cAgBNAwnKpgYCEQODkohjZAb64wDzcp6K5IXKkoSykwbyAYTyEQJkUgAiEg6yMgy7kwWa8wd6tAXzYoH6w4WS8okEAZk0RIMCAwAAAAySwhX/oo56ko67VAM6dQxKdIY3Ixq+4gLywgzUxRAcAYG65A1Kc4vms4xMk41jc4AAAAXqw4RSI4UQMhGM0gAAAAJcwopo4w0CUwlNsgGSso6iAYMKUwrKcYAAASABMBEwIUABMAOAADAAcAPAAVABMFAEGApgELsAEMAAAeAAIzAAAABQMrMAAFoTsZTyEQTmAwECYp8kRA3CERps4whjZAbCwwhrRIXKkoAeAQ6iAYT8wwgyARHuUYy9kwbyAY3CMYEzg5GSsorTkoRbMo2ak4YCEQfDgoQmEgXxopcdMoiCEYAiEgAAAAqw4hxi45XqIo1jc43IgwODkoqzsZ0CUwC0Yo67VAAAAAJDIoAAAAFZFQYKAwAAASABMBEwITAxMAFAAVAAMABwBBwKcBC/8BFQA2EiAACxRlVH0AAAIVIgAAALn1QF86KclsIaIRMZgbGaHmOMCQWKyHGNHgEHRlSIY2QIyBGC0bIc3zSDfxOFzpKCUaIQAAAMODIIMVObYpIDg5KDEbIQAAAMv5MOogGJf6KKauMAAAANblICcDGWDoMBkrKG8gGDcXOQAAAAAAAOfpKL/jQLvBEL6rOCjAEOgHMQ93KU8hEAHAEETuQJNkSMj2QKznMOjuSGhhKGAhENY3ONTnOOP4KKsuISQyKFFDIcNqMOPjGHvuIEcXKev1QG/uMCaFIAIhINAlMDgKIfJEGFkvKAAAEgATARMCEwAUABUAEQQ4AAMABwA8AEHCqQELgAJRAAgZdQQcCAMDEQEAKgwWCwMAAxcAAQQLAAAGAASWJlAYmyCCUUiN6WCnazE1eyB7bCh/Zij253CP6VDIFzpQJ2ChWigsIzjgS2BRailTJ0gFQjiZyFE8aTjsmxh9dEgtp0EAbkF9QCHcIxnv4JhRbygiUViL+THZpzCXTXiuaiGzTnCnallyajnddzmmLDitOSkdZ0HAGSHGUlAJ4YCI4Rh/ZiCQayi0dzgaOCCTJmgBOTB7ZkCtKSiGQnBAaRiedzh84RhmeyBXaEF9gEHMcTBgQWjQ0CCqyTAL4XAAADYBLAIGAEEADQAMAA4AAAM3BAAFAAY1BzUINQk1CgQLAEHgqwELtAIxAwkAcAAkLEYOAAsJDQENFQAAAAAEEgAUBnwCIwcNBgmFQFEPMe+BOLKFKA6PcHmSILtrUF+6KOuDIKuuIGgyQESRUGaFKC+MEJGYMK7GmHqHEE+JUD23GE+BEPaHON+NaKOSICYrUPKEQGCBELCKGHyBGE+MMNaaKFmPKK2ZKJrjMKaOMIjhGOiAEOGOcAAAAAp1OIiBUNuaKAaAEDCQYJuUOO6SUAGIGI44KLeVIA8bIcRGYDiZKP+MIAQmYAyFKARvSP+McGAjMHyYKHQuQAiFSKGFmAmXOGOJOK+XILaJIPSJWDCAMGAjaPAuSLFvQM5WMKlvQHSAWNCFMPhNSJbPMEzAkLGJSOOZKGSRWG6PYHKDcGeDYFGYMH9qWFlJWAAAEwETAhMDEQAHABEEEQgRDABBoK4BC1knMwIAAgAAG9yDGD1XGKKYKAKBIAFgEF6iKPLEQBaFMAZgELCKIBmLKF86KCSSKE+BEPlkGAFoGGCBEOqAGNDlMKsuIGyMMC/sIAAAAwAHABUAEgATABMBEQBBgK8BC68BGBMZAQAGAQ4JBAUDAQUQCRG2KE+hEGGzSL2zMAAAAMOsQJS3OARVQAaoIHSVQMehMOtNQLKlKJI6KE+MMKYvMHGrQIyhKAibKA6yUMiWQNi2QCOtKG6yKAGiMIS7IGBjMA2iGAagEGuyKMCpICamOBqyUIihGAIhILu6IEswKBy3QAVCOBCGQDC3OKMvKGSzMLupSHg7IG2rQFi5MGCiIAO2QAGoGNCnILGpINSHOABBwLABC4YBOyNwBQIJbwKh+xir+xjj+Bisb0CmrjAIh1ACISAAAACtjVDrIyBr9RhLKTCcMkiC5hhf2igAAACrziA4OSiaOTBsLDAkMihvIBit+xhPIRDcIxjqIBgmhVjyRECWOCDikEgZKyjQJTA6jjDc4RCGNkCngThggDAAABIAEwETAhMAFAADAAcAQeCxAQvyAgEDGpwAADEAGxlWFoopPwUqBj0AAAElBAoGBQMBAxYGKcAwRuAQ2jMxT4EQKKAQBWI4H0ohcUgZAAAA64Mg0UQxq+4g61c5AAAAYMEQNkUhz9c4Ns4oQkEg0UAhAaAQ48MYWNMgwkgpiFg5PRcZZsUoX5Yo6oAY1pc43bkYw0EZhSlIXUYhpE05froY9FkxF7sY7lkxWsAg2Wgg+aQYJsUg0cYorEcY3KgYjzQgBWIZu6EQBqAQJ6AgX/ooxEkhrEc5hpZACEsh+FIpGacYM1YplFshvNsY3kcp5Fc5+2cZcdMockA5iEEYQMkYAoEg6VkpAUAZw8cYXEYpwkhBw8owb4AY1UAptokgSZAgrm4hMGAx84UwuyNAOipAwOEYuNoouVIpC7QoJJIo0IUwCyYoAAAAM2xBpyEwe05JA9c4XEko6FkxAagYGYso8iQg9NNApm4wRqEQrrooAAATARMAFAISABUAEQADAAcAPAA4AA4AQeC0AQtqIUMDYObnQJfsUAAAAF96KNnhGAJBIFGDIAAAAIghGA8iGKElIAAAADAgMFnvKJLqWAEgEMDzKH/5MA40OE9BEKtuIKbuMEz6KAagECvWQAXyUNP1QD3mYLBKIAAAEQASAAMABwAVABcADgBB4LUBC5ICWgMBMQAGAgAAVwAAEAcADgkDBB0RATsFGBAPAwkBBgbcIxjWNzgjWhibWximLjBqqYj72DCGUSicKmDANkDDyzABRWC+KzgKLkDgxYjjoxhQmyB7QRAauTD32CBZLyhRo4CcuijvsUApWyBvIBjsNkALKDjLOTD1uDDpxTBfK3iKLDDd1TDtgyDMtUA8szgytUAJqUABoBCDIHAJqYgGq3gPJUA4OShSxkgPlyisy0jMyjAzYhCjM0iwexgeZBiNo3iCKkBVLFCszEA9dxjUJzjbtUDoLkjepZjtsVCwtUAntUBVxjDaxSCNtziTIZgELyBbuiiTJEg6s0iPoDBoISgqs0gAABEBOAIHAzwEEQURBgBBgroBC6MEAQYEAAwEXQoLAAocBAEaEAYYBAkACmFpIAAbKQALHzUVAQACJw8EAAMHOQENCwsBBBQCAAVYAwECAAkLAxH7hUkAuDjANCibpGBvIBhyYDnAUFjnqSjbcknDbCGTYSE9NxlbgTHqIBjuiknjoxjIb2miOCgo4BBBqljwq0CspxiNcDm5dEEvLCCGNkBFgjnWNzjEaTnMZ0GrDiGRZUnuiilxdEnDoRhcqSi74RBgIRAG4BChJSB++hhGIRDQuSi+azjc6BiIeyBMdkG5alH55BgLqDisjEGt2SgWJTDLuTCoZjimp0hGrFARazFCoSCnuDhydEGOrFAzdimedkG2bUG+hinstkB9qEDyREC8ajklbFkZKygYbUHorEDRZDFdtDDAaSHStEAfaiFRryg/bkH/IBBfGikB4BAEcDHJaVHJpHARrUDrIyBooSjQpyDd+RgZ5xjUpzh1rDhPIRB3qzCQrzgzh1E/uTDCajnjtUBAqUhGIBBvrjACISCDoHAB6BhZgiHDqjDrtUCMmyBjsjDnqWAkMii8uxh0ODDDo3DorkgOtEg4dkEpoDDxQ1DzJTC4dElPrDgfbUFRbjmptEiguTC0a0HVoCgeMSCwKiD0eTHkclEBbDjRYCHtQyG5pGjAaUHcwxgX+xgpqziTpEgwZVHItkC5VUBgqDCPVEhMmDGIsUjBdSkAABIAEwETAhQDEwARABUAAwAHADwAOAAREABBwL4BC/sBMAIDBCJqAQADChYVAwQdEgAGAB4AAAAAEAQaA0UeFgse8SBf7yhPIRBg7jDbwhCx6SDY4jAG+DCiOChp+igS5ji+5ihksRjJwRBX4SgvLCBtKyARwBCGwBDqIBiD+CjvoTgp5iCB9ijDgBh4hihR4BDH+RjALiiM4TBA6RgmJji+azgZKyhe7zgGwBC+mxCE+yCRODBeISAG6CCPOhmq7SAZxxhg+yDfQxgAAAACISCE6RDe8DB77iD5xBjM2xhegihgIRDg+iBf7zAe+xjj9EjnIyA7+SjQJTCB+Dhr8jCgERkw9yDwwRAFoBAByBiSwhDZ4RhD7CALGikAQcHAAQuzAQLYUmoEEBEAFG0OAjcIDTg5KFypKDKuKIY2QJOkSClAMGihKPE6KLFUOPKkQNAlMF9WKGBiQGwsMAVCOOhOSAZuKNVgKF+aKOdJKBkrKM1MUDOnUNRHOF8vKEUiOAdKYMN5KE5USCYmONY3OMNqMO9BOFkvKEspMMtZMN5nKGBAMCQyKF6sOAAAAG6hSD5QYLM6KFBoQGomKNFkMBsvKOtVQGRaKKxMQAAAEgARADgAAwATAEHCwgELzQIKLgAMLQckBjAANqUBEgEAAgBMBBMaAAACAyUDCw7cIxhmlTB0OyFPIRDDTWjP2xiBzzgBwBCRLiBU2yDQJTCiOCiFxBimNiishxhxiECGNkCB1iiGwBAowBDyRECSwhBFIjhY2yCtOSgAAAAYlkAAAACvJyHINSFgIRB+K3H5xBhggzACISAX2xgGwBB+2hgpV0BdziAZKyhjwxjWhSAAAADT2Sir7iBc2yD0NkFPOBlqJjlN2hhczijJLCERwBAZxxjc1DiE2yAAAABvIBi+OTGhOimsKGCgzED8xEAbyjDI2Rj5xFhLKTAm2TDb1EBZLyjqIBiDJomu2ihqxigkMijWNzjJwRCW1kA4OSgpgDAAAAAeMSBRAyEmZSBjOxleODhoYSjHQTBxsygmJjjwwRCyJSlsLDAByBhf+ijbwhAL1CiKhihgiGC7wRAAQaHFAQuTAQcAdAMAAAYDABoEABgCIcBVGLQrMCfNQMu5MLexOHLNOO+sQATQMN7HKDLWMCYlIGrWKO66GLuvMGejMKvuIPe4INmhGNHEMPfSMF/6KEujOP+gEPjSKMC2QPTZMN+hKMTJIL5rOMC2MCjNOKaOMHUsODPWKL2hKHHNQEenUGUuOO7ZMAAAEwETAhMDFAARADgAAwBB4cgBC0MUDAABANYGPpsgipBYOY9oFiUwq5sY8kRANWMg0CUw5yMgGSso6iAYoZsYTyEQAaAQJDIoAAAAQpVAIHooAiEgOY8QAEHAyQELuAEDIgWXAwQGCjc7CgDmDQoA3CMYwDQoJDIokTgwsCogajkxojgo3Ggw2yERWS8poSFh7yGB6C5JrSRpXiEgcTMpYCEQ6iAYCzooli8x0CUwyzkxGSsofEEYoDEY7QMhtzUhQCQh3Ch5Xy8pwC4o7yE5BSI5q84gDxcpTyEQoYEo5yMgBqAQAagYX9ooUjMw1Cc5pDQoXzYotikgtCsxrTko+aQYPfcYaGEoODkpjzQhIi4wASAQRjg5AEGAywELzQEEKzxJEBBZEQEAAAMQBAAMKaAwT4EQAAAAQMkYaRsZD3coeicQJJIoHwohJkUgqdQYGYso2xsZFhopt5UgKOAQaoYo2ckYe8UoxAkh8Gsw9hsRXzopTkAwoxsZQkEgdnoo7UMhAeAQRlshhpZA5hsZTgAZC8gYqy4h4xsZ6RsZV5Yo2BsZ9BsRZHEY6oAYiKEY5VooAoEglMogXKkogRsZ3EgYg6Ag0IUwAAAA9hop4MUwMk4oAAAAAAATARMCFAASABMAEQAVADgAAwA8AEHhzAELxwEOAQABAAdmDAgABA0LOAJx0ygAAABfNijDajDnySjrIyDqIBishxhZLyhj1jhgyDAclCBvIBgLxigPNylvzjDozkihxSBHh0jQJTBCYSDUxzhPrDCQwBir7iAZKyg4OSj+0kB7ziDcIxgXjChNwlhf+ijJLCFRAyHWNzhezDjy1zgmZSC+qzhgIRB50zAAAADj2CimrjDr1UBPIRCwKiBqJijI1kACISB8QRgybiiMgRhoYSgAABIAEwETAhMAFAARAAMABwA8AEHBzgELgANCQS2mEQ0OAlhpBgIMBAAHIAIZAAAREAYtCxMdNQAFOi4ou8EQYpQwxOkgAeAYy9kwnsUg0eQwk0RIYMAwz2g5eGhJcfY4kMAY6oAYLmZxynA42eE4yNZAOGhJsiUo64Mg1Mc4JkUgXxopRYI4xMdIatNIxHop62ExcbMoG8hA69VAfzsZ3U0Z0GVxpq4wE1spDC8RBtgwvXExT9VAp9g4bnYp7WNhG2hhkXVAk0spWmExC005otQgGYsowHBYe1Y518lI72hh8iRANuUgptkwC3ZBmk8h2aggIoUoxdRI2GZhDzcp8XAxjlZA2PkwZiUpi1opb4AYAoEgS4kwiGEYmMUwqw4h4SxAFWhRKO0ovsY4YIEQJJIoO3gxMGAx8MtAZmVJAAAAOJkonc84XJAgt5E4RM5A0IUwyGtJWY8oT4EQtygZAUw40eAghpZATkAwQkEgAAAAySwhavYoKKAQ3E0hAAAAKNg4AAATARMCEwASABQAEQA4AAMAPAAHAA4AQYDSAQvsAQIU9QkoAF4QERVuACIyFBwCISB0ZUjnaSlLiTGyh0hzrCHrIyBEbkG7wRCldyiCakCGNkDRJigowBD3uCHAb0HtQyE39yDQZ1mrDiEctCGi8TBHZ0hXNigWJTBOYDBXb0HIdkEn4xgZiykBwBB7JSj0jSmmrjDqgBl7riHyRCCceilZbzEPVylPgRE4mSlFIjg9Nxl2sxmshxhfGilgIRAjlzDUZzkpYDEAAABueDloYSjo5zBZLyhH9yjLeTFvIBgmZSAkMiiIgRjQJTBM+yAAABIAEwETAhMAFAAVADgAAwAHADwAEQASBBEIAEGA1AELXCQDFxEIDgB/xIkgdpMYNo4owJZAw4EYx6wg6iAYTyEQf4cgYqZIrKcYUWMgASAQ0YQw7aMgX1oo3Kgw1ZMwq04gw4owAiEg1qUgKaYgXqIooy8ooLgoIyYw2YEYAEGA2QELXA8DFBwFNwIBaTsYXmIoT0EQ4UMQ2zsYimYopm4wmGUwumUgAAAA8mQgsEog3GgwQmEg0GMYT2wwozsYZkUo2DsYVWEo2WkY1mUg2nMwYGAwt1UgjXIoAkEgkDsgAEHh2QELogEHE3oDAAwAAx8kAAY6MwDQMlCIgRitwZBJ2xjrIyC3NSCshxjuqijpqlAmjkBFIjhzhzDqIBj1tEiGNkDQJTCtwThVxjD2jFACISAZKygYkGBciSihYSjDxxjIlkCr7iBPIRBp2xhLKTDEySBZoiAkMijUpzhOYDDY2xh6RxDVwCgDNzhf+ijloTjypEDm2xidrzgAABIAEwETAhMAEQA4AAMAQaDbAQugAgEjEA4EGQICBRsADQoAEQAFCgIKDAQFUBMeAAYAAgkBeXMwq64hqJVBXghC0SYpTmAwIJkxqRQahpc5/o9haZsZGw5CAWgZSDQxWoYxzw06aAoiFpopL5JRo5sZWBNK5XooqZY5vBsa/o8xxIkhJmUgBmARnyZJGasoL4txrEcYT4EQC5Bh8AsySZsZbJVBoSY5eicQ1ZsZdpNJzgZBlJshEMZJT0wxUQoq3AJagQlCXEkoTZkp6qAYOBkp+5VBqpohWdFZYOgxAgEhsgUq8olBtZA5AGExUcMhJPIoX7opS8kw0CUxQoEhPxky9pophvZAbyAZSAZatZBZwQVKAAATARMCEwMSBBIFEgYSBxIIEgkUABUAOAADAAcAEQ8REABB0AoLugkoACgANACXAJMBPQKdAhsDQwOCA5YDBAQoBFwEhgSVBJUElQSnBLoEBmM8chVmBmg0bQJzB2MzHGdvI2pzSHRzC2MjCmNjLGNsC2NzDWN1LGVsEWV4FmYjFmZzGGdkHmd5CmhoH2hzKGpsKWt0L21kLm1rNW1sNG1tN3BsN3BtNnBwOXBzO3B5PXJiPnJzQHNjBHNoRnRmAmFzbQpjcHAMY3NzEmVsbSdqc3gtbHVhMW1keDJuaW0zbml4OHBocENzcWxKdHN4S3Z1ZUx3YXROeG1sUHppZwViYXQKYysrI2NqcwhjbGoFY21kSGN0cw1jdWgKY3h4BWRvczZkcGs2ZHByCGVkbhNlcmwRZXhzFGYwMxRmMDgVZjc3FGY5MBRmOTUVZm9yFmZzaRZmc3gdZ3FsHmdzaB5ndnlGaGNsCmhwcBNocmwhaHRtCmh4eClrdHM2bHByLGxzcCNtanM1bWxpSG10czZwYXM5cHMxQHNidCxzY21Cc29sTnN2Zyp0ZXhOeHNkT3ltbFB6b24EenNoBGJhc2gNY3VkYQ5kYXJ0D2RpZmYbZ2xzbCBobHNsIWh0bWwiamF2YSRqc29uK2xlc3MsbGlzcDRvYmpjN3Blcmw9cnVieT5ydXN0P3Nhc3NBc2Nzc0d0b21sSXRzcnhNd2dzbE95YW1sCGNsamMIY2xqcxtjb21wG2ZyYWcbZ2VvbS5tYWtlOXBzZDE5cHNtMTlwd3NoF3RyZXMXdHNjbht2ZXJ0THdhc20DYXN0cm8FYmF0Y2gJY21ha2UaZ2xlYW0lanNvbjUmanNvbmwoanVsaWEqbGF0ZXg1b2NhbWw6cHJvdG9Ac2NhbGFFc3dpZnQsZWxpc3AkanNvbmMPcGF0Y2gEc2hlbGwLY3NoYXJwEWVsaXhpchNlcmxhbmcWZnNoYXJwHmdyb292eSlrb3RsaW4wbWF0bGFiNnBhc2NhbDtweXRob25Ec3ZlbHRlNmRlbHBoaRBkb2NrZXIcZ29sYW5nHmdyYWRsZTRvYmpjcHAwb2N0YXZlLHNjaGVtZUZ0ZnZhcnMIY2xvanVyZRRmb3J0cmFuHWdyYXBocWwfaGFza2VsbDxyc2NyaXB0GGdkc2NyaXB0GWdkc2hhZGVyLm1ha2VmaWxlL21hcmtkb3duQnNvbGlkaXR5AmFzc2VtYmx5OnByb3RvYnVmRnRlcnJhZm9ybQViYXRjaGZpbGUQZG9ja2VyZmlsZRdnZHJlc291cmNlOXBvd2Vyc2hlbGxIYW5ndWxhci10cyxlbWFjcy1saXNwD2dpdC1jb21taXQPZ2l0LXJlYmFzZSNqYXZhc2NyaXB0NG9iamVjdGl2ZWNIdHlwZXNjcmlwdBlnZHNoYWRlcmluYzRvYmplY3RpdmUtYwRzaGVsbHNjcmlwdAFhbmd1bGFyLWh0bWwZZ29kb3Qtc2hhZGVyNm9iamVjdHBhc2NhbARzaGVsbHNlc3Npb24QY29udGFpbmVyZmlsZTZvYmplY3QtcGFzY2FsNG9iamVjdGl2ZS1jcHAXZ29kb3QtcmVzb3VyY2UUZm9ydHJhbi1mcmVlLWZvcm0VZm9ydHJhbi1maXhlZC1mb3Jt");
|
|
1818
|
+
var b = new Uint8Array(s.length);
|
|
1819
|
+
for (let i = 0; i < s.length; i++) b[i] = s.charCodeAt(i);
|
|
1820
|
+
var highlights_wasm_default = b;
|
|
1821
|
+
|
|
1822
|
+
// node_modules/@pierre/highlights/dist/default.js
|
|
1823
|
+
init(new WebAssembly.Module(highlights_wasm_default));
|
|
1824
|
+
|
|
1825
|
+
// node_modules/@pierre/diffs/dist/highlighter/highlights-editor.js
|
|
1826
|
+
var HighlightsEditorTokenizer = class {
|
|
1827
|
+
options;
|
|
1828
|
+
resolveOptions;
|
|
1829
|
+
#tokenizer;
|
|
1830
|
+
#version;
|
|
1831
|
+
#disposed = false;
|
|
1832
|
+
#returnedRange;
|
|
1833
|
+
#paused = false;
|
|
1834
|
+
#capturedLines;
|
|
1835
|
+
#pendingDelivery;
|
|
1836
|
+
constructor(options, resolveOptions) {
|
|
1837
|
+
this.options = options;
|
|
1838
|
+
this.resolveOptions = resolveOptions;
|
|
1839
|
+
this.#version = options.textDocument.version;
|
|
1840
|
+
this.#tokenizer = this.#createTokenizer();
|
|
1841
|
+
}
|
|
1842
|
+
#createTokenizer() {
|
|
1843
|
+
return new LiveTokenizer({
|
|
1844
|
+
...this.resolveOptions({
|
|
1845
|
+
lang: this.options.textDocument.languageId,
|
|
1846
|
+
theme: this.options.theme,
|
|
1847
|
+
cssVariablePrefix: formatCSSVariablePrefix("token"),
|
|
1848
|
+
tokenizeMaxLineLength: this.options.tokenizeMaxLineLength ?? 1e3
|
|
1849
|
+
}),
|
|
1850
|
+
code: this.options.textDocument.getText(),
|
|
1851
|
+
renderRange: [0, 0],
|
|
1852
|
+
onDeferTokenize: (lines) => this.#deliver(lines)
|
|
1853
|
+
});
|
|
1854
|
+
}
|
|
1855
|
+
#deliver(lines) {
|
|
1856
|
+
const captured = this.#capturedLines;
|
|
1857
|
+
if (captured != null) {
|
|
1858
|
+
for (const [line, tokens] of lines) captured.set(line, tokens);
|
|
1859
|
+
return;
|
|
1860
|
+
}
|
|
1861
|
+
const range = this.#returnedRange;
|
|
1862
|
+
if (range != null) {
|
|
1863
|
+
for (const line of lines.keys()) if (line >= range[0] && line < range[1]) lines.delete(line);
|
|
1864
|
+
if (lines.size === 0) return;
|
|
1865
|
+
}
|
|
1866
|
+
this.options.onDeferTokenize(lines);
|
|
1867
|
+
}
|
|
1868
|
+
#queueDelivery(lines) {
|
|
1869
|
+
const pending = this.#pendingDelivery;
|
|
1870
|
+
if (pending != null) {
|
|
1871
|
+
for (const [line, tokens] of lines) pending.set(line, tokens);
|
|
1872
|
+
return;
|
|
1873
|
+
}
|
|
1874
|
+
this.#pendingDelivery = lines;
|
|
1875
|
+
queueMicrotask(() => {
|
|
1876
|
+
const batch = this.#pendingDelivery;
|
|
1877
|
+
this.#pendingDelivery = void 0;
|
|
1878
|
+
if (batch != null && batch.size > 0 && !this.#disposed) this.options.onDeferTokenize(batch);
|
|
1879
|
+
});
|
|
1880
|
+
}
|
|
1881
|
+
tokenize(change, renderRange, hostRealignsRows = false) {
|
|
1882
|
+
const document = this.options.textDocument;
|
|
1883
|
+
const start = Math.min(renderRange?.startingLine ?? 0, document.lineCount);
|
|
1884
|
+
const end = Math.min(start + (renderRange?.totalLines ?? Infinity), document.lineCount);
|
|
1885
|
+
const returnedStart = Math.max(start, change.startLine);
|
|
1886
|
+
this.#paused = false;
|
|
1887
|
+
let lines;
|
|
1888
|
+
if (this.#version !== document.version) {
|
|
1889
|
+
this.#pendingDelivery = void 0;
|
|
1890
|
+
lines = this.#syncDocument(change, [start, end]).lines;
|
|
1891
|
+
this.#version = document.version;
|
|
1892
|
+
} else if (this.#tokenizer.lineCount !== document.lineCount) {
|
|
1893
|
+
this.#pendingDelivery = void 0;
|
|
1894
|
+
lines = this.#tokenizer.reset(document.getText(), { renderRange: [start, end] }).lines;
|
|
1895
|
+
} else {
|
|
1896
|
+
lines = /* @__PURE__ */ new Map();
|
|
1897
|
+
this.#readLines(lines, returnedStart, end);
|
|
1898
|
+
if (this.#pendingDelivery != null) for (const line of lines.keys()) this.#pendingDelivery.delete(line);
|
|
1899
|
+
return lines;
|
|
1900
|
+
}
|
|
1901
|
+
if (change.lineDelta === 0 ? change.changedLineChanges?.some(([, , lineDelta]) => lineDelta !== 0) ?? false : !hostRealignsRows) this.#readLines(lines, returnedStart, end);
|
|
1902
|
+
return lines;
|
|
1903
|
+
}
|
|
1904
|
+
#syncDocument(change, renderRange) {
|
|
1905
|
+
const document = this.options.textDocument;
|
|
1906
|
+
const options = { renderRange };
|
|
1907
|
+
if (Math.abs(document.version - this.#version) === 1 && change.changes.length > 0 && this.#tokenizer.lineCount === change.previousLineCount) try {
|
|
1908
|
+
const update = this.#tokenizer.applyEdits(change.changes.map(({ range, text }) => ({
|
|
1909
|
+
range,
|
|
1910
|
+
newText: text
|
|
1911
|
+
})), options);
|
|
1912
|
+
if (this.#tokenizer.lineCount === document.lineCount) return update;
|
|
1913
|
+
} catch (error) {
|
|
1914
|
+
if (!(error instanceof RangeError)) throw error;
|
|
1915
|
+
}
|
|
1916
|
+
return this.#tokenizer.reset(document.getText(), options);
|
|
1917
|
+
}
|
|
1918
|
+
#readLines(lines, from, to) {
|
|
1919
|
+
this.#returnedRange = [from, to];
|
|
1920
|
+
try {
|
|
1921
|
+
this.#tokenizer.flush(to);
|
|
1922
|
+
} finally {
|
|
1923
|
+
this.#returnedRange = void 0;
|
|
1924
|
+
}
|
|
1925
|
+
for (let line = from; line < to; line++) {
|
|
1926
|
+
if (lines.has(line)) continue;
|
|
1927
|
+
const { tokens } = this.#tokenizer.getLineTokens(line);
|
|
1928
|
+
lines.set(line, tokens.length === 0 ? [[
|
|
1929
|
+
0,
|
|
1930
|
+
"",
|
|
1931
|
+
""
|
|
1932
|
+
]] : tokens.map((token) => [
|
|
1933
|
+
token.offset,
|
|
1934
|
+
token.color ?? "",
|
|
1935
|
+
token.content
|
|
1936
|
+
]));
|
|
1937
|
+
}
|
|
1938
|
+
}
|
|
1939
|
+
setTheme(themeName) {
|
|
1940
|
+
if (themeName === this.options.theme) return;
|
|
1941
|
+
this.options.theme = themeName;
|
|
1942
|
+
this.#tokenizer.dispose();
|
|
1943
|
+
this.#pendingDelivery = void 0;
|
|
1944
|
+
this.#paused = false;
|
|
1945
|
+
this.#version = this.options.textDocument.version;
|
|
1946
|
+
this.#tokenizer = this.#createTokenizer();
|
|
1947
|
+
}
|
|
1948
|
+
getStringCommentRegexpRangesInLine(lineIndex) {
|
|
1949
|
+
const document = this.options.textDocument;
|
|
1950
|
+
if (this.options.matchBrackets === false || lineIndex < 0 || lineIndex >= document.lineCount) return null;
|
|
1951
|
+
const captured = /* @__PURE__ */ new Map();
|
|
1952
|
+
this.#capturedLines = captured;
|
|
1953
|
+
try {
|
|
1954
|
+
if (this.#version !== document.version || this.#tokenizer.lineCount !== document.lineCount) {
|
|
1955
|
+
this.#pendingDelivery = void 0;
|
|
1956
|
+
this.#tokenizer.reset(document.getText(), { renderRange: [lineIndex, lineIndex + 1] });
|
|
1957
|
+
this.#version = document.version;
|
|
1958
|
+
}
|
|
1959
|
+
this.#tokenizer.flush(lineIndex + 1);
|
|
1960
|
+
} finally {
|
|
1961
|
+
this.#capturedLines = void 0;
|
|
1962
|
+
if (this.#paused) this.#tokenizer.pause();
|
|
1963
|
+
}
|
|
1964
|
+
if (captured.size > 0) this.#queueDelivery(captured);
|
|
1965
|
+
return this.#tokenizer.getLineTokens(lineIndex).bracketIgnoredRanges;
|
|
1966
|
+
}
|
|
1967
|
+
prebuildStateStack() {
|
|
1968
|
+
}
|
|
1969
|
+
stopBackgroundTokenize() {
|
|
1970
|
+
this.pauseBackgroundTokenize();
|
|
1971
|
+
}
|
|
1972
|
+
pauseBackgroundTokenize() {
|
|
1973
|
+
this.#paused = true;
|
|
1974
|
+
this.#tokenizer.pause();
|
|
1975
|
+
}
|
|
1976
|
+
resumeBackgroundTokenize() {
|
|
1977
|
+
this.#paused = false;
|
|
1978
|
+
this.#tokenizer.resume();
|
|
1979
|
+
}
|
|
1980
|
+
dispose() {
|
|
1981
|
+
this.#disposed = true;
|
|
1982
|
+
this.#pendingDelivery = void 0;
|
|
1983
|
+
this.#tokenizer.dispose();
|
|
1984
|
+
}
|
|
1985
|
+
};
|
|
1986
|
+
|
|
1987
|
+
// node_modules/@pierre/diffs/dist/highlighter/highlights-stream.js
|
|
1988
|
+
var TRIM_LINE_COUNT = 1024;
|
|
1989
|
+
var DOCUMENT_START = {
|
|
1990
|
+
line: 0,
|
|
1991
|
+
character: 0
|
|
1992
|
+
};
|
|
1993
|
+
var HighlightsStreamTokenizer = class HighlightsStreamTokenizer2 extends BaseStreamTokenizer {
|
|
1994
|
+
options;
|
|
1995
|
+
#tokenizer;
|
|
1996
|
+
#trimLineCount = TRIM_LINE_COUNT;
|
|
1997
|
+
constructor(options) {
|
|
1998
|
+
super();
|
|
1999
|
+
this.options = options;
|
|
2000
|
+
this.#tokenizer = new LiveTokenizer(options);
|
|
2001
|
+
}
|
|
2002
|
+
tokenizeChunk(chunk, stable) {
|
|
2003
|
+
const lineBreaks = [...chunk.matchAll(/\r\n|\r|\n/g)];
|
|
2004
|
+
const startLine = this.#tokenizer.lineCount - 1;
|
|
2005
|
+
const position = {
|
|
2006
|
+
line: startLine,
|
|
2007
|
+
character: this.#tokenizer.getLineLength(startLine)
|
|
2008
|
+
};
|
|
2009
|
+
this.#tokenizer.applyEdits([{
|
|
2010
|
+
range: {
|
|
2011
|
+
start: position,
|
|
2012
|
+
end: position
|
|
2013
|
+
},
|
|
2014
|
+
newText: chunk
|
|
2015
|
+
}]);
|
|
2016
|
+
const lastLine = this.#tokenizer.lineCount - 1;
|
|
2017
|
+
let unstable = [];
|
|
2018
|
+
for (let line = startLine; line <= lastLine; line++) {
|
|
2019
|
+
const { tokens } = this.#tokenizer.getLineTokens(line);
|
|
2020
|
+
for (const token of tokens) token.offset += this.stableOffset;
|
|
2021
|
+
if (line < lastLine) {
|
|
2022
|
+
appendItems(stable, tokens);
|
|
2023
|
+
this.pushLineBreak(stable, this.#tokenizer.getLineLength(line), lineBreaks[line - startLine][0]);
|
|
2024
|
+
} else unstable = tokens;
|
|
2025
|
+
}
|
|
2026
|
+
const tailLength = this.#tokenizer.getLineLength(lastLine);
|
|
2027
|
+
if (lastLine > this.#trimLineCount) {
|
|
2028
|
+
const text = this.#tokenizer.getText();
|
|
2029
|
+
const { lineChanges } = this.#tokenizer.applyEdits([{
|
|
2030
|
+
range: {
|
|
2031
|
+
start: DOCUMENT_START,
|
|
2032
|
+
end: {
|
|
2033
|
+
line: lastLine - 1,
|
|
2034
|
+
character: 0
|
|
2035
|
+
}
|
|
2036
|
+
},
|
|
2037
|
+
newText: ""
|
|
2038
|
+
}]);
|
|
2039
|
+
if (lineChanges.every((change) => change.newEndLine <= 1)) this.#trimLineCount = TRIM_LINE_COUNT;
|
|
2040
|
+
else {
|
|
2041
|
+
const keptLength = this.#tokenizer.getText().length;
|
|
2042
|
+
this.#tokenizer.applyEdits([{
|
|
2043
|
+
range: {
|
|
2044
|
+
start: DOCUMENT_START,
|
|
2045
|
+
end: DOCUMENT_START
|
|
2046
|
+
},
|
|
2047
|
+
newText: text.slice(0, text.length - keptLength)
|
|
2048
|
+
}]);
|
|
2049
|
+
this.#trimLineCount = lastLine * 2;
|
|
2050
|
+
}
|
|
2051
|
+
}
|
|
2052
|
+
return {
|
|
2053
|
+
unstable,
|
|
2054
|
+
tailLength
|
|
2055
|
+
};
|
|
2056
|
+
}
|
|
2057
|
+
clone() {
|
|
2058
|
+
this.assertActive();
|
|
2059
|
+
const clone = new HighlightsStreamTokenizer2(this.options);
|
|
2060
|
+
clone.#tokenizer.reset(this.#tokenizer.getText());
|
|
2061
|
+
this.copyStateTo(clone);
|
|
2062
|
+
return clone;
|
|
2063
|
+
}
|
|
2064
|
+
resetSource() {
|
|
2065
|
+
this.#tokenizer.reset("");
|
|
2066
|
+
this.#trimLineCount = TRIM_LINE_COUNT;
|
|
2067
|
+
}
|
|
2068
|
+
releaseSource() {
|
|
2069
|
+
this.#tokenizer.dispose();
|
|
2070
|
+
}
|
|
2071
|
+
};
|
|
2072
|
+
|
|
2073
|
+
// node_modules/@pierre/diffs/dist/highlighter/backends/highlights.js
|
|
2074
|
+
var HighlightsHighlighter2 = class extends DiffsHighlighter {
|
|
2075
|
+
usedThemes = /* @__PURE__ */ new Map();
|
|
2076
|
+
constructor() {
|
|
2077
|
+
super("highlights", createDiffsThemeResolver("highlights"));
|
|
2078
|
+
}
|
|
2079
|
+
getTheme(name) {
|
|
2080
|
+
this.assertNotDisposed();
|
|
2081
|
+
const theme = this.themeResolver.getResolvedTheme(name) ?? this.usedThemes.get(name);
|
|
2082
|
+
if (theme == null) throw new Error(`Theme "${name}" has not been resolved`);
|
|
2083
|
+
this.usedThemes.set(name, theme);
|
|
2084
|
+
return theme;
|
|
2085
|
+
}
|
|
2086
|
+
codeToTokens(code, options) {
|
|
2087
|
+
this.assertNotDisposed();
|
|
2088
|
+
return codeToTokens(code, this.resolveOptions(options));
|
|
2089
|
+
}
|
|
2090
|
+
createEditorTokenizer(options) {
|
|
2091
|
+
this.assertNotDisposed();
|
|
2092
|
+
return new HighlightsEditorTokenizer(options, (tokenizerOptions) => this.resolveOptions(tokenizerOptions));
|
|
2093
|
+
}
|
|
2094
|
+
createStreamTokenizer(options) {
|
|
2095
|
+
return new HighlightsStreamTokenizer(this.resolveOptions(options));
|
|
2096
|
+
}
|
|
2097
|
+
loadLanguages() {
|
|
2098
|
+
this.assertNotDisposed();
|
|
2099
|
+
return Promise.resolve();
|
|
2100
|
+
}
|
|
2101
|
+
hasLoadedLanguages() {
|
|
2102
|
+
return !this.disposed;
|
|
2103
|
+
}
|
|
2104
|
+
attachLanguages() {
|
|
2105
|
+
this.assertNotDisposed();
|
|
2106
|
+
}
|
|
2107
|
+
releaseResources() {
|
|
2108
|
+
this.usedThemes.clear();
|
|
2109
|
+
}
|
|
2110
|
+
resolveOptions({ theme, themes, ...options }) {
|
|
2111
|
+
const lang = isSupportedLanguage(options.lang) ? options.lang : "text";
|
|
2112
|
+
if (theme != null) return {
|
|
2113
|
+
...options,
|
|
2114
|
+
lang,
|
|
2115
|
+
theme: this.getZedTheme(theme)
|
|
2116
|
+
};
|
|
2117
|
+
if (themes == null) throw new Error("A theme or themes option is required");
|
|
2118
|
+
const resolved = {};
|
|
2119
|
+
for (const [key, name] of Object.entries(themes)) resolved[key] = this.getZedTheme(name);
|
|
2120
|
+
return {
|
|
2121
|
+
...options,
|
|
2122
|
+
lang,
|
|
2123
|
+
themes: resolved
|
|
2124
|
+
};
|
|
2125
|
+
}
|
|
2126
|
+
getZedTheme(name) {
|
|
2127
|
+
const theme = this.getTheme(name);
|
|
2128
|
+
if (theme.zed == null) throw new Error(`Theme "${name}" does not support Highlights`);
|
|
2129
|
+
return theme.zed;
|
|
2130
|
+
}
|
|
2131
|
+
};
|
|
2132
|
+
export {
|
|
2133
|
+
HighlightsHighlighter2 as HighlightsHighlighter
|
|
2134
|
+
};
|
|
2135
|
+
//# sourceMappingURL=chunk-3HYCVQIZ.js.map
|