@gravito/signal 3.0.3 → 3.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +89 -60
  3. package/README.zh-TW.md +140 -9
  4. package/dist/MjmlRenderer-IUH663FT.mjs +8 -0
  5. package/dist/ReactMjmlRenderer-C3P5YO5L.mjs +8 -0
  6. package/dist/ReactRenderer-2JFLRVST.mjs +45 -0
  7. package/dist/{ReactRenderer-L5INVYKT.mjs → ReactRenderer-LYEOSYFS.mjs} +9 -8
  8. package/dist/ReactRenderer-V54CUUEI.mjs +45 -0
  9. package/dist/VueMjmlRenderer-4F4CXHDB.mjs +8 -0
  10. package/dist/VueMjmlRenderer-5WZR4CQG.mjs +8 -0
  11. package/dist/VueMjmlRenderer-U5YMWI44.mjs +8 -0
  12. package/dist/VueRenderer-3YBRQXME.mjs +48 -0
  13. package/dist/VueRenderer-46JGXTJ2.mjs +48 -0
  14. package/dist/VueRenderer-5KWD4R3C.mjs +48 -0
  15. package/dist/VueRenderer-C23U4O5E.mjs +48 -0
  16. package/dist/VueRenderer-LEVDFLHP.mjs +31 -0
  17. package/dist/VueRenderer-RNHSCCRI.mjs +48 -0
  18. package/dist/chunk-3WOR3XSL.mjs +82 -0
  19. package/dist/chunk-DBFIVHHG.mjs +79 -0
  20. package/dist/{chunk-6DZX6EAA.mjs → chunk-HEBXNMVQ.mjs} +12 -1
  21. package/dist/chunk-KB7IDDBT.mjs +82 -0
  22. package/dist/chunk-LZL5UUPC.mjs +82 -0
  23. package/dist/chunk-W6LXIJKK.mjs +57 -0
  24. package/dist/chunk-XBIVBJS2.mjs +8 -0
  25. package/dist/index.d.mts +1680 -209
  26. package/dist/index.d.ts +1680 -209
  27. package/dist/index.js +69405 -542
  28. package/dist/index.mjs +993 -110
  29. package/dist/lib-HJTRWKU5.mjs +67788 -0
  30. package/dist/{VueRenderer-Z5PRVBNH.mjs → server-renderer-4IM3P5XZ.mjs} +308 -423
  31. package/dist/server-renderer-7KWFSTPV.mjs +37193 -0
  32. package/dist/{VueRenderer-S65ZARRI.mjs → server-renderer-S5FPSTJ2.mjs} +931 -877
  33. package/dist/server-renderer-X5LUFVWT.mjs +37193 -0
  34. package/doc/OPTIMIZATION_PLAN.md +496 -0
  35. package/package.json +14 -12
  36. package/scripts/check-coverage.ts +64 -0
  37. package/src/Mailable.ts +340 -44
  38. package/src/OrbitSignal.ts +350 -50
  39. package/src/TypedMailable.ts +96 -0
  40. package/src/dev/DevMailbox.ts +89 -33
  41. package/src/dev/DevServer.ts +14 -14
  42. package/src/dev/storage/FileMailboxStorage.ts +66 -0
  43. package/src/dev/storage/MailboxStorage.ts +15 -0
  44. package/src/dev/storage/MemoryMailboxStorage.ts +36 -0
  45. package/src/dev/ui/mailbox.ts +1 -1
  46. package/src/dev/ui/preview.ts +4 -4
  47. package/src/errors.ts +69 -0
  48. package/src/events.ts +72 -0
  49. package/src/index.ts +20 -1
  50. package/src/renderers/HtmlRenderer.ts +20 -18
  51. package/src/renderers/MjmlRenderer.ts +73 -0
  52. package/src/renderers/ReactMjmlRenderer.ts +94 -0
  53. package/src/renderers/ReactRenderer.ts +26 -21
  54. package/src/renderers/Renderer.ts +43 -3
  55. package/src/renderers/TemplateRenderer.ts +48 -15
  56. package/src/renderers/VueMjmlRenderer.ts +99 -0
  57. package/src/renderers/VueRenderer.ts +26 -21
  58. package/src/renderers/mjml-templates.ts +50 -0
  59. package/src/transports/BaseTransport.ts +148 -0
  60. package/src/transports/LogTransport.ts +28 -6
  61. package/src/transports/MemoryTransport.ts +34 -6
  62. package/src/transports/SesTransport.ts +62 -17
  63. package/src/transports/SmtpTransport.ts +123 -27
  64. package/src/transports/Transport.ts +33 -4
  65. package/src/types.ts +172 -3
  66. package/src/utils/html.ts +43 -0
  67. package/src/webhooks/SendGridWebhookDriver.ts +80 -0
  68. package/src/webhooks/SesWebhookDriver.ts +44 -0
  69. package/tests/DevMailbox.test.ts +54 -0
  70. package/tests/FileMailboxStorage.test.ts +56 -0
  71. package/tests/MjmlLayout.test.ts +28 -0
  72. package/tests/MjmlRenderer.test.ts +53 -0
  73. package/tests/OrbitSignalWebhook.test.ts +56 -0
  74. package/tests/ReactMjmlRenderer.test.ts +33 -0
  75. package/tests/SendGridWebhookDriver.test.ts +69 -0
  76. package/tests/SesWebhookDriver.test.ts +46 -0
  77. package/tests/VueMjmlRenderer.test.ts +35 -0
  78. package/tests/dev-server.test.ts +1 -1
  79. package/tests/transports.test.ts +3 -3
  80. package/tsconfig.json +12 -24
  81. package/dist/OrbitMail-2Z7ZTKYA.mjs +0 -7
  82. package/dist/OrbitMail-BGV32HWN.mjs +0 -7
  83. package/dist/OrbitMail-FUYZQSAV.mjs +0 -7
  84. package/dist/OrbitMail-NAPCRK7B.mjs +0 -7
  85. package/dist/OrbitMail-REGJ276B.mjs +0 -7
  86. package/dist/OrbitMail-TCFBJWDT.mjs +0 -7
  87. package/dist/OrbitMail-XZZW6U4N.mjs +0 -7
  88. package/dist/OrbitSignal-IPSA2CDO.mjs +0 -7
  89. package/dist/OrbitSignal-MABW4DDW.mjs +0 -7
  90. package/dist/OrbitSignal-QSW5VQ5M.mjs +0 -7
  91. package/dist/OrbitSignal-R22QHWAA.mjs +0 -7
  92. package/dist/OrbitSignal-ZKKMEC27.mjs +0 -7
  93. package/dist/chunk-3U2CYJO5.mjs +0 -367
  94. package/dist/chunk-3XFC4T6M.mjs +0 -392
  95. package/dist/chunk-456QRYFW.mjs +0 -401
  96. package/dist/chunk-DT3R2TNV.mjs +0 -367
  97. package/dist/chunk-F6MVTUCT.mjs +0 -421
  98. package/dist/chunk-GADWIVC4.mjs +0 -400
  99. package/dist/chunk-HHKFAMSE.mjs +0 -380
  100. package/dist/chunk-NEQCQSZI.mjs +0 -406
  101. package/dist/chunk-OKRNL6PN.mjs +0 -400
  102. package/dist/chunk-ULN3GMY2.mjs +0 -367
  103. package/dist/chunk-XAWO7RSP.mjs +0 -398
  104. package/dist/chunk-YLVDJSED.mjs +0 -431
@@ -1,12 +1,11 @@
1
1
  import {
2
2
  __commonJS,
3
- __require,
4
- __toESM
5
- } from "./chunk-6DZX6EAA.mjs";
3
+ __require
4
+ } from "./chunk-EBO3CZXG.mjs";
6
5
 
7
- // ../../node_modules/.bun/@vue+shared@3.5.25/node_modules/@vue/shared/dist/shared.cjs.prod.js
6
+ // ../../node_modules/.bun/@vue+shared@3.5.27/node_modules/@vue/shared/dist/shared.cjs.prod.js
8
7
  var require_shared_cjs_prod = __commonJS({
9
- "../../node_modules/.bun/@vue+shared@3.5.25/node_modules/@vue/shared/dist/shared.cjs.prod.js"(exports) {
8
+ "../../node_modules/.bun/@vue+shared@3.5.27/node_modules/@vue/shared/dist/shared.cjs.prod.js"(exports) {
10
9
  "use strict";
11
10
  Object.defineProperty(exports, "__esModule", { value: true });
12
11
  // @__NO_SIDE_EFFECTS__
@@ -593,9 +592,9 @@ var require_shared_cjs_prod = __commonJS({
593
592
  }
594
593
  });
595
594
 
596
- // ../../node_modules/.bun/@vue+shared@3.5.25/node_modules/@vue/shared/dist/shared.cjs.js
595
+ // ../../node_modules/.bun/@vue+shared@3.5.27/node_modules/@vue/shared/dist/shared.cjs.js
597
596
  var require_shared_cjs = __commonJS({
598
- "../../node_modules/.bun/@vue+shared@3.5.25/node_modules/@vue/shared/dist/shared.cjs.js"(exports) {
597
+ "../../node_modules/.bun/@vue+shared@3.5.27/node_modules/@vue/shared/dist/shared.cjs.js"(exports) {
599
598
  "use strict";
600
599
  Object.defineProperty(exports, "__esModule", { value: true });
601
600
  // @__NO_SIDE_EFFECTS__
@@ -1190,9 +1189,9 @@ var require_shared_cjs = __commonJS({
1190
1189
  }
1191
1190
  });
1192
1191
 
1193
- // ../../node_modules/.bun/@vue+shared@3.5.25/node_modules/@vue/shared/index.js
1192
+ // ../../node_modules/.bun/@vue+shared@3.5.27/node_modules/@vue/shared/index.js
1194
1193
  var require_shared = __commonJS({
1195
- "../../node_modules/.bun/@vue+shared@3.5.25/node_modules/@vue/shared/index.js"(exports, module) {
1194
+ "../../node_modules/.bun/@vue+shared@3.5.27/node_modules/@vue/shared/index.js"(exports, module) {
1196
1195
  "use strict";
1197
1196
  if (process.env.NODE_ENV === "production") {
1198
1197
  module.exports = require_shared_cjs_prod();
@@ -1202,41 +1201,15 @@ var require_shared = __commonJS({
1202
1201
  }
1203
1202
  });
1204
1203
 
1205
- // ../../node_modules/.bun/entities@4.5.0/node_modules/entities/lib/generated/decode-data-html.js
1206
- var require_decode_data_html = __commonJS({
1207
- "../../node_modules/.bun/entities@4.5.0/node_modules/entities/lib/generated/decode-data-html.js"(exports) {
1208
- "use strict";
1209
- Object.defineProperty(exports, "__esModule", { value: true });
1210
- exports.default = new Uint16Array(
1211
- // prettier-ignore
1212
- '\u1D41<\xD5\u0131\u028A\u049D\u057B\u05D0\u0675\u06DE\u07A2\u07D6\u080F\u0A4A\u0A91\u0DA1\u0E6D\u0F09\u0F26\u10CA\u1228\u12E1\u1415\u149D\u14C3\u14DF\u1525\0\0\0\0\0\0\u156B\u16CD\u198D\u1C12\u1DDD\u1F7E\u2060\u21B0\u228D\u23C0\u23FB\u2442\u2824\u2912\u2D08\u2E48\u2FCE\u3016\u32BA\u3639\u37AC\u38FE\u3A28\u3A71\u3AE0\u3B2E\u0800EMabcfglmnoprstu\\bfms\x7F\x84\x8B\x90\x95\x98\xA6\xB3\xB9\xC8\xCFlig\u803B\xC6\u40C6P\u803B&\u4026cute\u803B\xC1\u40C1reve;\u4102\u0100iyx}rc\u803B\xC2\u40C2;\u4410r;\uC000\u{1D504}rave\u803B\xC0\u40C0pha;\u4391acr;\u4100d;\u6A53\u0100gp\x9D\xA1on;\u4104f;\uC000\u{1D538}plyFunction;\u6061ing\u803B\xC5\u40C5\u0100cs\xBE\xC3r;\uC000\u{1D49C}ign;\u6254ilde\u803B\xC3\u40C3ml\u803B\xC4\u40C4\u0400aceforsu\xE5\xFB\xFE\u0117\u011C\u0122\u0127\u012A\u0100cr\xEA\xF2kslash;\u6216\u0176\xF6\xF8;\u6AE7ed;\u6306y;\u4411\u0180crt\u0105\u010B\u0114ause;\u6235noullis;\u612Ca;\u4392r;\uC000\u{1D505}pf;\uC000\u{1D539}eve;\u42D8c\xF2\u0113mpeq;\u624E\u0700HOacdefhilorsu\u014D\u0151\u0156\u0180\u019E\u01A2\u01B5\u01B7\u01BA\u01DC\u0215\u0273\u0278\u027Ecy;\u4427PY\u803B\xA9\u40A9\u0180cpy\u015D\u0162\u017Aute;\u4106\u0100;i\u0167\u0168\u62D2talDifferentialD;\u6145leys;\u612D\u0200aeio\u0189\u018E\u0194\u0198ron;\u410Cdil\u803B\xC7\u40C7rc;\u4108nint;\u6230ot;\u410A\u0100dn\u01A7\u01ADilla;\u40B8terDot;\u40B7\xF2\u017Fi;\u43A7rcle\u0200DMPT\u01C7\u01CB\u01D1\u01D6ot;\u6299inus;\u6296lus;\u6295imes;\u6297o\u0100cs\u01E2\u01F8kwiseContourIntegral;\u6232eCurly\u0100DQ\u0203\u020FoubleQuote;\u601Duote;\u6019\u0200lnpu\u021E\u0228\u0247\u0255on\u0100;e\u0225\u0226\u6237;\u6A74\u0180git\u022F\u0236\u023Aruent;\u6261nt;\u622FourIntegral;\u622E\u0100fr\u024C\u024E;\u6102oduct;\u6210nterClockwiseContourIntegral;\u6233oss;\u6A2Fcr;\uC000\u{1D49E}p\u0100;C\u0284\u0285\u62D3ap;\u624D\u0580DJSZacefios\u02A0\u02AC\u02B0\u02B4\u02B8\u02CB\u02D7\u02E1\u02E6\u0333\u048D\u0100;o\u0179\u02A5trahd;\u6911cy;\u4402cy;\u4405cy;\u440F\u0180grs\u02BF\u02C4\u02C7ger;\u6021r;\u61A1hv;\u6AE4\u0100ay\u02D0\u02D5ron;\u410E;\u4414l\u0100;t\u02DD\u02DE\u6207a;\u4394r;\uC000\u{1D507}\u0100af\u02EB\u0327\u0100cm\u02F0\u0322ritical\u0200ADGT\u0300\u0306\u0316\u031Ccute;\u40B4o\u0174\u030B\u030D;\u42D9bleAcute;\u42DDrave;\u4060ilde;\u42DCond;\u62C4ferentialD;\u6146\u0470\u033D\0\0\0\u0342\u0354\0\u0405f;\uC000\u{1D53B}\u0180;DE\u0348\u0349\u034D\u40A8ot;\u60DCqual;\u6250ble\u0300CDLRUV\u0363\u0372\u0382\u03CF\u03E2\u03F8ontourIntegra\xEC\u0239o\u0274\u0379\0\0\u037B\xBB\u0349nArrow;\u61D3\u0100eo\u0387\u03A4ft\u0180ART\u0390\u0396\u03A1rrow;\u61D0ightArrow;\u61D4e\xE5\u02CAng\u0100LR\u03AB\u03C4eft\u0100AR\u03B3\u03B9rrow;\u67F8ightArrow;\u67FAightArrow;\u67F9ight\u0100AT\u03D8\u03DErrow;\u61D2ee;\u62A8p\u0241\u03E9\0\0\u03EFrrow;\u61D1ownArrow;\u61D5erticalBar;\u6225n\u0300ABLRTa\u0412\u042A\u0430\u045E\u047F\u037Crrow\u0180;BU\u041D\u041E\u0422\u6193ar;\u6913pArrow;\u61F5reve;\u4311eft\u02D2\u043A\0\u0446\0\u0450ightVector;\u6950eeVector;\u695Eector\u0100;B\u0459\u045A\u61BDar;\u6956ight\u01D4\u0467\0\u0471eeVector;\u695Fector\u0100;B\u047A\u047B\u61C1ar;\u6957ee\u0100;A\u0486\u0487\u62A4rrow;\u61A7\u0100ct\u0492\u0497r;\uC000\u{1D49F}rok;\u4110\u0800NTacdfglmopqstux\u04BD\u04C0\u04C4\u04CB\u04DE\u04E2\u04E7\u04EE\u04F5\u0521\u052F\u0536\u0552\u055D\u0560\u0565G;\u414AH\u803B\xD0\u40D0cute\u803B\xC9\u40C9\u0180aiy\u04D2\u04D7\u04DCron;\u411Arc\u803B\xCA\u40CA;\u442Dot;\u4116r;\uC000\u{1D508}rave\u803B\xC8\u40C8ement;\u6208\u0100ap\u04FA\u04FEcr;\u4112ty\u0253\u0506\0\0\u0512mallSquare;\u65FBerySmallSquare;\u65AB\u0100gp\u0526\u052Aon;\u4118f;\uC000\u{1D53C}silon;\u4395u\u0100ai\u053C\u0549l\u0100;T\u0542\u0543\u6A75ilde;\u6242librium;\u61CC\u0100ci\u0557\u055Ar;\u6130m;\u6A73a;\u4397ml\u803B\xCB\u40CB\u0100ip\u056A\u056Fsts;\u6203onentialE;\u6147\u0280cfios\u0585\u0588\u058D\u05B2\u05CCy;\u4424r;\uC000\u{1D509}lled\u0253\u0597\0\0\u05A3mallSquare;\u65FCerySmallSquare;\u65AA\u0370\u05BA\0\u05BF\0\0\u05C4f;\uC000\u{1D53D}All;\u6200riertrf;\u6131c\xF2\u05CB\u0600JTabcdfgorst\u05E8\u05EC\u05EF\u05FA\u0600\u0612\u0616\u061B\u061D\u0623\u066C\u0672cy;\u4403\u803B>\u403Emma\u0100;d\u05F7\u05F8\u4393;\u43DCreve;\u411E\u0180eiy\u0607\u060C\u0610dil;\u4122rc;\u411C;\u4413ot;\u4120r;\uC000\u{1D50A};\u62D9pf;\uC000\u{1D53E}eater\u0300EFGLST\u0635\u0644\u064E\u0656\u065B\u0666qual\u0100;L\u063E\u063F\u6265ess;\u62DBullEqual;\u6267reater;\u6AA2ess;\u6277lantEqual;\u6A7Eilde;\u6273cr;\uC000\u{1D4A2};\u626B\u0400Aacfiosu\u0685\u068B\u0696\u069B\u069E\u06AA\u06BE\u06CARDcy;\u442A\u0100ct\u0690\u0694ek;\u42C7;\u405Eirc;\u4124r;\u610ClbertSpace;\u610B\u01F0\u06AF\0\u06B2f;\u610DizontalLine;\u6500\u0100ct\u06C3\u06C5\xF2\u06A9rok;\u4126mp\u0144\u06D0\u06D8ownHum\xF0\u012Fqual;\u624F\u0700EJOacdfgmnostu\u06FA\u06FE\u0703\u0707\u070E\u071A\u071E\u0721\u0728\u0744\u0778\u078B\u078F\u0795cy;\u4415lig;\u4132cy;\u4401cute\u803B\xCD\u40CD\u0100iy\u0713\u0718rc\u803B\xCE\u40CE;\u4418ot;\u4130r;\u6111rave\u803B\xCC\u40CC\u0180;ap\u0720\u072F\u073F\u0100cg\u0734\u0737r;\u412AinaryI;\u6148lie\xF3\u03DD\u01F4\u0749\0\u0762\u0100;e\u074D\u074E\u622C\u0100gr\u0753\u0758ral;\u622Bsection;\u62C2isible\u0100CT\u076C\u0772omma;\u6063imes;\u6062\u0180gpt\u077F\u0783\u0788on;\u412Ef;\uC000\u{1D540}a;\u4399cr;\u6110ilde;\u4128\u01EB\u079A\0\u079Ecy;\u4406l\u803B\xCF\u40CF\u0280cfosu\u07AC\u07B7\u07BC\u07C2\u07D0\u0100iy\u07B1\u07B5rc;\u4134;\u4419r;\uC000\u{1D50D}pf;\uC000\u{1D541}\u01E3\u07C7\0\u07CCr;\uC000\u{1D4A5}rcy;\u4408kcy;\u4404\u0380HJacfos\u07E4\u07E8\u07EC\u07F1\u07FD\u0802\u0808cy;\u4425cy;\u440Cppa;\u439A\u0100ey\u07F6\u07FBdil;\u4136;\u441Ar;\uC000\u{1D50E}pf;\uC000\u{1D542}cr;\uC000\u{1D4A6}\u0580JTaceflmost\u0825\u0829\u082C\u0850\u0863\u09B3\u09B8\u09C7\u09CD\u0A37\u0A47cy;\u4409\u803B<\u403C\u0280cmnpr\u0837\u083C\u0841\u0844\u084Dute;\u4139bda;\u439Bg;\u67EAlacetrf;\u6112r;\u619E\u0180aey\u0857\u085C\u0861ron;\u413Ddil;\u413B;\u441B\u0100fs\u0868\u0970t\u0500ACDFRTUVar\u087E\u08A9\u08B1\u08E0\u08E6\u08FC\u092F\u095B\u0390\u096A\u0100nr\u0883\u088FgleBracket;\u67E8row\u0180;BR\u0899\u089A\u089E\u6190ar;\u61E4ightArrow;\u61C6eiling;\u6308o\u01F5\u08B7\0\u08C3bleBracket;\u67E6n\u01D4\u08C8\0\u08D2eeVector;\u6961ector\u0100;B\u08DB\u08DC\u61C3ar;\u6959loor;\u630Aight\u0100AV\u08EF\u08F5rrow;\u6194ector;\u694E\u0100er\u0901\u0917e\u0180;AV\u0909\u090A\u0910\u62A3rrow;\u61A4ector;\u695Aiangle\u0180;BE\u0924\u0925\u0929\u62B2ar;\u69CFqual;\u62B4p\u0180DTV\u0937\u0942\u094CownVector;\u6951eeVector;\u6960ector\u0100;B\u0956\u0957\u61BFar;\u6958ector\u0100;B\u0965\u0966\u61BCar;\u6952ight\xE1\u039Cs\u0300EFGLST\u097E\u098B\u0995\u099D\u09A2\u09ADqualGreater;\u62DAullEqual;\u6266reater;\u6276ess;\u6AA1lantEqual;\u6A7Dilde;\u6272r;\uC000\u{1D50F}\u0100;e\u09BD\u09BE\u62D8ftarrow;\u61DAidot;\u413F\u0180npw\u09D4\u0A16\u0A1Bg\u0200LRlr\u09DE\u09F7\u0A02\u0A10eft\u0100AR\u09E6\u09ECrrow;\u67F5ightArrow;\u67F7ightArrow;\u67F6eft\u0100ar\u03B3\u0A0Aight\xE1\u03BFight\xE1\u03CAf;\uC000\u{1D543}er\u0100LR\u0A22\u0A2CeftArrow;\u6199ightArrow;\u6198\u0180cht\u0A3E\u0A40\u0A42\xF2\u084C;\u61B0rok;\u4141;\u626A\u0400acefiosu\u0A5A\u0A5D\u0A60\u0A77\u0A7C\u0A85\u0A8B\u0A8Ep;\u6905y;\u441C\u0100dl\u0A65\u0A6FiumSpace;\u605Flintrf;\u6133r;\uC000\u{1D510}nusPlus;\u6213pf;\uC000\u{1D544}c\xF2\u0A76;\u439C\u0480Jacefostu\u0AA3\u0AA7\u0AAD\u0AC0\u0B14\u0B19\u0D91\u0D97\u0D9Ecy;\u440Acute;\u4143\u0180aey\u0AB4\u0AB9\u0ABEron;\u4147dil;\u4145;\u441D\u0180gsw\u0AC7\u0AF0\u0B0Eative\u0180MTV\u0AD3\u0ADF\u0AE8ediumSpace;\u600Bhi\u0100cn\u0AE6\u0AD8\xEB\u0AD9eryThi\xEE\u0AD9ted\u0100GL\u0AF8\u0B06reaterGreate\xF2\u0673essLes\xF3\u0A48Line;\u400Ar;\uC000\u{1D511}\u0200Bnpt\u0B22\u0B28\u0B37\u0B3Areak;\u6060BreakingSpace;\u40A0f;\u6115\u0680;CDEGHLNPRSTV\u0B55\u0B56\u0B6A\u0B7C\u0BA1\u0BEB\u0C04\u0C5E\u0C84\u0CA6\u0CD8\u0D61\u0D85\u6AEC\u0100ou\u0B5B\u0B64ngruent;\u6262pCap;\u626DoubleVerticalBar;\u6226\u0180lqx\u0B83\u0B8A\u0B9Bement;\u6209ual\u0100;T\u0B92\u0B93\u6260ilde;\uC000\u2242\u0338ists;\u6204reater\u0380;EFGLST\u0BB6\u0BB7\u0BBD\u0BC9\u0BD3\u0BD8\u0BE5\u626Fqual;\u6271ullEqual;\uC000\u2267\u0338reater;\uC000\u226B\u0338ess;\u6279lantEqual;\uC000\u2A7E\u0338ilde;\u6275ump\u0144\u0BF2\u0BFDownHump;\uC000\u224E\u0338qual;\uC000\u224F\u0338e\u0100fs\u0C0A\u0C27tTriangle\u0180;BE\u0C1A\u0C1B\u0C21\u62EAar;\uC000\u29CF\u0338qual;\u62ECs\u0300;EGLST\u0C35\u0C36\u0C3C\u0C44\u0C4B\u0C58\u626Equal;\u6270reater;\u6278ess;\uC000\u226A\u0338lantEqual;\uC000\u2A7D\u0338ilde;\u6274ested\u0100GL\u0C68\u0C79reaterGreater;\uC000\u2AA2\u0338essLess;\uC000\u2AA1\u0338recedes\u0180;ES\u0C92\u0C93\u0C9B\u6280qual;\uC000\u2AAF\u0338lantEqual;\u62E0\u0100ei\u0CAB\u0CB9verseElement;\u620CghtTriangle\u0180;BE\u0CCB\u0CCC\u0CD2\u62EBar;\uC000\u29D0\u0338qual;\u62ED\u0100qu\u0CDD\u0D0CuareSu\u0100bp\u0CE8\u0CF9set\u0100;E\u0CF0\u0CF3\uC000\u228F\u0338qual;\u62E2erset\u0100;E\u0D03\u0D06\uC000\u2290\u0338qual;\u62E3\u0180bcp\u0D13\u0D24\u0D4Eset\u0100;E\u0D1B\u0D1E\uC000\u2282\u20D2qual;\u6288ceeds\u0200;EST\u0D32\u0D33\u0D3B\u0D46\u6281qual;\uC000\u2AB0\u0338lantEqual;\u62E1ilde;\uC000\u227F\u0338erset\u0100;E\u0D58\u0D5B\uC000\u2283\u20D2qual;\u6289ilde\u0200;EFT\u0D6E\u0D6F\u0D75\u0D7F\u6241qual;\u6244ullEqual;\u6247ilde;\u6249erticalBar;\u6224cr;\uC000\u{1D4A9}ilde\u803B\xD1\u40D1;\u439D\u0700Eacdfgmoprstuv\u0DBD\u0DC2\u0DC9\u0DD5\u0DDB\u0DE0\u0DE7\u0DFC\u0E02\u0E20\u0E22\u0E32\u0E3F\u0E44lig;\u4152cute\u803B\xD3\u40D3\u0100iy\u0DCE\u0DD3rc\u803B\xD4\u40D4;\u441Eblac;\u4150r;\uC000\u{1D512}rave\u803B\xD2\u40D2\u0180aei\u0DEE\u0DF2\u0DF6cr;\u414Cga;\u43A9cron;\u439Fpf;\uC000\u{1D546}enCurly\u0100DQ\u0E0E\u0E1AoubleQuote;\u601Cuote;\u6018;\u6A54\u0100cl\u0E27\u0E2Cr;\uC000\u{1D4AA}ash\u803B\xD8\u40D8i\u016C\u0E37\u0E3Cde\u803B\xD5\u40D5es;\u6A37ml\u803B\xD6\u40D6er\u0100BP\u0E4B\u0E60\u0100ar\u0E50\u0E53r;\u603Eac\u0100ek\u0E5A\u0E5C;\u63DEet;\u63B4arenthesis;\u63DC\u0480acfhilors\u0E7F\u0E87\u0E8A\u0E8F\u0E92\u0E94\u0E9D\u0EB0\u0EFCrtialD;\u6202y;\u441Fr;\uC000\u{1D513}i;\u43A6;\u43A0usMinus;\u40B1\u0100ip\u0EA2\u0EADncareplan\xE5\u069Df;\u6119\u0200;eio\u0EB9\u0EBA\u0EE0\u0EE4\u6ABBcedes\u0200;EST\u0EC8\u0EC9\u0ECF\u0EDA\u627Aqual;\u6AAFlantEqual;\u627Cilde;\u627Eme;\u6033\u0100dp\u0EE9\u0EEEuct;\u620Fortion\u0100;a\u0225\u0EF9l;\u621D\u0100ci\u0F01\u0F06r;\uC000\u{1D4AB};\u43A8\u0200Ufos\u0F11\u0F16\u0F1B\u0F1FOT\u803B"\u4022r;\uC000\u{1D514}pf;\u611Acr;\uC000\u{1D4AC}\u0600BEacefhiorsu\u0F3E\u0F43\u0F47\u0F60\u0F73\u0FA7\u0FAA\u0FAD\u1096\u10A9\u10B4\u10BEarr;\u6910G\u803B\xAE\u40AE\u0180cnr\u0F4E\u0F53\u0F56ute;\u4154g;\u67EBr\u0100;t\u0F5C\u0F5D\u61A0l;\u6916\u0180aey\u0F67\u0F6C\u0F71ron;\u4158dil;\u4156;\u4420\u0100;v\u0F78\u0F79\u611Cerse\u0100EU\u0F82\u0F99\u0100lq\u0F87\u0F8Eement;\u620Builibrium;\u61CBpEquilibrium;\u696Fr\xBB\u0F79o;\u43A1ght\u0400ACDFTUVa\u0FC1\u0FEB\u0FF3\u1022\u1028\u105B\u1087\u03D8\u0100nr\u0FC6\u0FD2gleBracket;\u67E9row\u0180;BL\u0FDC\u0FDD\u0FE1\u6192ar;\u61E5eftArrow;\u61C4eiling;\u6309o\u01F5\u0FF9\0\u1005bleBracket;\u67E7n\u01D4\u100A\0\u1014eeVector;\u695Dector\u0100;B\u101D\u101E\u61C2ar;\u6955loor;\u630B\u0100er\u102D\u1043e\u0180;AV\u1035\u1036\u103C\u62A2rrow;\u61A6ector;\u695Biangle\u0180;BE\u1050\u1051\u1055\u62B3ar;\u69D0qual;\u62B5p\u0180DTV\u1063\u106E\u1078ownVector;\u694FeeVector;\u695Cector\u0100;B\u1082\u1083\u61BEar;\u6954ector\u0100;B\u1091\u1092\u61C0ar;\u6953\u0100pu\u109B\u109Ef;\u611DndImplies;\u6970ightarrow;\u61DB\u0100ch\u10B9\u10BCr;\u611B;\u61B1leDelayed;\u69F4\u0680HOacfhimoqstu\u10E4\u10F1\u10F7\u10FD\u1119\u111E\u1151\u1156\u1161\u1167\u11B5\u11BB\u11BF\u0100Cc\u10E9\u10EEHcy;\u4429y;\u4428FTcy;\u442Ccute;\u415A\u0280;aeiy\u1108\u1109\u110E\u1113\u1117\u6ABCron;\u4160dil;\u415Erc;\u415C;\u4421r;\uC000\u{1D516}ort\u0200DLRU\u112A\u1134\u113E\u1149ownArrow\xBB\u041EeftArrow\xBB\u089AightArrow\xBB\u0FDDpArrow;\u6191gma;\u43A3allCircle;\u6218pf;\uC000\u{1D54A}\u0272\u116D\0\0\u1170t;\u621Aare\u0200;ISU\u117B\u117C\u1189\u11AF\u65A1ntersection;\u6293u\u0100bp\u118F\u119Eset\u0100;E\u1197\u1198\u628Fqual;\u6291erset\u0100;E\u11A8\u11A9\u6290qual;\u6292nion;\u6294cr;\uC000\u{1D4AE}ar;\u62C6\u0200bcmp\u11C8\u11DB\u1209\u120B\u0100;s\u11CD\u11CE\u62D0et\u0100;E\u11CD\u11D5qual;\u6286\u0100ch\u11E0\u1205eeds\u0200;EST\u11ED\u11EE\u11F4\u11FF\u627Bqual;\u6AB0lantEqual;\u627Dilde;\u627FTh\xE1\u0F8C;\u6211\u0180;es\u1212\u1213\u1223\u62D1rset\u0100;E\u121C\u121D\u6283qual;\u6287et\xBB\u1213\u0580HRSacfhiors\u123E\u1244\u1249\u1255\u125E\u1271\u1276\u129F\u12C2\u12C8\u12D1ORN\u803B\xDE\u40DEADE;\u6122\u0100Hc\u124E\u1252cy;\u440By;\u4426\u0100bu\u125A\u125C;\u4009;\u43A4\u0180aey\u1265\u126A\u126Fron;\u4164dil;\u4162;\u4422r;\uC000\u{1D517}\u0100ei\u127B\u1289\u01F2\u1280\0\u1287efore;\u6234a;\u4398\u0100cn\u128E\u1298kSpace;\uC000\u205F\u200ASpace;\u6009lde\u0200;EFT\u12AB\u12AC\u12B2\u12BC\u623Cqual;\u6243ullEqual;\u6245ilde;\u6248pf;\uC000\u{1D54B}ipleDot;\u60DB\u0100ct\u12D6\u12DBr;\uC000\u{1D4AF}rok;\u4166\u0AE1\u12F7\u130E\u131A\u1326\0\u132C\u1331\0\0\0\0\0\u1338\u133D\u1377\u1385\0\u13FF\u1404\u140A\u1410\u0100cr\u12FB\u1301ute\u803B\xDA\u40DAr\u0100;o\u1307\u1308\u619Fcir;\u6949r\u01E3\u1313\0\u1316y;\u440Eve;\u416C\u0100iy\u131E\u1323rc\u803B\xDB\u40DB;\u4423blac;\u4170r;\uC000\u{1D518}rave\u803B\xD9\u40D9acr;\u416A\u0100di\u1341\u1369er\u0100BP\u1348\u135D\u0100ar\u134D\u1350r;\u405Fac\u0100ek\u1357\u1359;\u63DFet;\u63B5arenthesis;\u63DDon\u0100;P\u1370\u1371\u62C3lus;\u628E\u0100gp\u137B\u137Fon;\u4172f;\uC000\u{1D54C}\u0400ADETadps\u1395\u13AE\u13B8\u13C4\u03E8\u13D2\u13D7\u13F3rrow\u0180;BD\u1150\u13A0\u13A4ar;\u6912ownArrow;\u61C5ownArrow;\u6195quilibrium;\u696Eee\u0100;A\u13CB\u13CC\u62A5rrow;\u61A5own\xE1\u03F3er\u0100LR\u13DE\u13E8eftArrow;\u6196ightArrow;\u6197i\u0100;l\u13F9\u13FA\u43D2on;\u43A5ing;\u416Ecr;\uC000\u{1D4B0}ilde;\u4168ml\u803B\xDC\u40DC\u0480Dbcdefosv\u1427\u142C\u1430\u1433\u143E\u1485\u148A\u1490\u1496ash;\u62ABar;\u6AEBy;\u4412ash\u0100;l\u143B\u143C\u62A9;\u6AE6\u0100er\u1443\u1445;\u62C1\u0180bty\u144C\u1450\u147Aar;\u6016\u0100;i\u144F\u1455cal\u0200BLST\u1461\u1465\u146A\u1474ar;\u6223ine;\u407Ceparator;\u6758ilde;\u6240ThinSpace;\u600Ar;\uC000\u{1D519}pf;\uC000\u{1D54D}cr;\uC000\u{1D4B1}dash;\u62AA\u0280cefos\u14A7\u14AC\u14B1\u14B6\u14BCirc;\u4174dge;\u62C0r;\uC000\u{1D51A}pf;\uC000\u{1D54E}cr;\uC000\u{1D4B2}\u0200fios\u14CB\u14D0\u14D2\u14D8r;\uC000\u{1D51B};\u439Epf;\uC000\u{1D54F}cr;\uC000\u{1D4B3}\u0480AIUacfosu\u14F1\u14F5\u14F9\u14FD\u1504\u150F\u1514\u151A\u1520cy;\u442Fcy;\u4407cy;\u442Ecute\u803B\xDD\u40DD\u0100iy\u1509\u150Drc;\u4176;\u442Br;\uC000\u{1D51C}pf;\uC000\u{1D550}cr;\uC000\u{1D4B4}ml;\u4178\u0400Hacdefos\u1535\u1539\u153F\u154B\u154F\u155D\u1560\u1564cy;\u4416cute;\u4179\u0100ay\u1544\u1549ron;\u417D;\u4417ot;\u417B\u01F2\u1554\0\u155BoWidt\xE8\u0AD9a;\u4396r;\u6128pf;\u6124cr;\uC000\u{1D4B5}\u0BE1\u1583\u158A\u1590\0\u15B0\u15B6\u15BF\0\0\0\0\u15C6\u15DB\u15EB\u165F\u166D\0\u1695\u169B\u16B2\u16B9\0\u16BEcute\u803B\xE1\u40E1reve;\u4103\u0300;Ediuy\u159C\u159D\u15A1\u15A3\u15A8\u15AD\u623E;\uC000\u223E\u0333;\u623Frc\u803B\xE2\u40E2te\u80BB\xB4\u0306;\u4430lig\u803B\xE6\u40E6\u0100;r\xB2\u15BA;\uC000\u{1D51E}rave\u803B\xE0\u40E0\u0100ep\u15CA\u15D6\u0100fp\u15CF\u15D4sym;\u6135\xE8\u15D3ha;\u43B1\u0100ap\u15DFc\u0100cl\u15E4\u15E7r;\u4101g;\u6A3F\u0264\u15F0\0\0\u160A\u0280;adsv\u15FA\u15FB\u15FF\u1601\u1607\u6227nd;\u6A55;\u6A5Clope;\u6A58;\u6A5A\u0380;elmrsz\u1618\u1619\u161B\u161E\u163F\u164F\u1659\u6220;\u69A4e\xBB\u1619sd\u0100;a\u1625\u1626\u6221\u0461\u1630\u1632\u1634\u1636\u1638\u163A\u163C\u163E;\u69A8;\u69A9;\u69AA;\u69AB;\u69AC;\u69AD;\u69AE;\u69AFt\u0100;v\u1645\u1646\u621Fb\u0100;d\u164C\u164D\u62BE;\u699D\u0100pt\u1654\u1657h;\u6222\xBB\xB9arr;\u637C\u0100gp\u1663\u1667on;\u4105f;\uC000\u{1D552}\u0380;Eaeiop\u12C1\u167B\u167D\u1682\u1684\u1687\u168A;\u6A70cir;\u6A6F;\u624Ad;\u624Bs;\u4027rox\u0100;e\u12C1\u1692\xF1\u1683ing\u803B\xE5\u40E5\u0180cty\u16A1\u16A6\u16A8r;\uC000\u{1D4B6};\u402Amp\u0100;e\u12C1\u16AF\xF1\u0288ilde\u803B\xE3\u40E3ml\u803B\xE4\u40E4\u0100ci\u16C2\u16C8onin\xF4\u0272nt;\u6A11\u0800Nabcdefiklnoprsu\u16ED\u16F1\u1730\u173C\u1743\u1748\u1778\u177D\u17E0\u17E6\u1839\u1850\u170D\u193D\u1948\u1970ot;\u6AED\u0100cr\u16F6\u171Ek\u0200ceps\u1700\u1705\u170D\u1713ong;\u624Cpsilon;\u43F6rime;\u6035im\u0100;e\u171A\u171B\u623Dq;\u62CD\u0176\u1722\u1726ee;\u62BDed\u0100;g\u172C\u172D\u6305e\xBB\u172Drk\u0100;t\u135C\u1737brk;\u63B6\u0100oy\u1701\u1741;\u4431quo;\u601E\u0280cmprt\u1753\u175B\u1761\u1764\u1768aus\u0100;e\u010A\u0109ptyv;\u69B0s\xE9\u170Cno\xF5\u0113\u0180ahw\u176F\u1771\u1773;\u43B2;\u6136een;\u626Cr;\uC000\u{1D51F}g\u0380costuvw\u178D\u179D\u17B3\u17C1\u17D5\u17DB\u17DE\u0180aiu\u1794\u1796\u179A\xF0\u0760rc;\u65EFp\xBB\u1371\u0180dpt\u17A4\u17A8\u17ADot;\u6A00lus;\u6A01imes;\u6A02\u0271\u17B9\0\0\u17BEcup;\u6A06ar;\u6605riangle\u0100du\u17CD\u17D2own;\u65BDp;\u65B3plus;\u6A04e\xE5\u1444\xE5\u14ADarow;\u690D\u0180ako\u17ED\u1826\u1835\u0100cn\u17F2\u1823k\u0180lst\u17FA\u05AB\u1802ozenge;\u69EBriangle\u0200;dlr\u1812\u1813\u1818\u181D\u65B4own;\u65BEeft;\u65C2ight;\u65B8k;\u6423\u01B1\u182B\0\u1833\u01B2\u182F\0\u1831;\u6592;\u65914;\u6593ck;\u6588\u0100eo\u183E\u184D\u0100;q\u1843\u1846\uC000=\u20E5uiv;\uC000\u2261\u20E5t;\u6310\u0200ptwx\u1859\u185E\u1867\u186Cf;\uC000\u{1D553}\u0100;t\u13CB\u1863om\xBB\u13CCtie;\u62C8\u0600DHUVbdhmptuv\u1885\u1896\u18AA\u18BB\u18D7\u18DB\u18EC\u18FF\u1905\u190A\u1910\u1921\u0200LRlr\u188E\u1890\u1892\u1894;\u6557;\u6554;\u6556;\u6553\u0280;DUdu\u18A1\u18A2\u18A4\u18A6\u18A8\u6550;\u6566;\u6569;\u6564;\u6567\u0200LRlr\u18B3\u18B5\u18B7\u18B9;\u655D;\u655A;\u655C;\u6559\u0380;HLRhlr\u18CA\u18CB\u18CD\u18CF\u18D1\u18D3\u18D5\u6551;\u656C;\u6563;\u6560;\u656B;\u6562;\u655Fox;\u69C9\u0200LRlr\u18E4\u18E6\u18E8\u18EA;\u6555;\u6552;\u6510;\u650C\u0280;DUdu\u06BD\u18F7\u18F9\u18FB\u18FD;\u6565;\u6568;\u652C;\u6534inus;\u629Flus;\u629Eimes;\u62A0\u0200LRlr\u1919\u191B\u191D\u191F;\u655B;\u6558;\u6518;\u6514\u0380;HLRhlr\u1930\u1931\u1933\u1935\u1937\u1939\u193B\u6502;\u656A;\u6561;\u655E;\u653C;\u6524;\u651C\u0100ev\u0123\u1942bar\u803B\xA6\u40A6\u0200ceio\u1951\u1956\u195A\u1960r;\uC000\u{1D4B7}mi;\u604Fm\u0100;e\u171A\u171Cl\u0180;bh\u1968\u1969\u196B\u405C;\u69C5sub;\u67C8\u016C\u1974\u197El\u0100;e\u1979\u197A\u6022t\xBB\u197Ap\u0180;Ee\u012F\u1985\u1987;\u6AAE\u0100;q\u06DC\u06DB\u0CE1\u19A7\0\u19E8\u1A11\u1A15\u1A32\0\u1A37\u1A50\0\0\u1AB4\0\0\u1AC1\0\0\u1B21\u1B2E\u1B4D\u1B52\0\u1BFD\0\u1C0C\u0180cpr\u19AD\u19B2\u19DDute;\u4107\u0300;abcds\u19BF\u19C0\u19C4\u19CA\u19D5\u19D9\u6229nd;\u6A44rcup;\u6A49\u0100au\u19CF\u19D2p;\u6A4Bp;\u6A47ot;\u6A40;\uC000\u2229\uFE00\u0100eo\u19E2\u19E5t;\u6041\xEE\u0693\u0200aeiu\u19F0\u19FB\u1A01\u1A05\u01F0\u19F5\0\u19F8s;\u6A4Don;\u410Ddil\u803B\xE7\u40E7rc;\u4109ps\u0100;s\u1A0C\u1A0D\u6A4Cm;\u6A50ot;\u410B\u0180dmn\u1A1B\u1A20\u1A26il\u80BB\xB8\u01ADptyv;\u69B2t\u8100\xA2;e\u1A2D\u1A2E\u40A2r\xE4\u01B2r;\uC000\u{1D520}\u0180cei\u1A3D\u1A40\u1A4Dy;\u4447ck\u0100;m\u1A47\u1A48\u6713ark\xBB\u1A48;\u43C7r\u0380;Ecefms\u1A5F\u1A60\u1A62\u1A6B\u1AA4\u1AAA\u1AAE\u65CB;\u69C3\u0180;el\u1A69\u1A6A\u1A6D\u42C6q;\u6257e\u0261\u1A74\0\0\u1A88rrow\u0100lr\u1A7C\u1A81eft;\u61BAight;\u61BB\u0280RSacd\u1A92\u1A94\u1A96\u1A9A\u1A9F\xBB\u0F47;\u64C8st;\u629Birc;\u629Aash;\u629Dnint;\u6A10id;\u6AEFcir;\u69C2ubs\u0100;u\u1ABB\u1ABC\u6663it\xBB\u1ABC\u02EC\u1AC7\u1AD4\u1AFA\0\u1B0Aon\u0100;e\u1ACD\u1ACE\u403A\u0100;q\xC7\xC6\u026D\u1AD9\0\0\u1AE2a\u0100;t\u1ADE\u1ADF\u402C;\u4040\u0180;fl\u1AE8\u1AE9\u1AEB\u6201\xEE\u1160e\u0100mx\u1AF1\u1AF6ent\xBB\u1AE9e\xF3\u024D\u01E7\u1AFE\0\u1B07\u0100;d\u12BB\u1B02ot;\u6A6Dn\xF4\u0246\u0180fry\u1B10\u1B14\u1B17;\uC000\u{1D554}o\xE4\u0254\u8100\xA9;s\u0155\u1B1Dr;\u6117\u0100ao\u1B25\u1B29rr;\u61B5ss;\u6717\u0100cu\u1B32\u1B37r;\uC000\u{1D4B8}\u0100bp\u1B3C\u1B44\u0100;e\u1B41\u1B42\u6ACF;\u6AD1\u0100;e\u1B49\u1B4A\u6AD0;\u6AD2dot;\u62EF\u0380delprvw\u1B60\u1B6C\u1B77\u1B82\u1BAC\u1BD4\u1BF9arr\u0100lr\u1B68\u1B6A;\u6938;\u6935\u0270\u1B72\0\0\u1B75r;\u62DEc;\u62DFarr\u0100;p\u1B7F\u1B80\u61B6;\u693D\u0300;bcdos\u1B8F\u1B90\u1B96\u1BA1\u1BA5\u1BA8\u622Arcap;\u6A48\u0100au\u1B9B\u1B9Ep;\u6A46p;\u6A4Aot;\u628Dr;\u6A45;\uC000\u222A\uFE00\u0200alrv\u1BB5\u1BBF\u1BDE\u1BE3rr\u0100;m\u1BBC\u1BBD\u61B7;\u693Cy\u0180evw\u1BC7\u1BD4\u1BD8q\u0270\u1BCE\0\0\u1BD2re\xE3\u1B73u\xE3\u1B75ee;\u62CEedge;\u62CFen\u803B\xA4\u40A4earrow\u0100lr\u1BEE\u1BF3eft\xBB\u1B80ight\xBB\u1BBDe\xE4\u1BDD\u0100ci\u1C01\u1C07onin\xF4\u01F7nt;\u6231lcty;\u632D\u0980AHabcdefhijlorstuwz\u1C38\u1C3B\u1C3F\u1C5D\u1C69\u1C75\u1C8A\u1C9E\u1CAC\u1CB7\u1CFB\u1CFF\u1D0D\u1D7B\u1D91\u1DAB\u1DBB\u1DC6\u1DCDr\xF2\u0381ar;\u6965\u0200glrs\u1C48\u1C4D\u1C52\u1C54ger;\u6020eth;\u6138\xF2\u1133h\u0100;v\u1C5A\u1C5B\u6010\xBB\u090A\u016B\u1C61\u1C67arow;\u690Fa\xE3\u0315\u0100ay\u1C6E\u1C73ron;\u410F;\u4434\u0180;ao\u0332\u1C7C\u1C84\u0100gr\u02BF\u1C81r;\u61CAtseq;\u6A77\u0180glm\u1C91\u1C94\u1C98\u803B\xB0\u40B0ta;\u43B4ptyv;\u69B1\u0100ir\u1CA3\u1CA8sht;\u697F;\uC000\u{1D521}ar\u0100lr\u1CB3\u1CB5\xBB\u08DC\xBB\u101E\u0280aegsv\u1CC2\u0378\u1CD6\u1CDC\u1CE0m\u0180;os\u0326\u1CCA\u1CD4nd\u0100;s\u0326\u1CD1uit;\u6666amma;\u43DDin;\u62F2\u0180;io\u1CE7\u1CE8\u1CF8\u40F7de\u8100\xF7;o\u1CE7\u1CF0ntimes;\u62C7n\xF8\u1CF7cy;\u4452c\u026F\u1D06\0\0\u1D0Arn;\u631Eop;\u630D\u0280lptuw\u1D18\u1D1D\u1D22\u1D49\u1D55lar;\u4024f;\uC000\u{1D555}\u0280;emps\u030B\u1D2D\u1D37\u1D3D\u1D42q\u0100;d\u0352\u1D33ot;\u6251inus;\u6238lus;\u6214quare;\u62A1blebarwedg\xE5\xFAn\u0180adh\u112E\u1D5D\u1D67ownarrow\xF3\u1C83arpoon\u0100lr\u1D72\u1D76ef\xF4\u1CB4igh\xF4\u1CB6\u0162\u1D7F\u1D85karo\xF7\u0F42\u026F\u1D8A\0\0\u1D8Ern;\u631Fop;\u630C\u0180cot\u1D98\u1DA3\u1DA6\u0100ry\u1D9D\u1DA1;\uC000\u{1D4B9};\u4455l;\u69F6rok;\u4111\u0100dr\u1DB0\u1DB4ot;\u62F1i\u0100;f\u1DBA\u1816\u65BF\u0100ah\u1DC0\u1DC3r\xF2\u0429a\xF2\u0FA6angle;\u69A6\u0100ci\u1DD2\u1DD5y;\u445Fgrarr;\u67FF\u0900Dacdefglmnopqrstux\u1E01\u1E09\u1E19\u1E38\u0578\u1E3C\u1E49\u1E61\u1E7E\u1EA5\u1EAF\u1EBD\u1EE1\u1F2A\u1F37\u1F44\u1F4E\u1F5A\u0100Do\u1E06\u1D34o\xF4\u1C89\u0100cs\u1E0E\u1E14ute\u803B\xE9\u40E9ter;\u6A6E\u0200aioy\u1E22\u1E27\u1E31\u1E36ron;\u411Br\u0100;c\u1E2D\u1E2E\u6256\u803B\xEA\u40EAlon;\u6255;\u444Dot;\u4117\u0100Dr\u1E41\u1E45ot;\u6252;\uC000\u{1D522}\u0180;rs\u1E50\u1E51\u1E57\u6A9Aave\u803B\xE8\u40E8\u0100;d\u1E5C\u1E5D\u6A96ot;\u6A98\u0200;ils\u1E6A\u1E6B\u1E72\u1E74\u6A99nters;\u63E7;\u6113\u0100;d\u1E79\u1E7A\u6A95ot;\u6A97\u0180aps\u1E85\u1E89\u1E97cr;\u4113ty\u0180;sv\u1E92\u1E93\u1E95\u6205et\xBB\u1E93p\u01001;\u1E9D\u1EA4\u0133\u1EA1\u1EA3;\u6004;\u6005\u6003\u0100gs\u1EAA\u1EAC;\u414Bp;\u6002\u0100gp\u1EB4\u1EB8on;\u4119f;\uC000\u{1D556}\u0180als\u1EC4\u1ECE\u1ED2r\u0100;s\u1ECA\u1ECB\u62D5l;\u69E3us;\u6A71i\u0180;lv\u1EDA\u1EDB\u1EDF\u43B5on\xBB\u1EDB;\u43F5\u0200csuv\u1EEA\u1EF3\u1F0B\u1F23\u0100io\u1EEF\u1E31rc\xBB\u1E2E\u0269\u1EF9\0\0\u1EFB\xED\u0548ant\u0100gl\u1F02\u1F06tr\xBB\u1E5Dess\xBB\u1E7A\u0180aei\u1F12\u1F16\u1F1Als;\u403Dst;\u625Fv\u0100;D\u0235\u1F20D;\u6A78parsl;\u69E5\u0100Da\u1F2F\u1F33ot;\u6253rr;\u6971\u0180cdi\u1F3E\u1F41\u1EF8r;\u612Fo\xF4\u0352\u0100ah\u1F49\u1F4B;\u43B7\u803B\xF0\u40F0\u0100mr\u1F53\u1F57l\u803B\xEB\u40EBo;\u60AC\u0180cip\u1F61\u1F64\u1F67l;\u4021s\xF4\u056E\u0100eo\u1F6C\u1F74ctatio\xEE\u0559nential\xE5\u0579\u09E1\u1F92\0\u1F9E\0\u1FA1\u1FA7\0\0\u1FC6\u1FCC\0\u1FD3\0\u1FE6\u1FEA\u2000\0\u2008\u205Allingdotse\xF1\u1E44y;\u4444male;\u6640\u0180ilr\u1FAD\u1FB3\u1FC1lig;\u8000\uFB03\u0269\u1FB9\0\0\u1FBDg;\u8000\uFB00ig;\u8000\uFB04;\uC000\u{1D523}lig;\u8000\uFB01lig;\uC000fj\u0180alt\u1FD9\u1FDC\u1FE1t;\u666Dig;\u8000\uFB02ns;\u65B1of;\u4192\u01F0\u1FEE\0\u1FF3f;\uC000\u{1D557}\u0100ak\u05BF\u1FF7\u0100;v\u1FFC\u1FFD\u62D4;\u6AD9artint;\u6A0D\u0100ao\u200C\u2055\u0100cs\u2011\u2052\u03B1\u201A\u2030\u2038\u2045\u2048\0\u2050\u03B2\u2022\u2025\u2027\u202A\u202C\0\u202E\u803B\xBD\u40BD;\u6153\u803B\xBC\u40BC;\u6155;\u6159;\u615B\u01B3\u2034\0\u2036;\u6154;\u6156\u02B4\u203E\u2041\0\0\u2043\u803B\xBE\u40BE;\u6157;\u615C5;\u6158\u01B6\u204C\0\u204E;\u615A;\u615D8;\u615El;\u6044wn;\u6322cr;\uC000\u{1D4BB}\u0880Eabcdefgijlnorstv\u2082\u2089\u209F\u20A5\u20B0\u20B4\u20F0\u20F5\u20FA\u20FF\u2103\u2112\u2138\u0317\u213E\u2152\u219E\u0100;l\u064D\u2087;\u6A8C\u0180cmp\u2090\u2095\u209Dute;\u41F5ma\u0100;d\u209C\u1CDA\u43B3;\u6A86reve;\u411F\u0100iy\u20AA\u20AErc;\u411D;\u4433ot;\u4121\u0200;lqs\u063E\u0642\u20BD\u20C9\u0180;qs\u063E\u064C\u20C4lan\xF4\u0665\u0200;cdl\u0665\u20D2\u20D5\u20E5c;\u6AA9ot\u0100;o\u20DC\u20DD\u6A80\u0100;l\u20E2\u20E3\u6A82;\u6A84\u0100;e\u20EA\u20ED\uC000\u22DB\uFE00s;\u6A94r;\uC000\u{1D524}\u0100;g\u0673\u061Bmel;\u6137cy;\u4453\u0200;Eaj\u065A\u210C\u210E\u2110;\u6A92;\u6AA5;\u6AA4\u0200Eaes\u211B\u211D\u2129\u2134;\u6269p\u0100;p\u2123\u2124\u6A8Arox\xBB\u2124\u0100;q\u212E\u212F\u6A88\u0100;q\u212E\u211Bim;\u62E7pf;\uC000\u{1D558}\u0100ci\u2143\u2146r;\u610Am\u0180;el\u066B\u214E\u2150;\u6A8E;\u6A90\u8300>;cdlqr\u05EE\u2160\u216A\u216E\u2173\u2179\u0100ci\u2165\u2167;\u6AA7r;\u6A7Aot;\u62D7Par;\u6995uest;\u6A7C\u0280adels\u2184\u216A\u2190\u0656\u219B\u01F0\u2189\0\u218Epro\xF8\u209Er;\u6978q\u0100lq\u063F\u2196les\xF3\u2088i\xED\u066B\u0100en\u21A3\u21ADrtneqq;\uC000\u2269\uFE00\xC5\u21AA\u0500Aabcefkosy\u21C4\u21C7\u21F1\u21F5\u21FA\u2218\u221D\u222F\u2268\u227Dr\xF2\u03A0\u0200ilmr\u21D0\u21D4\u21D7\u21DBrs\xF0\u1484f\xBB\u2024il\xF4\u06A9\u0100dr\u21E0\u21E4cy;\u444A\u0180;cw\u08F4\u21EB\u21EFir;\u6948;\u61ADar;\u610Firc;\u4125\u0180alr\u2201\u220E\u2213rts\u0100;u\u2209\u220A\u6665it\xBB\u220Alip;\u6026con;\u62B9r;\uC000\u{1D525}s\u0100ew\u2223\u2229arow;\u6925arow;\u6926\u0280amopr\u223A\u223E\u2243\u225E\u2263rr;\u61FFtht;\u623Bk\u0100lr\u2249\u2253eftarrow;\u61A9ightarrow;\u61AAf;\uC000\u{1D559}bar;\u6015\u0180clt\u226F\u2274\u2278r;\uC000\u{1D4BD}as\xE8\u21F4rok;\u4127\u0100bp\u2282\u2287ull;\u6043hen\xBB\u1C5B\u0AE1\u22A3\0\u22AA\0\u22B8\u22C5\u22CE\0\u22D5\u22F3\0\0\u22F8\u2322\u2367\u2362\u237F\0\u2386\u23AA\u23B4cute\u803B\xED\u40ED\u0180;iy\u0771\u22B0\u22B5rc\u803B\xEE\u40EE;\u4438\u0100cx\u22BC\u22BFy;\u4435cl\u803B\xA1\u40A1\u0100fr\u039F\u22C9;\uC000\u{1D526}rave\u803B\xEC\u40EC\u0200;ino\u073E\u22DD\u22E9\u22EE\u0100in\u22E2\u22E6nt;\u6A0Ct;\u622Dfin;\u69DCta;\u6129lig;\u4133\u0180aop\u22FE\u231A\u231D\u0180cgt\u2305\u2308\u2317r;\u412B\u0180elp\u071F\u230F\u2313in\xE5\u078Ear\xF4\u0720h;\u4131f;\u62B7ed;\u41B5\u0280;cfot\u04F4\u232C\u2331\u233D\u2341are;\u6105in\u0100;t\u2338\u2339\u621Eie;\u69DDdo\xF4\u2319\u0280;celp\u0757\u234C\u2350\u235B\u2361al;\u62BA\u0100gr\u2355\u2359er\xF3\u1563\xE3\u234Darhk;\u6A17rod;\u6A3C\u0200cgpt\u236F\u2372\u2376\u237By;\u4451on;\u412Ff;\uC000\u{1D55A}a;\u43B9uest\u803B\xBF\u40BF\u0100ci\u238A\u238Fr;\uC000\u{1D4BE}n\u0280;Edsv\u04F4\u239B\u239D\u23A1\u04F3;\u62F9ot;\u62F5\u0100;v\u23A6\u23A7\u62F4;\u62F3\u0100;i\u0777\u23AElde;\u4129\u01EB\u23B8\0\u23BCcy;\u4456l\u803B\xEF\u40EF\u0300cfmosu\u23CC\u23D7\u23DC\u23E1\u23E7\u23F5\u0100iy\u23D1\u23D5rc;\u4135;\u4439r;\uC000\u{1D527}ath;\u4237pf;\uC000\u{1D55B}\u01E3\u23EC\0\u23F1r;\uC000\u{1D4BF}rcy;\u4458kcy;\u4454\u0400acfghjos\u240B\u2416\u2422\u2427\u242D\u2431\u2435\u243Bppa\u0100;v\u2413\u2414\u43BA;\u43F0\u0100ey\u241B\u2420dil;\u4137;\u443Ar;\uC000\u{1D528}reen;\u4138cy;\u4445cy;\u445Cpf;\uC000\u{1D55C}cr;\uC000\u{1D4C0}\u0B80ABEHabcdefghjlmnoprstuv\u2470\u2481\u2486\u248D\u2491\u250E\u253D\u255A\u2580\u264E\u265E\u2665\u2679\u267D\u269A\u26B2\u26D8\u275D\u2768\u278B\u27C0\u2801\u2812\u0180art\u2477\u247A\u247Cr\xF2\u09C6\xF2\u0395ail;\u691Barr;\u690E\u0100;g\u0994\u248B;\u6A8Bar;\u6962\u0963\u24A5\0\u24AA\0\u24B1\0\0\0\0\0\u24B5\u24BA\0\u24C6\u24C8\u24CD\0\u24F9ute;\u413Amptyv;\u69B4ra\xEE\u084Cbda;\u43BBg\u0180;dl\u088E\u24C1\u24C3;\u6991\xE5\u088E;\u6A85uo\u803B\xAB\u40ABr\u0400;bfhlpst\u0899\u24DE\u24E6\u24E9\u24EB\u24EE\u24F1\u24F5\u0100;f\u089D\u24E3s;\u691Fs;\u691D\xEB\u2252p;\u61ABl;\u6939im;\u6973l;\u61A2\u0180;ae\u24FF\u2500\u2504\u6AABil;\u6919\u0100;s\u2509\u250A\u6AAD;\uC000\u2AAD\uFE00\u0180abr\u2515\u2519\u251Drr;\u690Crk;\u6772\u0100ak\u2522\u252Cc\u0100ek\u2528\u252A;\u407B;\u405B\u0100es\u2531\u2533;\u698Bl\u0100du\u2539\u253B;\u698F;\u698D\u0200aeuy\u2546\u254B\u2556\u2558ron;\u413E\u0100di\u2550\u2554il;\u413C\xEC\u08B0\xE2\u2529;\u443B\u0200cqrs\u2563\u2566\u256D\u257Da;\u6936uo\u0100;r\u0E19\u1746\u0100du\u2572\u2577har;\u6967shar;\u694Bh;\u61B2\u0280;fgqs\u258B\u258C\u0989\u25F3\u25FF\u6264t\u0280ahlrt\u2598\u25A4\u25B7\u25C2\u25E8rrow\u0100;t\u0899\u25A1a\xE9\u24F6arpoon\u0100du\u25AF\u25B4own\xBB\u045Ap\xBB\u0966eftarrows;\u61C7ight\u0180ahs\u25CD\u25D6\u25DErrow\u0100;s\u08F4\u08A7arpoon\xF3\u0F98quigarro\xF7\u21F0hreetimes;\u62CB\u0180;qs\u258B\u0993\u25FAlan\xF4\u09AC\u0280;cdgs\u09AC\u260A\u260D\u261D\u2628c;\u6AA8ot\u0100;o\u2614\u2615\u6A7F\u0100;r\u261A\u261B\u6A81;\u6A83\u0100;e\u2622\u2625\uC000\u22DA\uFE00s;\u6A93\u0280adegs\u2633\u2639\u263D\u2649\u264Bppro\xF8\u24C6ot;\u62D6q\u0100gq\u2643\u2645\xF4\u0989gt\xF2\u248C\xF4\u099Bi\xED\u09B2\u0180ilr\u2655\u08E1\u265Asht;\u697C;\uC000\u{1D529}\u0100;E\u099C\u2663;\u6A91\u0161\u2669\u2676r\u0100du\u25B2\u266E\u0100;l\u0965\u2673;\u696Alk;\u6584cy;\u4459\u0280;acht\u0A48\u2688\u268B\u2691\u2696r\xF2\u25C1orne\xF2\u1D08ard;\u696Bri;\u65FA\u0100io\u269F\u26A4dot;\u4140ust\u0100;a\u26AC\u26AD\u63B0che\xBB\u26AD\u0200Eaes\u26BB\u26BD\u26C9\u26D4;\u6268p\u0100;p\u26C3\u26C4\u6A89rox\xBB\u26C4\u0100;q\u26CE\u26CF\u6A87\u0100;q\u26CE\u26BBim;\u62E6\u0400abnoptwz\u26E9\u26F4\u26F7\u271A\u272F\u2741\u2747\u2750\u0100nr\u26EE\u26F1g;\u67ECr;\u61FDr\xEB\u08C1g\u0180lmr\u26FF\u270D\u2714eft\u0100ar\u09E6\u2707ight\xE1\u09F2apsto;\u67FCight\xE1\u09FDparrow\u0100lr\u2725\u2729ef\xF4\u24EDight;\u61AC\u0180afl\u2736\u2739\u273Dr;\u6985;\uC000\u{1D55D}us;\u6A2Dimes;\u6A34\u0161\u274B\u274Fst;\u6217\xE1\u134E\u0180;ef\u2757\u2758\u1800\u65CAnge\xBB\u2758ar\u0100;l\u2764\u2765\u4028t;\u6993\u0280achmt\u2773\u2776\u277C\u2785\u2787r\xF2\u08A8orne\xF2\u1D8Car\u0100;d\u0F98\u2783;\u696D;\u600Eri;\u62BF\u0300achiqt\u2798\u279D\u0A40\u27A2\u27AE\u27BBquo;\u6039r;\uC000\u{1D4C1}m\u0180;eg\u09B2\u27AA\u27AC;\u6A8D;\u6A8F\u0100bu\u252A\u27B3o\u0100;r\u0E1F\u27B9;\u601Arok;\u4142\u8400<;cdhilqr\u082B\u27D2\u2639\u27DC\u27E0\u27E5\u27EA\u27F0\u0100ci\u27D7\u27D9;\u6AA6r;\u6A79re\xE5\u25F2mes;\u62C9arr;\u6976uest;\u6A7B\u0100Pi\u27F5\u27F9ar;\u6996\u0180;ef\u2800\u092D\u181B\u65C3r\u0100du\u2807\u280Dshar;\u694Ahar;\u6966\u0100en\u2817\u2821rtneqq;\uC000\u2268\uFE00\xC5\u281E\u0700Dacdefhilnopsu\u2840\u2845\u2882\u288E\u2893\u28A0\u28A5\u28A8\u28DA\u28E2\u28E4\u0A83\u28F3\u2902Dot;\u623A\u0200clpr\u284E\u2852\u2863\u287Dr\u803B\xAF\u40AF\u0100et\u2857\u2859;\u6642\u0100;e\u285E\u285F\u6720se\xBB\u285F\u0100;s\u103B\u2868to\u0200;dlu\u103B\u2873\u2877\u287Bow\xEE\u048Cef\xF4\u090F\xF0\u13D1ker;\u65AE\u0100oy\u2887\u288Cmma;\u6A29;\u443Cash;\u6014asuredangle\xBB\u1626r;\uC000\u{1D52A}o;\u6127\u0180cdn\u28AF\u28B4\u28C9ro\u803B\xB5\u40B5\u0200;acd\u1464\u28BD\u28C0\u28C4s\xF4\u16A7ir;\u6AF0ot\u80BB\xB7\u01B5us\u0180;bd\u28D2\u1903\u28D3\u6212\u0100;u\u1D3C\u28D8;\u6A2A\u0163\u28DE\u28E1p;\u6ADB\xF2\u2212\xF0\u0A81\u0100dp\u28E9\u28EEels;\u62A7f;\uC000\u{1D55E}\u0100ct\u28F8\u28FDr;\uC000\u{1D4C2}pos\xBB\u159D\u0180;lm\u2909\u290A\u290D\u43BCtimap;\u62B8\u0C00GLRVabcdefghijlmoprstuvw\u2942\u2953\u297E\u2989\u2998\u29DA\u29E9\u2A15\u2A1A\u2A58\u2A5D\u2A83\u2A95\u2AA4\u2AA8\u2B04\u2B07\u2B44\u2B7F\u2BAE\u2C34\u2C67\u2C7C\u2CE9\u0100gt\u2947\u294B;\uC000\u22D9\u0338\u0100;v\u2950\u0BCF\uC000\u226B\u20D2\u0180elt\u295A\u2972\u2976ft\u0100ar\u2961\u2967rrow;\u61CDightarrow;\u61CE;\uC000\u22D8\u0338\u0100;v\u297B\u0C47\uC000\u226A\u20D2ightarrow;\u61CF\u0100Dd\u298E\u2993ash;\u62AFash;\u62AE\u0280bcnpt\u29A3\u29A7\u29AC\u29B1\u29CCla\xBB\u02DEute;\u4144g;\uC000\u2220\u20D2\u0280;Eiop\u0D84\u29BC\u29C0\u29C5\u29C8;\uC000\u2A70\u0338d;\uC000\u224B\u0338s;\u4149ro\xF8\u0D84ur\u0100;a\u29D3\u29D4\u666El\u0100;s\u29D3\u0B38\u01F3\u29DF\0\u29E3p\u80BB\xA0\u0B37mp\u0100;e\u0BF9\u0C00\u0280aeouy\u29F4\u29FE\u2A03\u2A10\u2A13\u01F0\u29F9\0\u29FB;\u6A43on;\u4148dil;\u4146ng\u0100;d\u0D7E\u2A0Aot;\uC000\u2A6D\u0338p;\u6A42;\u443Dash;\u6013\u0380;Aadqsx\u0B92\u2A29\u2A2D\u2A3B\u2A41\u2A45\u2A50rr;\u61D7r\u0100hr\u2A33\u2A36k;\u6924\u0100;o\u13F2\u13F0ot;\uC000\u2250\u0338ui\xF6\u0B63\u0100ei\u2A4A\u2A4Ear;\u6928\xED\u0B98ist\u0100;s\u0BA0\u0B9Fr;\uC000\u{1D52B}\u0200Eest\u0BC5\u2A66\u2A79\u2A7C\u0180;qs\u0BBC\u2A6D\u0BE1\u0180;qs\u0BBC\u0BC5\u2A74lan\xF4\u0BE2i\xED\u0BEA\u0100;r\u0BB6\u2A81\xBB\u0BB7\u0180Aap\u2A8A\u2A8D\u2A91r\xF2\u2971rr;\u61AEar;\u6AF2\u0180;sv\u0F8D\u2A9C\u0F8C\u0100;d\u2AA1\u2AA2\u62FC;\u62FAcy;\u445A\u0380AEadest\u2AB7\u2ABA\u2ABE\u2AC2\u2AC5\u2AF6\u2AF9r\xF2\u2966;\uC000\u2266\u0338rr;\u619Ar;\u6025\u0200;fqs\u0C3B\u2ACE\u2AE3\u2AEFt\u0100ar\u2AD4\u2AD9rro\xF7\u2AC1ightarro\xF7\u2A90\u0180;qs\u0C3B\u2ABA\u2AEAlan\xF4\u0C55\u0100;s\u0C55\u2AF4\xBB\u0C36i\xED\u0C5D\u0100;r\u0C35\u2AFEi\u0100;e\u0C1A\u0C25i\xE4\u0D90\u0100pt\u2B0C\u2B11f;\uC000\u{1D55F}\u8180\xAC;in\u2B19\u2B1A\u2B36\u40ACn\u0200;Edv\u0B89\u2B24\u2B28\u2B2E;\uC000\u22F9\u0338ot;\uC000\u22F5\u0338\u01E1\u0B89\u2B33\u2B35;\u62F7;\u62F6i\u0100;v\u0CB8\u2B3C\u01E1\u0CB8\u2B41\u2B43;\u62FE;\u62FD\u0180aor\u2B4B\u2B63\u2B69r\u0200;ast\u0B7B\u2B55\u2B5A\u2B5Flle\xEC\u0B7Bl;\uC000\u2AFD\u20E5;\uC000\u2202\u0338lint;\u6A14\u0180;ce\u0C92\u2B70\u2B73u\xE5\u0CA5\u0100;c\u0C98\u2B78\u0100;e\u0C92\u2B7D\xF1\u0C98\u0200Aait\u2B88\u2B8B\u2B9D\u2BA7r\xF2\u2988rr\u0180;cw\u2B94\u2B95\u2B99\u619B;\uC000\u2933\u0338;\uC000\u219D\u0338ghtarrow\xBB\u2B95ri\u0100;e\u0CCB\u0CD6\u0380chimpqu\u2BBD\u2BCD\u2BD9\u2B04\u0B78\u2BE4\u2BEF\u0200;cer\u0D32\u2BC6\u0D37\u2BC9u\xE5\u0D45;\uC000\u{1D4C3}ort\u026D\u2B05\0\0\u2BD6ar\xE1\u2B56m\u0100;e\u0D6E\u2BDF\u0100;q\u0D74\u0D73su\u0100bp\u2BEB\u2BED\xE5\u0CF8\xE5\u0D0B\u0180bcp\u2BF6\u2C11\u2C19\u0200;Ees\u2BFF\u2C00\u0D22\u2C04\u6284;\uC000\u2AC5\u0338et\u0100;e\u0D1B\u2C0Bq\u0100;q\u0D23\u2C00c\u0100;e\u0D32\u2C17\xF1\u0D38\u0200;Ees\u2C22\u2C23\u0D5F\u2C27\u6285;\uC000\u2AC6\u0338et\u0100;e\u0D58\u2C2Eq\u0100;q\u0D60\u2C23\u0200gilr\u2C3D\u2C3F\u2C45\u2C47\xEC\u0BD7lde\u803B\xF1\u40F1\xE7\u0C43iangle\u0100lr\u2C52\u2C5Ceft\u0100;e\u0C1A\u2C5A\xF1\u0C26ight\u0100;e\u0CCB\u2C65\xF1\u0CD7\u0100;m\u2C6C\u2C6D\u43BD\u0180;es\u2C74\u2C75\u2C79\u4023ro;\u6116p;\u6007\u0480DHadgilrs\u2C8F\u2C94\u2C99\u2C9E\u2CA3\u2CB0\u2CB6\u2CD3\u2CE3ash;\u62ADarr;\u6904p;\uC000\u224D\u20D2ash;\u62AC\u0100et\u2CA8\u2CAC;\uC000\u2265\u20D2;\uC000>\u20D2nfin;\u69DE\u0180Aet\u2CBD\u2CC1\u2CC5rr;\u6902;\uC000\u2264\u20D2\u0100;r\u2CCA\u2CCD\uC000<\u20D2ie;\uC000\u22B4\u20D2\u0100At\u2CD8\u2CDCrr;\u6903rie;\uC000\u22B5\u20D2im;\uC000\u223C\u20D2\u0180Aan\u2CF0\u2CF4\u2D02rr;\u61D6r\u0100hr\u2CFA\u2CFDk;\u6923\u0100;o\u13E7\u13E5ear;\u6927\u1253\u1A95\0\0\0\0\0\0\0\0\0\0\0\0\0\u2D2D\0\u2D38\u2D48\u2D60\u2D65\u2D72\u2D84\u1B07\0\0\u2D8D\u2DAB\0\u2DC8\u2DCE\0\u2DDC\u2E19\u2E2B\u2E3E\u2E43\u0100cs\u2D31\u1A97ute\u803B\xF3\u40F3\u0100iy\u2D3C\u2D45r\u0100;c\u1A9E\u2D42\u803B\xF4\u40F4;\u443E\u0280abios\u1AA0\u2D52\u2D57\u01C8\u2D5Alac;\u4151v;\u6A38old;\u69BClig;\u4153\u0100cr\u2D69\u2D6Dir;\u69BF;\uC000\u{1D52C}\u036F\u2D79\0\0\u2D7C\0\u2D82n;\u42DBave\u803B\xF2\u40F2;\u69C1\u0100bm\u2D88\u0DF4ar;\u69B5\u0200acit\u2D95\u2D98\u2DA5\u2DA8r\xF2\u1A80\u0100ir\u2D9D\u2DA0r;\u69BEoss;\u69BBn\xE5\u0E52;\u69C0\u0180aei\u2DB1\u2DB5\u2DB9cr;\u414Dga;\u43C9\u0180cdn\u2DC0\u2DC5\u01CDron;\u43BF;\u69B6pf;\uC000\u{1D560}\u0180ael\u2DD4\u2DD7\u01D2r;\u69B7rp;\u69B9\u0380;adiosv\u2DEA\u2DEB\u2DEE\u2E08\u2E0D\u2E10\u2E16\u6228r\xF2\u1A86\u0200;efm\u2DF7\u2DF8\u2E02\u2E05\u6A5Dr\u0100;o\u2DFE\u2DFF\u6134f\xBB\u2DFF\u803B\xAA\u40AA\u803B\xBA\u40BAgof;\u62B6r;\u6A56lope;\u6A57;\u6A5B\u0180clo\u2E1F\u2E21\u2E27\xF2\u2E01ash\u803B\xF8\u40F8l;\u6298i\u016C\u2E2F\u2E34de\u803B\xF5\u40F5es\u0100;a\u01DB\u2E3As;\u6A36ml\u803B\xF6\u40F6bar;\u633D\u0AE1\u2E5E\0\u2E7D\0\u2E80\u2E9D\0\u2EA2\u2EB9\0\0\u2ECB\u0E9C\0\u2F13\0\0\u2F2B\u2FBC\0\u2FC8r\u0200;ast\u0403\u2E67\u2E72\u0E85\u8100\xB6;l\u2E6D\u2E6E\u40B6le\xEC\u0403\u0269\u2E78\0\0\u2E7Bm;\u6AF3;\u6AFDy;\u443Fr\u0280cimpt\u2E8B\u2E8F\u2E93\u1865\u2E97nt;\u4025od;\u402Eil;\u6030enk;\u6031r;\uC000\u{1D52D}\u0180imo\u2EA8\u2EB0\u2EB4\u0100;v\u2EAD\u2EAE\u43C6;\u43D5ma\xF4\u0A76ne;\u660E\u0180;tv\u2EBF\u2EC0\u2EC8\u43C0chfork\xBB\u1FFD;\u43D6\u0100au\u2ECF\u2EDFn\u0100ck\u2ED5\u2EDDk\u0100;h\u21F4\u2EDB;\u610E\xF6\u21F4s\u0480;abcdemst\u2EF3\u2EF4\u1908\u2EF9\u2EFD\u2F04\u2F06\u2F0A\u2F0E\u402Bcir;\u6A23ir;\u6A22\u0100ou\u1D40\u2F02;\u6A25;\u6A72n\u80BB\xB1\u0E9Dim;\u6A26wo;\u6A27\u0180ipu\u2F19\u2F20\u2F25ntint;\u6A15f;\uC000\u{1D561}nd\u803B\xA3\u40A3\u0500;Eaceinosu\u0EC8\u2F3F\u2F41\u2F44\u2F47\u2F81\u2F89\u2F92\u2F7E\u2FB6;\u6AB3p;\u6AB7u\xE5\u0ED9\u0100;c\u0ECE\u2F4C\u0300;acens\u0EC8\u2F59\u2F5F\u2F66\u2F68\u2F7Eppro\xF8\u2F43urlye\xF1\u0ED9\xF1\u0ECE\u0180aes\u2F6F\u2F76\u2F7Approx;\u6AB9qq;\u6AB5im;\u62E8i\xED\u0EDFme\u0100;s\u2F88\u0EAE\u6032\u0180Eas\u2F78\u2F90\u2F7A\xF0\u2F75\u0180dfp\u0EEC\u2F99\u2FAF\u0180als\u2FA0\u2FA5\u2FAAlar;\u632Eine;\u6312urf;\u6313\u0100;t\u0EFB\u2FB4\xEF\u0EFBrel;\u62B0\u0100ci\u2FC0\u2FC5r;\uC000\u{1D4C5};\u43C8ncsp;\u6008\u0300fiopsu\u2FDA\u22E2\u2FDF\u2FE5\u2FEB\u2FF1r;\uC000\u{1D52E}pf;\uC000\u{1D562}rime;\u6057cr;\uC000\u{1D4C6}\u0180aeo\u2FF8\u3009\u3013t\u0100ei\u2FFE\u3005rnion\xF3\u06B0nt;\u6A16st\u0100;e\u3010\u3011\u403F\xF1\u1F19\xF4\u0F14\u0A80ABHabcdefhilmnoprstux\u3040\u3051\u3055\u3059\u30E0\u310E\u312B\u3147\u3162\u3172\u318E\u3206\u3215\u3224\u3229\u3258\u326E\u3272\u3290\u32B0\u32B7\u0180art\u3047\u304A\u304Cr\xF2\u10B3\xF2\u03DDail;\u691Car\xF2\u1C65ar;\u6964\u0380cdenqrt\u3068\u3075\u3078\u307F\u308F\u3094\u30CC\u0100eu\u306D\u3071;\uC000\u223D\u0331te;\u4155i\xE3\u116Emptyv;\u69B3g\u0200;del\u0FD1\u3089\u308B\u308D;\u6992;\u69A5\xE5\u0FD1uo\u803B\xBB\u40BBr\u0580;abcfhlpstw\u0FDC\u30AC\u30AF\u30B7\u30B9\u30BC\u30BE\u30C0\u30C3\u30C7\u30CAp;\u6975\u0100;f\u0FE0\u30B4s;\u6920;\u6933s;\u691E\xEB\u225D\xF0\u272El;\u6945im;\u6974l;\u61A3;\u619D\u0100ai\u30D1\u30D5il;\u691Ao\u0100;n\u30DB\u30DC\u6236al\xF3\u0F1E\u0180abr\u30E7\u30EA\u30EEr\xF2\u17E5rk;\u6773\u0100ak\u30F3\u30FDc\u0100ek\u30F9\u30FB;\u407D;\u405D\u0100es\u3102\u3104;\u698Cl\u0100du\u310A\u310C;\u698E;\u6990\u0200aeuy\u3117\u311C\u3127\u3129ron;\u4159\u0100di\u3121\u3125il;\u4157\xEC\u0FF2\xE2\u30FA;\u4440\u0200clqs\u3134\u3137\u313D\u3144a;\u6937dhar;\u6969uo\u0100;r\u020E\u020Dh;\u61B3\u0180acg\u314E\u315F\u0F44l\u0200;ips\u0F78\u3158\u315B\u109Cn\xE5\u10BBar\xF4\u0FA9t;\u65AD\u0180ilr\u3169\u1023\u316Esht;\u697D;\uC000\u{1D52F}\u0100ao\u3177\u3186r\u0100du\u317D\u317F\xBB\u047B\u0100;l\u1091\u3184;\u696C\u0100;v\u318B\u318C\u43C1;\u43F1\u0180gns\u3195\u31F9\u31FCht\u0300ahlrst\u31A4\u31B0\u31C2\u31D8\u31E4\u31EErrow\u0100;t\u0FDC\u31ADa\xE9\u30C8arpoon\u0100du\u31BB\u31BFow\xEE\u317Ep\xBB\u1092eft\u0100ah\u31CA\u31D0rrow\xF3\u0FEAarpoon\xF3\u0551ightarrows;\u61C9quigarro\xF7\u30CBhreetimes;\u62CCg;\u42DAingdotse\xF1\u1F32\u0180ahm\u320D\u3210\u3213r\xF2\u0FEAa\xF2\u0551;\u600Foust\u0100;a\u321E\u321F\u63B1che\xBB\u321Fmid;\u6AEE\u0200abpt\u3232\u323D\u3240\u3252\u0100nr\u3237\u323Ag;\u67EDr;\u61FEr\xEB\u1003\u0180afl\u3247\u324A\u324Er;\u6986;\uC000\u{1D563}us;\u6A2Eimes;\u6A35\u0100ap\u325D\u3267r\u0100;g\u3263\u3264\u4029t;\u6994olint;\u6A12ar\xF2\u31E3\u0200achq\u327B\u3280\u10BC\u3285quo;\u603Ar;\uC000\u{1D4C7}\u0100bu\u30FB\u328Ao\u0100;r\u0214\u0213\u0180hir\u3297\u329B\u32A0re\xE5\u31F8mes;\u62CAi\u0200;efl\u32AA\u1059\u1821\u32AB\u65B9tri;\u69CEluhar;\u6968;\u611E\u0D61\u32D5\u32DB\u32DF\u332C\u3338\u3371\0\u337A\u33A4\0\0\u33EC\u33F0\0\u3428\u3448\u345A\u34AD\u34B1\u34CA\u34F1\0\u3616\0\0\u3633cute;\u415Bqu\xEF\u27BA\u0500;Eaceinpsy\u11ED\u32F3\u32F5\u32FF\u3302\u330B\u330F\u331F\u3326\u3329;\u6AB4\u01F0\u32FA\0\u32FC;\u6AB8on;\u4161u\xE5\u11FE\u0100;d\u11F3\u3307il;\u415Frc;\u415D\u0180Eas\u3316\u3318\u331B;\u6AB6p;\u6ABAim;\u62E9olint;\u6A13i\xED\u1204;\u4441ot\u0180;be\u3334\u1D47\u3335\u62C5;\u6A66\u0380Aacmstx\u3346\u334A\u3357\u335B\u335E\u3363\u336Drr;\u61D8r\u0100hr\u3350\u3352\xEB\u2228\u0100;o\u0A36\u0A34t\u803B\xA7\u40A7i;\u403Bwar;\u6929m\u0100in\u3369\xF0nu\xF3\xF1t;\u6736r\u0100;o\u3376\u2055\uC000\u{1D530}\u0200acoy\u3382\u3386\u3391\u33A0rp;\u666F\u0100hy\u338B\u338Fcy;\u4449;\u4448rt\u026D\u3399\0\0\u339Ci\xE4\u1464ara\xEC\u2E6F\u803B\xAD\u40AD\u0100gm\u33A8\u33B4ma\u0180;fv\u33B1\u33B2\u33B2\u43C3;\u43C2\u0400;deglnpr\u12AB\u33C5\u33C9\u33CE\u33D6\u33DE\u33E1\u33E6ot;\u6A6A\u0100;q\u12B1\u12B0\u0100;E\u33D3\u33D4\u6A9E;\u6AA0\u0100;E\u33DB\u33DC\u6A9D;\u6A9Fe;\u6246lus;\u6A24arr;\u6972ar\xF2\u113D\u0200aeit\u33F8\u3408\u340F\u3417\u0100ls\u33FD\u3404lsetm\xE9\u336Ahp;\u6A33parsl;\u69E4\u0100dl\u1463\u3414e;\u6323\u0100;e\u341C\u341D\u6AAA\u0100;s\u3422\u3423\u6AAC;\uC000\u2AAC\uFE00\u0180flp\u342E\u3433\u3442tcy;\u444C\u0100;b\u3438\u3439\u402F\u0100;a\u343E\u343F\u69C4r;\u633Ff;\uC000\u{1D564}a\u0100dr\u344D\u0402es\u0100;u\u3454\u3455\u6660it\xBB\u3455\u0180csu\u3460\u3479\u349F\u0100au\u3465\u346Fp\u0100;s\u1188\u346B;\uC000\u2293\uFE00p\u0100;s\u11B4\u3475;\uC000\u2294\uFE00u\u0100bp\u347F\u348F\u0180;es\u1197\u119C\u3486et\u0100;e\u1197\u348D\xF1\u119D\u0180;es\u11A8\u11AD\u3496et\u0100;e\u11A8\u349D\xF1\u11AE\u0180;af\u117B\u34A6\u05B0r\u0165\u34AB\u05B1\xBB\u117Car\xF2\u1148\u0200cemt\u34B9\u34BE\u34C2\u34C5r;\uC000\u{1D4C8}tm\xEE\xF1i\xEC\u3415ar\xE6\u11BE\u0100ar\u34CE\u34D5r\u0100;f\u34D4\u17BF\u6606\u0100an\u34DA\u34EDight\u0100ep\u34E3\u34EApsilo\xEE\u1EE0h\xE9\u2EAFs\xBB\u2852\u0280bcmnp\u34FB\u355E\u1209\u358B\u358E\u0480;Edemnprs\u350E\u350F\u3511\u3515\u351E\u3523\u352C\u3531\u3536\u6282;\u6AC5ot;\u6ABD\u0100;d\u11DA\u351Aot;\u6AC3ult;\u6AC1\u0100Ee\u3528\u352A;\u6ACB;\u628Alus;\u6ABFarr;\u6979\u0180eiu\u353D\u3552\u3555t\u0180;en\u350E\u3545\u354Bq\u0100;q\u11DA\u350Feq\u0100;q\u352B\u3528m;\u6AC7\u0100bp\u355A\u355C;\u6AD5;\u6AD3c\u0300;acens\u11ED\u356C\u3572\u3579\u357B\u3326ppro\xF8\u32FAurlye\xF1\u11FE\xF1\u11F3\u0180aes\u3582\u3588\u331Bppro\xF8\u331Aq\xF1\u3317g;\u666A\u0680123;Edehlmnps\u35A9\u35AC\u35AF\u121C\u35B2\u35B4\u35C0\u35C9\u35D5\u35DA\u35DF\u35E8\u35ED\u803B\xB9\u40B9\u803B\xB2\u40B2\u803B\xB3\u40B3;\u6AC6\u0100os\u35B9\u35BCt;\u6ABEub;\u6AD8\u0100;d\u1222\u35C5ot;\u6AC4s\u0100ou\u35CF\u35D2l;\u67C9b;\u6AD7arr;\u697Bult;\u6AC2\u0100Ee\u35E4\u35E6;\u6ACC;\u628Blus;\u6AC0\u0180eiu\u35F4\u3609\u360Ct\u0180;en\u121C\u35FC\u3602q\u0100;q\u1222\u35B2eq\u0100;q\u35E7\u35E4m;\u6AC8\u0100bp\u3611\u3613;\u6AD4;\u6AD6\u0180Aan\u361C\u3620\u362Drr;\u61D9r\u0100hr\u3626\u3628\xEB\u222E\u0100;o\u0A2B\u0A29war;\u692Alig\u803B\xDF\u40DF\u0BE1\u3651\u365D\u3660\u12CE\u3673\u3679\0\u367E\u36C2\0\0\0\0\0\u36DB\u3703\0\u3709\u376C\0\0\0\u3787\u0272\u3656\0\0\u365Bget;\u6316;\u43C4r\xEB\u0E5F\u0180aey\u3666\u366B\u3670ron;\u4165dil;\u4163;\u4442lrec;\u6315r;\uC000\u{1D531}\u0200eiko\u3686\u369D\u36B5\u36BC\u01F2\u368B\0\u3691e\u01004f\u1284\u1281a\u0180;sv\u3698\u3699\u369B\u43B8ym;\u43D1\u0100cn\u36A2\u36B2k\u0100as\u36A8\u36AEppro\xF8\u12C1im\xBB\u12ACs\xF0\u129E\u0100as\u36BA\u36AE\xF0\u12C1rn\u803B\xFE\u40FE\u01EC\u031F\u36C6\u22E7es\u8180\xD7;bd\u36CF\u36D0\u36D8\u40D7\u0100;a\u190F\u36D5r;\u6A31;\u6A30\u0180eps\u36E1\u36E3\u3700\xE1\u2A4D\u0200;bcf\u0486\u36EC\u36F0\u36F4ot;\u6336ir;\u6AF1\u0100;o\u36F9\u36FC\uC000\u{1D565}rk;\u6ADA\xE1\u3362rime;\u6034\u0180aip\u370F\u3712\u3764d\xE5\u1248\u0380adempst\u3721\u374D\u3740\u3751\u3757\u375C\u375Fngle\u0280;dlqr\u3730\u3731\u3736\u3740\u3742\u65B5own\xBB\u1DBBeft\u0100;e\u2800\u373E\xF1\u092E;\u625Cight\u0100;e\u32AA\u374B\xF1\u105Aot;\u65ECinus;\u6A3Alus;\u6A39b;\u69CDime;\u6A3Bezium;\u63E2\u0180cht\u3772\u377D\u3781\u0100ry\u3777\u377B;\uC000\u{1D4C9};\u4446cy;\u445Brok;\u4167\u0100io\u378B\u378Ex\xF4\u1777head\u0100lr\u3797\u37A0eftarro\xF7\u084Fightarrow\xBB\u0F5D\u0900AHabcdfghlmoprstuw\u37D0\u37D3\u37D7\u37E4\u37F0\u37FC\u380E\u381C\u3823\u3834\u3851\u385D\u386B\u38A9\u38CC\u38D2\u38EA\u38F6r\xF2\u03EDar;\u6963\u0100cr\u37DC\u37E2ute\u803B\xFA\u40FA\xF2\u1150r\u01E3\u37EA\0\u37EDy;\u445Eve;\u416D\u0100iy\u37F5\u37FArc\u803B\xFB\u40FB;\u4443\u0180abh\u3803\u3806\u380Br\xF2\u13ADlac;\u4171a\xF2\u13C3\u0100ir\u3813\u3818sht;\u697E;\uC000\u{1D532}rave\u803B\xF9\u40F9\u0161\u3827\u3831r\u0100lr\u382C\u382E\xBB\u0957\xBB\u1083lk;\u6580\u0100ct\u3839\u384D\u026F\u383F\0\0\u384Arn\u0100;e\u3845\u3846\u631Cr\xBB\u3846op;\u630Fri;\u65F8\u0100al\u3856\u385Acr;\u416B\u80BB\xA8\u0349\u0100gp\u3862\u3866on;\u4173f;\uC000\u{1D566}\u0300adhlsu\u114B\u3878\u387D\u1372\u3891\u38A0own\xE1\u13B3arpoon\u0100lr\u3888\u388Cef\xF4\u382Digh\xF4\u382Fi\u0180;hl\u3899\u389A\u389C\u43C5\xBB\u13FAon\xBB\u389Aparrows;\u61C8\u0180cit\u38B0\u38C4\u38C8\u026F\u38B6\0\0\u38C1rn\u0100;e\u38BC\u38BD\u631Dr\xBB\u38BDop;\u630Eng;\u416Fri;\u65F9cr;\uC000\u{1D4CA}\u0180dir\u38D9\u38DD\u38E2ot;\u62F0lde;\u4169i\u0100;f\u3730\u38E8\xBB\u1813\u0100am\u38EF\u38F2r\xF2\u38A8l\u803B\xFC\u40FCangle;\u69A7\u0780ABDacdeflnoprsz\u391C\u391F\u3929\u392D\u39B5\u39B8\u39BD\u39DF\u39E4\u39E8\u39F3\u39F9\u39FD\u3A01\u3A20r\xF2\u03F7ar\u0100;v\u3926\u3927\u6AE8;\u6AE9as\xE8\u03E1\u0100nr\u3932\u3937grt;\u699C\u0380eknprst\u34E3\u3946\u394B\u3952\u395D\u3964\u3996app\xE1\u2415othin\xE7\u1E96\u0180hir\u34EB\u2EC8\u3959op\xF4\u2FB5\u0100;h\u13B7\u3962\xEF\u318D\u0100iu\u3969\u396Dgm\xE1\u33B3\u0100bp\u3972\u3984setneq\u0100;q\u397D\u3980\uC000\u228A\uFE00;\uC000\u2ACB\uFE00setneq\u0100;q\u398F\u3992\uC000\u228B\uFE00;\uC000\u2ACC\uFE00\u0100hr\u399B\u399Fet\xE1\u369Ciangle\u0100lr\u39AA\u39AFeft\xBB\u0925ight\xBB\u1051y;\u4432ash\xBB\u1036\u0180elr\u39C4\u39D2\u39D7\u0180;be\u2DEA\u39CB\u39CFar;\u62BBq;\u625Alip;\u62EE\u0100bt\u39DC\u1468a\xF2\u1469r;\uC000\u{1D533}tr\xE9\u39AEsu\u0100bp\u39EF\u39F1\xBB\u0D1C\xBB\u0D59pf;\uC000\u{1D567}ro\xF0\u0EFBtr\xE9\u39B4\u0100cu\u3A06\u3A0Br;\uC000\u{1D4CB}\u0100bp\u3A10\u3A18n\u0100Ee\u3980\u3A16\xBB\u397En\u0100Ee\u3992\u3A1E\xBB\u3990igzag;\u699A\u0380cefoprs\u3A36\u3A3B\u3A56\u3A5B\u3A54\u3A61\u3A6Airc;\u4175\u0100di\u3A40\u3A51\u0100bg\u3A45\u3A49ar;\u6A5Fe\u0100;q\u15FA\u3A4F;\u6259erp;\u6118r;\uC000\u{1D534}pf;\uC000\u{1D568}\u0100;e\u1479\u3A66at\xE8\u1479cr;\uC000\u{1D4CC}\u0AE3\u178E\u3A87\0\u3A8B\0\u3A90\u3A9B\0\0\u3A9D\u3AA8\u3AAB\u3AAF\0\0\u3AC3\u3ACE\0\u3AD8\u17DC\u17DFtr\xE9\u17D1r;\uC000\u{1D535}\u0100Aa\u3A94\u3A97r\xF2\u03C3r\xF2\u09F6;\u43BE\u0100Aa\u3AA1\u3AA4r\xF2\u03B8r\xF2\u09EBa\xF0\u2713is;\u62FB\u0180dpt\u17A4\u3AB5\u3ABE\u0100fl\u3ABA\u17A9;\uC000\u{1D569}im\xE5\u17B2\u0100Aa\u3AC7\u3ACAr\xF2\u03CEr\xF2\u0A01\u0100cq\u3AD2\u17B8r;\uC000\u{1D4CD}\u0100pt\u17D6\u3ADCr\xE9\u17D4\u0400acefiosu\u3AF0\u3AFD\u3B08\u3B0C\u3B11\u3B15\u3B1B\u3B21c\u0100uy\u3AF6\u3AFBte\u803B\xFD\u40FD;\u444F\u0100iy\u3B02\u3B06rc;\u4177;\u444Bn\u803B\xA5\u40A5r;\uC000\u{1D536}cy;\u4457pf;\uC000\u{1D56A}cr;\uC000\u{1D4CE}\u0100cm\u3B26\u3B29y;\u444El\u803B\xFF\u40FF\u0500acdefhiosw\u3B42\u3B48\u3B54\u3B58\u3B64\u3B69\u3B6D\u3B74\u3B7A\u3B80cute;\u417A\u0100ay\u3B4D\u3B52ron;\u417E;\u4437ot;\u417C\u0100et\u3B5D\u3B61tr\xE6\u155Fa;\u43B6r;\uC000\u{1D537}cy;\u4436grarr;\u61DDpf;\uC000\u{1D56B}cr;\uC000\u{1D4CF}\u0100jn\u3B85\u3B87;\u600Dj;\u600C'.split("").map(function(c) {
1213
- return c.charCodeAt(0);
1214
- })
1215
- );
1216
- }
1217
- });
1218
-
1219
- // ../../node_modules/.bun/entities@4.5.0/node_modules/entities/lib/generated/decode-data-xml.js
1220
- var require_decode_data_xml = __commonJS({
1221
- "../../node_modules/.bun/entities@4.5.0/node_modules/entities/lib/generated/decode-data-xml.js"(exports) {
1222
- "use strict";
1223
- Object.defineProperty(exports, "__esModule", { value: true });
1224
- exports.default = new Uint16Array(
1225
- // prettier-ignore
1226
- "\u0200aglq \x1B\u026D\0\0p;\u4026os;\u4027t;\u403Et;\u403Cuot;\u4022".split("").map(function(c) {
1227
- return c.charCodeAt(0);
1228
- })
1229
- );
1230
- }
1231
- });
1232
-
1233
- // ../../node_modules/.bun/entities@4.5.0/node_modules/entities/lib/decode_codepoint.js
1204
+ // ../../node_modules/.bun/entities@7.0.1/node_modules/entities/dist/commonjs/decode-codepoint.js
1234
1205
  var require_decode_codepoint = __commonJS({
1235
- "../../node_modules/.bun/entities@4.5.0/node_modules/entities/lib/decode_codepoint.js"(exports) {
1206
+ "../../node_modules/.bun/entities@7.0.1/node_modules/entities/dist/commonjs/decode-codepoint.js"(exports) {
1236
1207
  "use strict";
1237
1208
  var _a;
1238
1209
  Object.defineProperty(exports, "__esModule", { value: true });
1239
- exports.replaceCodePoint = exports.fromCodePoint = void 0;
1210
+ exports.fromCodePoint = void 0;
1211
+ exports.replaceCodePoint = replaceCodePoint;
1212
+ exports.decodeCodePoint = decodeCodePoint;
1240
1213
  var decodeMap = /* @__PURE__ */ new Map([
1241
1214
  [0, 65533],
1242
1215
  // C1 Unicode control character reference replacements
@@ -1268,9 +1241,9 @@ var require_decode_codepoint = __commonJS({
1268
1241
  [158, 382],
1269
1242
  [159, 376]
1270
1243
  ]);
1271
- exports.fromCodePoint = // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, node/no-unsupported-features/es-builtins
1272
- (_a = String.fromCodePoint) !== null && _a !== void 0 ? _a : function(codePoint) {
1273
- var output = "";
1244
+ exports.fromCodePoint = // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, n/no-unsupported-features/es-builtins
1245
+ (_a = String.fromCodePoint) !== null && _a !== void 0 ? _a : ((codePoint) => {
1246
+ let output = "";
1274
1247
  if (codePoint > 65535) {
1275
1248
  codePoint -= 65536;
1276
1249
  output += String.fromCharCode(codePoint >>> 10 & 1023 | 55296);
@@ -1278,7 +1251,7 @@ var require_decode_codepoint = __commonJS({
1278
1251
  }
1279
1252
  output += String.fromCharCode(codePoint);
1280
1253
  return output;
1281
- };
1254
+ });
1282
1255
  function replaceCodePoint(codePoint) {
1283
1256
  var _a2;
1284
1257
  if (codePoint >= 55296 && codePoint <= 57343 || codePoint > 1114111) {
@@ -1286,63 +1259,102 @@ var require_decode_codepoint = __commonJS({
1286
1259
  }
1287
1260
  return (_a2 = decodeMap.get(codePoint)) !== null && _a2 !== void 0 ? _a2 : codePoint;
1288
1261
  }
1289
- exports.replaceCodePoint = replaceCodePoint;
1290
1262
  function decodeCodePoint(codePoint) {
1291
1263
  return (0, exports.fromCodePoint)(replaceCodePoint(codePoint));
1292
1264
  }
1293
- exports.default = decodeCodePoint;
1294
1265
  }
1295
1266
  });
1296
1267
 
1297
- // ../../node_modules/.bun/entities@4.5.0/node_modules/entities/lib/decode.js
1298
- var require_decode = __commonJS({
1299
- "../../node_modules/.bun/entities@4.5.0/node_modules/entities/lib/decode.js"(exports) {
1268
+ // ../../node_modules/.bun/entities@7.0.1/node_modules/entities/dist/commonjs/internal/decode-shared.js
1269
+ var require_decode_shared = __commonJS({
1270
+ "../../node_modules/.bun/entities@7.0.1/node_modules/entities/dist/commonjs/internal/decode-shared.js"(exports) {
1300
1271
  "use strict";
1301
- var __createBinding = exports && exports.__createBinding || (Object.create ? (function(o, m, k, k2) {
1302
- if (k2 === void 0) k2 = k;
1303
- var desc = Object.getOwnPropertyDescriptor(m, k);
1304
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
1305
- desc = { enumerable: true, get: function() {
1306
- return m[k];
1307
- } };
1308
- }
1309
- Object.defineProperty(o, k2, desc);
1310
- }) : (function(o, m, k, k2) {
1311
- if (k2 === void 0) k2 = k;
1312
- o[k2] = m[k];
1313
- }));
1314
- var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? (function(o, v) {
1315
- Object.defineProperty(o, "default", { enumerable: true, value: v });
1316
- }) : function(o, v) {
1317
- o["default"] = v;
1318
- });
1319
- var __importStar = exports && exports.__importStar || function(mod) {
1320
- if (mod && mod.__esModule) return mod;
1321
- var result = {};
1322
- if (mod != null) {
1323
- for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
1272
+ Object.defineProperty(exports, "__esModule", { value: true });
1273
+ exports.decodeBase64 = decodeBase64;
1274
+ function decodeBase64(input) {
1275
+ const binary = (
1276
+ // eslint-disable-next-line n/no-unsupported-features/node-builtins
1277
+ typeof atob === "function" ? (
1278
+ // Browser (and Node >=16)
1279
+ // eslint-disable-next-line n/no-unsupported-features/node-builtins
1280
+ atob(input)
1281
+ ) : (
1282
+ // Older Node versions (<16)
1283
+ // eslint-disable-next-line n/no-unsupported-features/node-builtins
1284
+ typeof Buffer.from === "function" ? (
1285
+ // eslint-disable-next-line n/no-unsupported-features/node-builtins
1286
+ Buffer.from(input, "base64").toString("binary")
1287
+ ) : (
1288
+ // eslint-disable-next-line unicorn/no-new-buffer, n/no-deprecated-api
1289
+ new Buffer(input, "base64").toString("binary")
1290
+ )
1291
+ )
1292
+ );
1293
+ const evenLength = binary.length & ~1;
1294
+ const out = new Uint16Array(evenLength / 2);
1295
+ for (let index = 0, outIndex = 0; index < evenLength; index += 2) {
1296
+ const lo = binary.charCodeAt(index);
1297
+ const hi = binary.charCodeAt(index + 1);
1298
+ out[outIndex++] = lo | hi << 8;
1324
1299
  }
1325
- __setModuleDefault(result, mod);
1326
- return result;
1327
- };
1328
- var __importDefault = exports && exports.__importDefault || function(mod) {
1329
- return mod && mod.__esModule ? mod : { "default": mod };
1330
- };
1300
+ return out;
1301
+ }
1302
+ }
1303
+ });
1304
+
1305
+ // ../../node_modules/.bun/entities@7.0.1/node_modules/entities/dist/commonjs/generated/decode-data-html.js
1306
+ var require_decode_data_html = __commonJS({
1307
+ "../../node_modules/.bun/entities@7.0.1/node_modules/entities/dist/commonjs/generated/decode-data-html.js"(exports) {
1308
+ "use strict";
1331
1309
  Object.defineProperty(exports, "__esModule", { value: true });
1332
- exports.decodeXML = exports.decodeHTMLStrict = exports.decodeHTMLAttribute = exports.decodeHTML = exports.determineBranch = exports.EntityDecoder = exports.DecodingMode = exports.BinTrieFlags = exports.fromCodePoint = exports.replaceCodePoint = exports.decodeCodePoint = exports.xmlDecodeTree = exports.htmlDecodeTree = void 0;
1333
- var decode_data_html_js_1 = __importDefault(require_decode_data_html());
1334
- exports.htmlDecodeTree = decode_data_html_js_1.default;
1335
- var decode_data_xml_js_1 = __importDefault(require_decode_data_xml());
1336
- exports.xmlDecodeTree = decode_data_xml_js_1.default;
1337
- var decode_codepoint_js_1 = __importStar(require_decode_codepoint());
1338
- exports.decodeCodePoint = decode_codepoint_js_1.default;
1339
- var decode_codepoint_js_2 = require_decode_codepoint();
1340
- Object.defineProperty(exports, "replaceCodePoint", { enumerable: true, get: function() {
1341
- return decode_codepoint_js_2.replaceCodePoint;
1342
- } });
1343
- Object.defineProperty(exports, "fromCodePoint", { enumerable: true, get: function() {
1344
- return decode_codepoint_js_2.fromCodePoint;
1345
- } });
1310
+ exports.htmlDecodeTree = void 0;
1311
+ var decode_shared_js_1 = require_decode_shared();
1312
+ exports.htmlDecodeTree = (0, decode_shared_js_1.decodeBase64)("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IA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YwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWls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ZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg");
1313
+ }
1314
+ });
1315
+
1316
+ // ../../node_modules/.bun/entities@7.0.1/node_modules/entities/dist/commonjs/generated/decode-data-xml.js
1317
+ var require_decode_data_xml = __commonJS({
1318
+ "../../node_modules/.bun/entities@7.0.1/node_modules/entities/dist/commonjs/generated/decode-data-xml.js"(exports) {
1319
+ "use strict";
1320
+ Object.defineProperty(exports, "__esModule", { value: true });
1321
+ exports.xmlDecodeTree = void 0;
1322
+ var decode_shared_js_1 = require_decode_shared();
1323
+ exports.xmlDecodeTree = (0, decode_shared_js_1.decodeBase64)("AAJhZ2xxBwARABMAFQBtAg0AAAAAAA8AcAAmYG8AcwAnYHQAPmB0ADxg9SFvdCJg");
1324
+ }
1325
+ });
1326
+
1327
+ // ../../node_modules/.bun/entities@7.0.1/node_modules/entities/dist/commonjs/internal/bin-trie-flags.js
1328
+ var require_bin_trie_flags = __commonJS({
1329
+ "../../node_modules/.bun/entities@7.0.1/node_modules/entities/dist/commonjs/internal/bin-trie-flags.js"(exports) {
1330
+ "use strict";
1331
+ Object.defineProperty(exports, "__esModule", { value: true });
1332
+ exports.BinTrieFlags = void 0;
1333
+ var BinTrieFlags;
1334
+ (function(BinTrieFlags2) {
1335
+ BinTrieFlags2[BinTrieFlags2["VALUE_LENGTH"] = 49152] = "VALUE_LENGTH";
1336
+ BinTrieFlags2[BinTrieFlags2["FLAG13"] = 8192] = "FLAG13";
1337
+ BinTrieFlags2[BinTrieFlags2["BRANCH_LENGTH"] = 8064] = "BRANCH_LENGTH";
1338
+ BinTrieFlags2[BinTrieFlags2["JUMP_TABLE"] = 127] = "JUMP_TABLE";
1339
+ })(BinTrieFlags || (exports.BinTrieFlags = BinTrieFlags = {}));
1340
+ }
1341
+ });
1342
+
1343
+ // ../../node_modules/.bun/entities@7.0.1/node_modules/entities/dist/commonjs/decode.js
1344
+ var require_decode = __commonJS({
1345
+ "../../node_modules/.bun/entities@7.0.1/node_modules/entities/dist/commonjs/decode.js"(exports) {
1346
+ "use strict";
1347
+ Object.defineProperty(exports, "__esModule", { value: true });
1348
+ exports.xmlDecodeTree = exports.htmlDecodeTree = exports.replaceCodePoint = exports.fromCodePoint = exports.decodeCodePoint = exports.EntityDecoder = exports.DecodingMode = void 0;
1349
+ exports.determineBranch = determineBranch;
1350
+ exports.decodeHTML = decodeHTML;
1351
+ exports.decodeHTMLAttribute = decodeHTMLAttribute;
1352
+ exports.decodeHTMLStrict = decodeHTMLStrict;
1353
+ exports.decodeXML = decodeXML;
1354
+ var decode_codepoint_js_1 = require_decode_codepoint();
1355
+ var decode_data_html_js_1 = require_decode_data_html();
1356
+ var decode_data_xml_js_1 = require_decode_data_xml();
1357
+ var bin_trie_flags_js_1 = require_bin_trie_flags();
1346
1358
  var CharCodes;
1347
1359
  (function(CharCodes2) {
1348
1360
  CharCodes2[CharCodes2["NUM"] = 35] = "NUM";
@@ -1359,12 +1371,6 @@ var require_decode = __commonJS({
1359
1371
  CharCodes2[CharCodes2["UPPER_Z"] = 90] = "UPPER_Z";
1360
1372
  })(CharCodes || (CharCodes = {}));
1361
1373
  var TO_LOWER_BIT = 32;
1362
- var BinTrieFlags;
1363
- (function(BinTrieFlags2) {
1364
- BinTrieFlags2[BinTrieFlags2["VALUE_LENGTH"] = 49152] = "VALUE_LENGTH";
1365
- BinTrieFlags2[BinTrieFlags2["BRANCH_LENGTH"] = 16256] = "BRANCH_LENGTH";
1366
- BinTrieFlags2[BinTrieFlags2["JUMP_TABLE"] = 127] = "JUMP_TABLE";
1367
- })(BinTrieFlags = exports.BinTrieFlags || (exports.BinTrieFlags = {}));
1368
1374
  function isNumber(code) {
1369
1375
  return code >= CharCodes.ZERO && code <= CharCodes.NINE;
1370
1376
  }
@@ -1390,272 +1396,393 @@ var require_decode = __commonJS({
1390
1396
  DecodingMode2[DecodingMode2["Legacy"] = 0] = "Legacy";
1391
1397
  DecodingMode2[DecodingMode2["Strict"] = 1] = "Strict";
1392
1398
  DecodingMode2[DecodingMode2["Attribute"] = 2] = "Attribute";
1393
- })(DecodingMode = exports.DecodingMode || (exports.DecodingMode = {}));
1394
- var EntityDecoder = (
1395
- /** @class */
1396
- (function() {
1397
- function EntityDecoder2(decodeTree, emitCodePoint, errors) {
1398
- this.decodeTree = decodeTree;
1399
- this.emitCodePoint = emitCodePoint;
1400
- this.errors = errors;
1401
- this.state = EntityDecoderState.EntityStart;
1402
- this.consumed = 1;
1403
- this.result = 0;
1404
- this.treeIndex = 0;
1405
- this.excess = 1;
1406
- this.decodeMode = DecodingMode.Strict;
1407
- }
1408
- EntityDecoder2.prototype.startEntity = function(decodeMode) {
1409
- this.decodeMode = decodeMode;
1410
- this.state = EntityDecoderState.EntityStart;
1411
- this.result = 0;
1412
- this.treeIndex = 0;
1413
- this.excess = 1;
1414
- this.consumed = 1;
1415
- };
1416
- EntityDecoder2.prototype.write = function(str, offset) {
1417
- switch (this.state) {
1418
- case EntityDecoderState.EntityStart: {
1419
- if (str.charCodeAt(offset) === CharCodes.NUM) {
1420
- this.state = EntityDecoderState.NumericStart;
1421
- this.consumed += 1;
1422
- return this.stateNumericStart(str, offset + 1);
1423
- }
1424
- this.state = EntityDecoderState.NamedEntity;
1425
- return this.stateNamedEntity(str, offset);
1426
- }
1427
- case EntityDecoderState.NumericStart: {
1428
- return this.stateNumericStart(str, offset);
1429
- }
1430
- case EntityDecoderState.NumericDecimal: {
1431
- return this.stateNumericDecimal(str, offset);
1432
- }
1433
- case EntityDecoderState.NumericHex: {
1434
- return this.stateNumericHex(str, offset);
1435
- }
1436
- case EntityDecoderState.NamedEntity: {
1437
- return this.stateNamedEntity(str, offset);
1399
+ })(DecodingMode || (exports.DecodingMode = DecodingMode = {}));
1400
+ var EntityDecoder = class {
1401
+ constructor(decodeTree, emitCodePoint, errors) {
1402
+ this.decodeTree = decodeTree;
1403
+ this.emitCodePoint = emitCodePoint;
1404
+ this.errors = errors;
1405
+ this.state = EntityDecoderState.EntityStart;
1406
+ this.consumed = 1;
1407
+ this.result = 0;
1408
+ this.treeIndex = 0;
1409
+ this.excess = 1;
1410
+ this.decodeMode = DecodingMode.Strict;
1411
+ this.runConsumed = 0;
1412
+ }
1413
+ /** Resets the instance to make it reusable. */
1414
+ startEntity(decodeMode) {
1415
+ this.decodeMode = decodeMode;
1416
+ this.state = EntityDecoderState.EntityStart;
1417
+ this.result = 0;
1418
+ this.treeIndex = 0;
1419
+ this.excess = 1;
1420
+ this.consumed = 1;
1421
+ this.runConsumed = 0;
1422
+ }
1423
+ /**
1424
+ * Write an entity to the decoder. This can be called multiple times with partial entities.
1425
+ * If the entity is incomplete, the decoder will return -1.
1426
+ *
1427
+ * Mirrors the implementation of `getDecoder`, but with the ability to stop decoding if the
1428
+ * entity is incomplete, and resume when the next string is written.
1429
+ *
1430
+ * @param input The string containing the entity (or a continuation of the entity).
1431
+ * @param offset The offset at which the entity begins. Should be 0 if this is not the first call.
1432
+ * @returns The number of characters that were consumed, or -1 if the entity is incomplete.
1433
+ */
1434
+ write(input, offset) {
1435
+ switch (this.state) {
1436
+ case EntityDecoderState.EntityStart: {
1437
+ if (input.charCodeAt(offset) === CharCodes.NUM) {
1438
+ this.state = EntityDecoderState.NumericStart;
1439
+ this.consumed += 1;
1440
+ return this.stateNumericStart(input, offset + 1);
1438
1441
  }
1442
+ this.state = EntityDecoderState.NamedEntity;
1443
+ return this.stateNamedEntity(input, offset);
1439
1444
  }
1440
- };
1441
- EntityDecoder2.prototype.stateNumericStart = function(str, offset) {
1442
- if (offset >= str.length) {
1443
- return -1;
1445
+ case EntityDecoderState.NumericStart: {
1446
+ return this.stateNumericStart(input, offset);
1444
1447
  }
1445
- if ((str.charCodeAt(offset) | TO_LOWER_BIT) === CharCodes.LOWER_X) {
1446
- this.state = EntityDecoderState.NumericHex;
1447
- this.consumed += 1;
1448
- return this.stateNumericHex(str, offset + 1);
1448
+ case EntityDecoderState.NumericDecimal: {
1449
+ return this.stateNumericDecimal(input, offset);
1449
1450
  }
1450
- this.state = EntityDecoderState.NumericDecimal;
1451
- return this.stateNumericDecimal(str, offset);
1452
- };
1453
- EntityDecoder2.prototype.addToNumericResult = function(str, start, end, base) {
1454
- if (start !== end) {
1455
- var digitCount = end - start;
1456
- this.result = this.result * Math.pow(base, digitCount) + parseInt(str.substr(start, digitCount), base);
1457
- this.consumed += digitCount;
1458
- }
1459
- };
1460
- EntityDecoder2.prototype.stateNumericHex = function(str, offset) {
1461
- var startIdx = offset;
1462
- while (offset < str.length) {
1463
- var char = str.charCodeAt(offset);
1464
- if (isNumber(char) || isHexadecimalCharacter(char)) {
1465
- offset += 1;
1466
- } else {
1467
- this.addToNumericResult(str, startIdx, offset, 16);
1468
- return this.emitNumericEntity(char, 3);
1469
- }
1451
+ case EntityDecoderState.NumericHex: {
1452
+ return this.stateNumericHex(input, offset);
1470
1453
  }
1471
- this.addToNumericResult(str, startIdx, offset, 16);
1472
- return -1;
1473
- };
1474
- EntityDecoder2.prototype.stateNumericDecimal = function(str, offset) {
1475
- var startIdx = offset;
1476
- while (offset < str.length) {
1477
- var char = str.charCodeAt(offset);
1478
- if (isNumber(char)) {
1479
- offset += 1;
1480
- } else {
1481
- this.addToNumericResult(str, startIdx, offset, 10);
1482
- return this.emitNumericEntity(char, 2);
1483
- }
1454
+ case EntityDecoderState.NamedEntity: {
1455
+ return this.stateNamedEntity(input, offset);
1484
1456
  }
1485
- this.addToNumericResult(str, startIdx, offset, 10);
1457
+ }
1458
+ }
1459
+ /**
1460
+ * Switches between the numeric decimal and hexadecimal states.
1461
+ *
1462
+ * Equivalent to the `Numeric character reference state` in the HTML spec.
1463
+ *
1464
+ * @param input The string containing the entity (or a continuation of the entity).
1465
+ * @param offset The current offset.
1466
+ * @returns The number of characters that were consumed, or -1 if the entity is incomplete.
1467
+ */
1468
+ stateNumericStart(input, offset) {
1469
+ if (offset >= input.length) {
1486
1470
  return -1;
1487
- };
1488
- EntityDecoder2.prototype.emitNumericEntity = function(lastCp, expectedLength) {
1489
- var _a;
1490
- if (this.consumed <= expectedLength) {
1491
- (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed);
1492
- return 0;
1471
+ }
1472
+ if ((input.charCodeAt(offset) | TO_LOWER_BIT) === CharCodes.LOWER_X) {
1473
+ this.state = EntityDecoderState.NumericHex;
1474
+ this.consumed += 1;
1475
+ return this.stateNumericHex(input, offset + 1);
1476
+ }
1477
+ this.state = EntityDecoderState.NumericDecimal;
1478
+ return this.stateNumericDecimal(input, offset);
1479
+ }
1480
+ /**
1481
+ * Parses a hexadecimal numeric entity.
1482
+ *
1483
+ * Equivalent to the `Hexademical character reference state` in the HTML spec.
1484
+ *
1485
+ * @param input The string containing the entity (or a continuation of the entity).
1486
+ * @param offset The current offset.
1487
+ * @returns The number of characters that were consumed, or -1 if the entity is incomplete.
1488
+ */
1489
+ stateNumericHex(input, offset) {
1490
+ while (offset < input.length) {
1491
+ const char = input.charCodeAt(offset);
1492
+ if (isNumber(char) || isHexadecimalCharacter(char)) {
1493
+ const digit = char <= CharCodes.NINE ? char - CharCodes.ZERO : (char | TO_LOWER_BIT) - CharCodes.LOWER_A + 10;
1494
+ this.result = this.result * 16 + digit;
1495
+ this.consumed++;
1496
+ offset++;
1497
+ } else {
1498
+ return this.emitNumericEntity(char, 3);
1493
1499
  }
1494
- if (lastCp === CharCodes.SEMI) {
1495
- this.consumed += 1;
1496
- } else if (this.decodeMode === DecodingMode.Strict) {
1497
- return 0;
1500
+ }
1501
+ return -1;
1502
+ }
1503
+ /**
1504
+ * Parses a decimal numeric entity.
1505
+ *
1506
+ * Equivalent to the `Decimal character reference state` in the HTML spec.
1507
+ *
1508
+ * @param input The string containing the entity (or a continuation of the entity).
1509
+ * @param offset The current offset.
1510
+ * @returns The number of characters that were consumed, or -1 if the entity is incomplete.
1511
+ */
1512
+ stateNumericDecimal(input, offset) {
1513
+ while (offset < input.length) {
1514
+ const char = input.charCodeAt(offset);
1515
+ if (isNumber(char)) {
1516
+ this.result = this.result * 10 + (char - CharCodes.ZERO);
1517
+ this.consumed++;
1518
+ offset++;
1519
+ } else {
1520
+ return this.emitNumericEntity(char, 2);
1498
1521
  }
1499
- this.emitCodePoint((0, decode_codepoint_js_1.replaceCodePoint)(this.result), this.consumed);
1500
- if (this.errors) {
1501
- if (lastCp !== CharCodes.SEMI) {
1502
- this.errors.missingSemicolonAfterCharacterReference();
1503
- }
1504
- this.errors.validateNumericCharacterReference(this.result);
1522
+ }
1523
+ return -1;
1524
+ }
1525
+ /**
1526
+ * Validate and emit a numeric entity.
1527
+ *
1528
+ * Implements the logic from the `Hexademical character reference start
1529
+ * state` and `Numeric character reference end state` in the HTML spec.
1530
+ *
1531
+ * @param lastCp The last code point of the entity. Used to see if the
1532
+ * entity was terminated with a semicolon.
1533
+ * @param expectedLength The minimum number of characters that should be
1534
+ * consumed. Used to validate that at least one digit
1535
+ * was consumed.
1536
+ * @returns The number of characters that were consumed.
1537
+ */
1538
+ emitNumericEntity(lastCp, expectedLength) {
1539
+ var _a;
1540
+ if (this.consumed <= expectedLength) {
1541
+ (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed);
1542
+ return 0;
1543
+ }
1544
+ if (lastCp === CharCodes.SEMI) {
1545
+ this.consumed += 1;
1546
+ } else if (this.decodeMode === DecodingMode.Strict) {
1547
+ return 0;
1548
+ }
1549
+ this.emitCodePoint((0, decode_codepoint_js_1.replaceCodePoint)(this.result), this.consumed);
1550
+ if (this.errors) {
1551
+ if (lastCp !== CharCodes.SEMI) {
1552
+ this.errors.missingSemicolonAfterCharacterReference();
1505
1553
  }
1506
- return this.consumed;
1507
- };
1508
- EntityDecoder2.prototype.stateNamedEntity = function(str, offset) {
1509
- var decodeTree = this.decodeTree;
1510
- var current = decodeTree[this.treeIndex];
1511
- var valueLength = (current & BinTrieFlags.VALUE_LENGTH) >> 14;
1512
- for (; offset < str.length; offset++, this.excess++) {
1513
- var char = str.charCodeAt(offset);
1514
- this.treeIndex = determineBranch(decodeTree, current, this.treeIndex + Math.max(1, valueLength), char);
1515
- if (this.treeIndex < 0) {
1516
- return this.result === 0 || // If we are parsing an attribute
1517
- this.decodeMode === DecodingMode.Attribute && // We shouldn't have consumed any characters after the entity,
1518
- (valueLength === 0 || // And there should be no invalid characters.
1519
- isEntityInAttributeInvalidEnd(char)) ? 0 : this.emitNotTerminatedNamedEntity();
1554
+ this.errors.validateNumericCharacterReference(this.result);
1555
+ }
1556
+ return this.consumed;
1557
+ }
1558
+ /**
1559
+ * Parses a named entity.
1560
+ *
1561
+ * Equivalent to the `Named character reference state` in the HTML spec.
1562
+ *
1563
+ * @param input The string containing the entity (or a continuation of the entity).
1564
+ * @param offset The current offset.
1565
+ * @returns The number of characters that were consumed, or -1 if the entity is incomplete.
1566
+ */
1567
+ stateNamedEntity(input, offset) {
1568
+ const { decodeTree } = this;
1569
+ let current = decodeTree[this.treeIndex];
1570
+ let valueLength = (current & bin_trie_flags_js_1.BinTrieFlags.VALUE_LENGTH) >> 14;
1571
+ while (offset < input.length) {
1572
+ if (valueLength === 0 && (current & bin_trie_flags_js_1.BinTrieFlags.FLAG13) !== 0) {
1573
+ const runLength = (current & bin_trie_flags_js_1.BinTrieFlags.BRANCH_LENGTH) >> 7;
1574
+ if (this.runConsumed === 0) {
1575
+ const firstChar = current & bin_trie_flags_js_1.BinTrieFlags.JUMP_TABLE;
1576
+ if (input.charCodeAt(offset) !== firstChar) {
1577
+ return this.result === 0 ? 0 : this.emitNotTerminatedNamedEntity();
1578
+ }
1579
+ offset++;
1580
+ this.excess++;
1581
+ this.runConsumed++;
1520
1582
  }
1521
- current = decodeTree[this.treeIndex];
1522
- valueLength = (current & BinTrieFlags.VALUE_LENGTH) >> 14;
1523
- if (valueLength !== 0) {
1524
- if (char === CharCodes.SEMI) {
1525
- return this.emitNamedEntityData(this.treeIndex, valueLength, this.consumed + this.excess);
1583
+ while (this.runConsumed < runLength) {
1584
+ if (offset >= input.length) {
1585
+ return -1;
1526
1586
  }
1527
- if (this.decodeMode !== DecodingMode.Strict) {
1528
- this.result = this.treeIndex;
1529
- this.consumed += this.excess;
1530
- this.excess = 0;
1587
+ const charIndexInPacked = this.runConsumed - 1;
1588
+ const packedWord = decodeTree[this.treeIndex + 1 + (charIndexInPacked >> 1)];
1589
+ const expectedChar = charIndexInPacked % 2 === 0 ? packedWord & 255 : packedWord >> 8 & 255;
1590
+ if (input.charCodeAt(offset) !== expectedChar) {
1591
+ this.runConsumed = 0;
1592
+ return this.result === 0 ? 0 : this.emitNotTerminatedNamedEntity();
1531
1593
  }
1594
+ offset++;
1595
+ this.excess++;
1596
+ this.runConsumed++;
1532
1597
  }
1598
+ this.runConsumed = 0;
1599
+ this.treeIndex += 1 + (runLength >> 1);
1600
+ current = decodeTree[this.treeIndex];
1601
+ valueLength = (current & bin_trie_flags_js_1.BinTrieFlags.VALUE_LENGTH) >> 14;
1533
1602
  }
1534
- return -1;
1535
- };
1536
- EntityDecoder2.prototype.emitNotTerminatedNamedEntity = function() {
1537
- var _a;
1538
- var _b = this, result = _b.result, decodeTree = _b.decodeTree;
1539
- var valueLength = (decodeTree[result] & BinTrieFlags.VALUE_LENGTH) >> 14;
1540
- this.emitNamedEntityData(result, valueLength, this.consumed);
1541
- (_a = this.errors) === null || _a === void 0 ? void 0 : _a.missingSemicolonAfterCharacterReference();
1542
- return this.consumed;
1543
- };
1544
- EntityDecoder2.prototype.emitNamedEntityData = function(result, valueLength, consumed) {
1545
- var decodeTree = this.decodeTree;
1546
- this.emitCodePoint(valueLength === 1 ? decodeTree[result] & ~BinTrieFlags.VALUE_LENGTH : decodeTree[result + 1], consumed);
1547
- if (valueLength === 3) {
1548
- this.emitCodePoint(decodeTree[result + 2], consumed);
1603
+ if (offset >= input.length)
1604
+ break;
1605
+ const char = input.charCodeAt(offset);
1606
+ if (char === CharCodes.SEMI && valueLength !== 0 && (current & bin_trie_flags_js_1.BinTrieFlags.FLAG13) !== 0) {
1607
+ return this.emitNamedEntityData(this.treeIndex, valueLength, this.consumed + this.excess);
1549
1608
  }
1550
- return consumed;
1551
- };
1552
- EntityDecoder2.prototype.end = function() {
1553
- var _a;
1554
- switch (this.state) {
1555
- case EntityDecoderState.NamedEntity: {
1556
- return this.result !== 0 && (this.decodeMode !== DecodingMode.Attribute || this.result === this.treeIndex) ? this.emitNotTerminatedNamedEntity() : 0;
1557
- }
1558
- // Otherwise, emit a numeric entity if we have one.
1559
- case EntityDecoderState.NumericDecimal: {
1560
- return this.emitNumericEntity(0, 2);
1561
- }
1562
- case EntityDecoderState.NumericHex: {
1563
- return this.emitNumericEntity(0, 3);
1564
- }
1565
- case EntityDecoderState.NumericStart: {
1566
- (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed);
1567
- return 0;
1609
+ this.treeIndex = determineBranch(decodeTree, current, this.treeIndex + Math.max(1, valueLength), char);
1610
+ if (this.treeIndex < 0) {
1611
+ return this.result === 0 || // If we are parsing an attribute
1612
+ this.decodeMode === DecodingMode.Attribute && // We shouldn't have consumed any characters after the entity,
1613
+ (valueLength === 0 || // And there should be no invalid characters.
1614
+ isEntityInAttributeInvalidEnd(char)) ? 0 : this.emitNotTerminatedNamedEntity();
1615
+ }
1616
+ current = decodeTree[this.treeIndex];
1617
+ valueLength = (current & bin_trie_flags_js_1.BinTrieFlags.VALUE_LENGTH) >> 14;
1618
+ if (valueLength !== 0) {
1619
+ if (char === CharCodes.SEMI) {
1620
+ return this.emitNamedEntityData(this.treeIndex, valueLength, this.consumed + this.excess);
1568
1621
  }
1569
- case EntityDecoderState.EntityStart: {
1570
- return 0;
1622
+ if (this.decodeMode !== DecodingMode.Strict && (current & bin_trie_flags_js_1.BinTrieFlags.FLAG13) === 0) {
1623
+ this.result = this.treeIndex;
1624
+ this.consumed += this.excess;
1625
+ this.excess = 0;
1571
1626
  }
1572
1627
  }
1573
- };
1574
- return EntityDecoder2;
1575
- })()
1576
- );
1628
+ offset++;
1629
+ this.excess++;
1630
+ }
1631
+ return -1;
1632
+ }
1633
+ /**
1634
+ * Emit a named entity that was not terminated with a semicolon.
1635
+ *
1636
+ * @returns The number of characters consumed.
1637
+ */
1638
+ emitNotTerminatedNamedEntity() {
1639
+ var _a;
1640
+ const { result, decodeTree } = this;
1641
+ const valueLength = (decodeTree[result] & bin_trie_flags_js_1.BinTrieFlags.VALUE_LENGTH) >> 14;
1642
+ this.emitNamedEntityData(result, valueLength, this.consumed);
1643
+ (_a = this.errors) === null || _a === void 0 ? void 0 : _a.missingSemicolonAfterCharacterReference();
1644
+ return this.consumed;
1645
+ }
1646
+ /**
1647
+ * Emit a named entity.
1648
+ *
1649
+ * @param result The index of the entity in the decode tree.
1650
+ * @param valueLength The number of bytes in the entity.
1651
+ * @param consumed The number of characters consumed.
1652
+ *
1653
+ * @returns The number of characters consumed.
1654
+ */
1655
+ emitNamedEntityData(result, valueLength, consumed) {
1656
+ const { decodeTree } = this;
1657
+ this.emitCodePoint(valueLength === 1 ? decodeTree[result] & ~(bin_trie_flags_js_1.BinTrieFlags.VALUE_LENGTH | bin_trie_flags_js_1.BinTrieFlags.FLAG13) : decodeTree[result + 1], consumed);
1658
+ if (valueLength === 3) {
1659
+ this.emitCodePoint(decodeTree[result + 2], consumed);
1660
+ }
1661
+ return consumed;
1662
+ }
1663
+ /**
1664
+ * Signal to the parser that the end of the input was reached.
1665
+ *
1666
+ * Remaining data will be emitted and relevant errors will be produced.
1667
+ *
1668
+ * @returns The number of characters consumed.
1669
+ */
1670
+ end() {
1671
+ var _a;
1672
+ switch (this.state) {
1673
+ case EntityDecoderState.NamedEntity: {
1674
+ return this.result !== 0 && (this.decodeMode !== DecodingMode.Attribute || this.result === this.treeIndex) ? this.emitNotTerminatedNamedEntity() : 0;
1675
+ }
1676
+ // Otherwise, emit a numeric entity if we have one.
1677
+ case EntityDecoderState.NumericDecimal: {
1678
+ return this.emitNumericEntity(0, 2);
1679
+ }
1680
+ case EntityDecoderState.NumericHex: {
1681
+ return this.emitNumericEntity(0, 3);
1682
+ }
1683
+ case EntityDecoderState.NumericStart: {
1684
+ (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed);
1685
+ return 0;
1686
+ }
1687
+ case EntityDecoderState.EntityStart: {
1688
+ return 0;
1689
+ }
1690
+ }
1691
+ }
1692
+ };
1577
1693
  exports.EntityDecoder = EntityDecoder;
1578
1694
  function getDecoder(decodeTree) {
1579
- var ret = "";
1580
- var decoder = new EntityDecoder(decodeTree, function(str) {
1581
- return ret += (0, decode_codepoint_js_1.fromCodePoint)(str);
1582
- });
1583
- return function decodeWithTrie(str, decodeMode) {
1584
- var lastIndex = 0;
1585
- var offset = 0;
1586
- while ((offset = str.indexOf("&", offset)) >= 0) {
1587
- ret += str.slice(lastIndex, offset);
1695
+ let returnValue = "";
1696
+ const decoder = new EntityDecoder(decodeTree, (data) => returnValue += (0, decode_codepoint_js_1.fromCodePoint)(data));
1697
+ return function decodeWithTrie(input, decodeMode) {
1698
+ let lastIndex = 0;
1699
+ let offset = 0;
1700
+ while ((offset = input.indexOf("&", offset)) >= 0) {
1701
+ returnValue += input.slice(lastIndex, offset);
1588
1702
  decoder.startEntity(decodeMode);
1589
- var len = decoder.write(
1590
- str,
1703
+ const length = decoder.write(
1704
+ input,
1591
1705
  // Skip the "&"
1592
1706
  offset + 1
1593
1707
  );
1594
- if (len < 0) {
1708
+ if (length < 0) {
1595
1709
  lastIndex = offset + decoder.end();
1596
1710
  break;
1597
1711
  }
1598
- lastIndex = offset + len;
1599
- offset = len === 0 ? lastIndex + 1 : lastIndex;
1712
+ lastIndex = offset + length;
1713
+ offset = length === 0 ? lastIndex + 1 : lastIndex;
1600
1714
  }
1601
- var result = ret + str.slice(lastIndex);
1602
- ret = "";
1715
+ const result = returnValue + input.slice(lastIndex);
1716
+ returnValue = "";
1603
1717
  return result;
1604
1718
  };
1605
1719
  }
1606
- function determineBranch(decodeTree, current, nodeIdx, char) {
1607
- var branchCount = (current & BinTrieFlags.BRANCH_LENGTH) >> 7;
1608
- var jumpOffset = current & BinTrieFlags.JUMP_TABLE;
1720
+ function determineBranch(decodeTree, current, nodeIndex, char) {
1721
+ const branchCount = (current & bin_trie_flags_js_1.BinTrieFlags.BRANCH_LENGTH) >> 7;
1722
+ const jumpOffset = current & bin_trie_flags_js_1.BinTrieFlags.JUMP_TABLE;
1609
1723
  if (branchCount === 0) {
1610
- return jumpOffset !== 0 && char === jumpOffset ? nodeIdx : -1;
1724
+ return jumpOffset !== 0 && char === jumpOffset ? nodeIndex : -1;
1611
1725
  }
1612
1726
  if (jumpOffset) {
1613
- var value = char - jumpOffset;
1614
- return value < 0 || value >= branchCount ? -1 : decodeTree[nodeIdx + value] - 1;
1727
+ const value = char - jumpOffset;
1728
+ return value < 0 || value >= branchCount ? -1 : decodeTree[nodeIndex + value] - 1;
1615
1729
  }
1616
- var lo = nodeIdx;
1617
- var hi = lo + branchCount - 1;
1730
+ const packedKeySlots = branchCount + 1 >> 1;
1731
+ let lo = 0;
1732
+ let hi = branchCount - 1;
1618
1733
  while (lo <= hi) {
1619
- var mid = lo + hi >>> 1;
1620
- var midVal = decodeTree[mid];
1621
- if (midVal < char) {
1734
+ const mid = lo + hi >>> 1;
1735
+ const slot = mid >> 1;
1736
+ const packed = decodeTree[nodeIndex + slot];
1737
+ const midKey = packed >> (mid & 1) * 8 & 255;
1738
+ if (midKey < char) {
1622
1739
  lo = mid + 1;
1623
- } else if (midVal > char) {
1740
+ } else if (midKey > char) {
1624
1741
  hi = mid - 1;
1625
1742
  } else {
1626
- return decodeTree[mid + branchCount];
1743
+ return decodeTree[nodeIndex + packedKeySlots + mid];
1627
1744
  }
1628
1745
  }
1629
1746
  return -1;
1630
1747
  }
1631
- exports.determineBranch = determineBranch;
1632
- var htmlDecoder = getDecoder(decode_data_html_js_1.default);
1633
- var xmlDecoder = getDecoder(decode_data_xml_js_1.default);
1634
- function decodeHTML(str, mode) {
1635
- if (mode === void 0) {
1636
- mode = DecodingMode.Legacy;
1637
- }
1638
- return htmlDecoder(str, mode);
1748
+ var htmlDecoder = /* @__PURE__ */ getDecoder(decode_data_html_js_1.htmlDecodeTree);
1749
+ var xmlDecoder = /* @__PURE__ */ getDecoder(decode_data_xml_js_1.xmlDecodeTree);
1750
+ function decodeHTML(htmlString, mode = DecodingMode.Legacy) {
1751
+ return htmlDecoder(htmlString, mode);
1639
1752
  }
1640
- exports.decodeHTML = decodeHTML;
1641
- function decodeHTMLAttribute(str) {
1642
- return htmlDecoder(str, DecodingMode.Attribute);
1753
+ function decodeHTMLAttribute(htmlAttribute) {
1754
+ return htmlDecoder(htmlAttribute, DecodingMode.Attribute);
1643
1755
  }
1644
- exports.decodeHTMLAttribute = decodeHTMLAttribute;
1645
- function decodeHTMLStrict(str) {
1646
- return htmlDecoder(str, DecodingMode.Strict);
1756
+ function decodeHTMLStrict(htmlString) {
1757
+ return htmlDecoder(htmlString, DecodingMode.Strict);
1647
1758
  }
1648
- exports.decodeHTMLStrict = decodeHTMLStrict;
1649
- function decodeXML(str) {
1650
- return xmlDecoder(str, DecodingMode.Strict);
1759
+ function decodeXML(xmlString) {
1760
+ return xmlDecoder(xmlString, DecodingMode.Strict);
1651
1761
  }
1652
- exports.decodeXML = decodeXML;
1762
+ var decode_codepoint_js_2 = require_decode_codepoint();
1763
+ Object.defineProperty(exports, "decodeCodePoint", { enumerable: true, get: function() {
1764
+ return decode_codepoint_js_2.decodeCodePoint;
1765
+ } });
1766
+ Object.defineProperty(exports, "fromCodePoint", { enumerable: true, get: function() {
1767
+ return decode_codepoint_js_2.fromCodePoint;
1768
+ } });
1769
+ Object.defineProperty(exports, "replaceCodePoint", { enumerable: true, get: function() {
1770
+ return decode_codepoint_js_2.replaceCodePoint;
1771
+ } });
1772
+ var decode_data_html_js_2 = require_decode_data_html();
1773
+ Object.defineProperty(exports, "htmlDecodeTree", { enumerable: true, get: function() {
1774
+ return decode_data_html_js_2.htmlDecodeTree;
1775
+ } });
1776
+ var decode_data_xml_js_2 = require_decode_data_xml();
1777
+ Object.defineProperty(exports, "xmlDecodeTree", { enumerable: true, get: function() {
1778
+ return decode_data_xml_js_2.xmlDecodeTree;
1779
+ } });
1653
1780
  }
1654
1781
  });
1655
1782
 
1656
- // ../../node_modules/.bun/@babel+parser@7.28.5/node_modules/@babel/parser/lib/index.js
1783
+ // ../../node_modules/.bun/@babel+parser@7.28.6/node_modules/@babel/parser/lib/index.js
1657
1784
  var require_lib = __commonJS({
1658
- "../../node_modules/.bun/@babel+parser@7.28.5/node_modules/@babel/parser/lib/index.js"(exports) {
1785
+ "../../node_modules/.bun/@babel+parser@7.28.6/node_modules/@babel/parser/lib/index.js"(exports) {
1659
1786
  "use strict";
1660
1787
  Object.defineProperty(exports, "__esModule", {
1661
1788
  value: true
@@ -2009,18 +2136,16 @@ var require_lib = __commonJS({
2009
2136
  syntaxPlugin
2010
2137
  }) {
2011
2138
  const hasMissingPlugin = reasonCode === "MissingPlugin" || reasonCode === "MissingOneOfPlugins";
2012
- {
2013
- const oldReasonCodes = {
2014
- AccessorCannotDeclareThisParameter: "AccesorCannotDeclareThisParameter",
2015
- AccessorCannotHaveTypeParameters: "AccesorCannotHaveTypeParameters",
2016
- ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference: "ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference",
2017
- SetAccessorCannotHaveOptionalParameter: "SetAccesorCannotHaveOptionalParameter",
2018
- SetAccessorCannotHaveRestParameter: "SetAccesorCannotHaveRestParameter",
2019
- SetAccessorCannotHaveReturnType: "SetAccesorCannotHaveReturnType"
2020
- };
2021
- if (oldReasonCodes[reasonCode]) {
2022
- reasonCode = oldReasonCodes[reasonCode];
2023
- }
2139
+ const oldReasonCodes = {
2140
+ AccessorCannotDeclareThisParameter: "AccesorCannotDeclareThisParameter",
2141
+ AccessorCannotHaveTypeParameters: "AccesorCannotHaveTypeParameters",
2142
+ ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference: "ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference",
2143
+ SetAccessorCannotHaveOptionalParameter: "SetAccesorCannotHaveOptionalParameter",
2144
+ SetAccessorCannotHaveRestParameter: "SetAccesorCannotHaveRestParameter",
2145
+ SetAccessorCannotHaveReturnType: "SetAccesorCannotHaveReturnType"
2146
+ };
2147
+ if (oldReasonCodes[reasonCode]) {
2148
+ reasonCode = oldReasonCodes[reasonCode];
2024
2149
  }
2025
2150
  return function constructor(loc, details) {
2026
2151
  const error = new SyntaxError();
@@ -2281,10 +2406,8 @@ var require_lib = __commonJS({
2281
2406
  }
2282
2407
  parsePrivateName() {
2283
2408
  const node = super.parsePrivateName();
2284
- {
2285
- if (!this.getPluginOption("estree", "classFeatures")) {
2286
- return node;
2287
- }
2409
+ if (!this.getPluginOption("estree", "classFeatures")) {
2410
+ return node;
2288
2411
  }
2289
2412
  return this.convertPrivateNameToPrivateIdentifier(node);
2290
2413
  }
@@ -2295,18 +2418,14 @@ var require_lib = __commonJS({
2295
2418
  return this.castNodeTo(node, "PrivateIdentifier");
2296
2419
  }
2297
2420
  isPrivateName(node) {
2298
- {
2299
- if (!this.getPluginOption("estree", "classFeatures")) {
2300
- return super.isPrivateName(node);
2301
- }
2421
+ if (!this.getPluginOption("estree", "classFeatures")) {
2422
+ return super.isPrivateName(node);
2302
2423
  }
2303
2424
  return node.type === "PrivateIdentifier";
2304
2425
  }
2305
2426
  getPrivateNameSV(node) {
2306
- {
2307
- if (!this.getPluginOption("estree", "classFeatures")) {
2308
- return super.getPrivateNameSV(node);
2309
- }
2427
+ if (!this.getPluginOption("estree", "classFeatures")) {
2428
+ return super.getPrivateNameSV(node);
2310
2429
  }
2311
2430
  return node.name;
2312
2431
  }
@@ -2354,35 +2473,25 @@ var require_lib = __commonJS({
2354
2473
  }
2355
2474
  parseClassProperty(...args) {
2356
2475
  const propertyNode = super.parseClassProperty(...args);
2357
- {
2358
- if (!this.getPluginOption("estree", "classFeatures")) {
2359
- return propertyNode;
2360
- }
2361
- }
2362
- {
2363
- this.castNodeTo(propertyNode, "PropertyDefinition");
2476
+ if (!this.getPluginOption("estree", "classFeatures")) {
2477
+ return propertyNode;
2364
2478
  }
2479
+ this.castNodeTo(propertyNode, "PropertyDefinition");
2365
2480
  return propertyNode;
2366
2481
  }
2367
2482
  parseClassPrivateProperty(...args) {
2368
2483
  const propertyNode = super.parseClassPrivateProperty(...args);
2369
- {
2370
- if (!this.getPluginOption("estree", "classFeatures")) {
2371
- return propertyNode;
2372
- }
2373
- }
2374
- {
2375
- this.castNodeTo(propertyNode, "PropertyDefinition");
2484
+ if (!this.getPluginOption("estree", "classFeatures")) {
2485
+ return propertyNode;
2376
2486
  }
2487
+ this.castNodeTo(propertyNode, "PropertyDefinition");
2377
2488
  propertyNode.computed = false;
2378
2489
  return propertyNode;
2379
2490
  }
2380
2491
  parseClassAccessorProperty(node) {
2381
2492
  const accessorPropertyNode = super.parseClassAccessorProperty(node);
2382
- {
2383
- if (!this.getPluginOption("estree", "classFeatures")) {
2384
- return accessorPropertyNode;
2385
- }
2493
+ if (!this.getPluginOption("estree", "classFeatures")) {
2494
+ return accessorPropertyNode;
2386
2495
  }
2387
2496
  if (accessorPropertyNode.abstract && this.hasPlugin("typescript")) {
2388
2497
  delete accessorPropertyNode.abstract;
@@ -2439,14 +2548,11 @@ var require_lib = __commonJS({
2439
2548
  finishCallExpression(unfinished, optional) {
2440
2549
  const node = super.finishCallExpression(unfinished, optional);
2441
2550
  if (node.callee.type === "Import") {
2442
- var _ref;
2551
+ var _ref, _ref2;
2443
2552
  this.castNodeTo(node, "ImportExpression");
2444
2553
  node.source = node.arguments[0];
2445
2554
  node.options = (_ref = node.arguments[1]) != null ? _ref : null;
2446
- {
2447
- var _ref2;
2448
- node.attributes = (_ref2 = node.arguments[1]) != null ? _ref2 : null;
2449
- }
2555
+ node.attributes = (_ref2 = node.arguments[1]) != null ? _ref2 : null;
2450
2556
  delete node.arguments;
2451
2557
  delete node.callee;
2452
2558
  } else if (node.type === "OptionalCallExpression") {
@@ -2570,9 +2676,7 @@ var require_lib = __commonJS({
2570
2676
  j_cTag: new TokContext("</tag"),
2571
2677
  j_expr: new TokContext("<tag>...</tag>", true)
2572
2678
  };
2573
- {
2574
- types.template = new TokContext("`", true);
2575
- }
2679
+ types.template = new TokContext("`", true);
2576
2680
  var beforeExpr = true;
2577
2681
  var startsExpr = true;
2578
2682
  var isLoop = true;
@@ -2601,9 +2705,7 @@ var require_lib = __commonJS({
2601
2705
  this.prefix = !!conf.prefix;
2602
2706
  this.postfix = !!conf.postfix;
2603
2707
  this.binop = conf.binop != null ? conf.binop : null;
2604
- {
2605
- this.updateContext = null;
2606
- }
2708
+ this.updateContext = null;
2607
2709
  }
2608
2710
  };
2609
2711
  var keywords$1 = /* @__PURE__ */ new Map();
@@ -3104,24 +3206,22 @@ var require_lib = __commonJS({
3104
3206
  function getExportedToken(token) {
3105
3207
  return tokenTypes[token];
3106
3208
  }
3107
- {
3108
- tokenTypes[8].updateContext = (context) => {
3209
+ tokenTypes[8].updateContext = (context) => {
3210
+ context.pop();
3211
+ };
3212
+ tokenTypes[5].updateContext = tokenTypes[7].updateContext = tokenTypes[23].updateContext = (context) => {
3213
+ context.push(types.brace);
3214
+ };
3215
+ tokenTypes[22].updateContext = (context) => {
3216
+ if (context[context.length - 1] === types.template) {
3109
3217
  context.pop();
3110
- };
3111
- tokenTypes[5].updateContext = tokenTypes[7].updateContext = tokenTypes[23].updateContext = (context) => {
3112
- context.push(types.brace);
3113
- };
3114
- tokenTypes[22].updateContext = (context) => {
3115
- if (context[context.length - 1] === types.template) {
3116
- context.pop();
3117
- } else {
3118
- context.push(types.template);
3119
- }
3120
- };
3121
- tokenTypes[143].updateContext = (context) => {
3122
- context.push(types.j_expr, types.j_oTag);
3123
- };
3124
- }
3218
+ } else {
3219
+ context.push(types.template);
3220
+ }
3221
+ };
3222
+ tokenTypes[143].updateContext = (context) => {
3223
+ context.push(types.j_expr, types.j_oTag);
3224
+ };
3125
3225
  var nonASCIIidentifierStartChars = "\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088F\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5C\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDC-\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7DC\uA7F1-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC";
3126
3226
  var nonASCIIidentifierChars = "\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0897-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ADD\u1AE0-\u1AEB\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\u30FB\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F\uFF65";
3127
3227
  var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]");
@@ -4979,9 +5079,7 @@ var require_lib = __commonJS({
4979
5079
  parseClassSuper(node) {
4980
5080
  super.parseClassSuper(node);
4981
5081
  if (node.superClass && (this.match(47) || this.match(51))) {
4982
- {
4983
- node.superTypeParameters = this.flowParseTypeParameterInstantiationInExpression();
4984
- }
5082
+ node.superTypeParameters = this.flowParseTypeParameterInstantiationInExpression();
4985
5083
  }
4986
5084
  if (this.isContextual(113)) {
4987
5085
  this.next();
@@ -6767,7 +6865,6 @@ var require_lib = __commonJS({
6767
6865
  switch (node.type) {
6768
6866
  case "ObjectExpression":
6769
6867
  case "ObjectPattern":
6770
- case "RecordExpression":
6771
6868
  adjustInnerComments(node, node.properties, commentWS);
6772
6869
  break;
6773
6870
  case "CallExpression":
@@ -6787,7 +6884,6 @@ var require_lib = __commonJS({
6787
6884
  break;
6788
6885
  case "ArrayExpression":
6789
6886
  case "ArrayPattern":
6790
- case "TupleExpression":
6791
6887
  adjustInnerComments(node, node.elements, commentWS);
6792
6888
  break;
6793
6889
  case "ExportNamedDeclaration":
@@ -6795,14 +6891,20 @@ var require_lib = __commonJS({
6795
6891
  adjustInnerComments(node, node.specifiers, commentWS);
6796
6892
  break;
6797
6893
  case "TSEnumDeclaration":
6798
- {
6799
- adjustInnerComments(node, node.members, commentWS);
6800
- }
6894
+ adjustInnerComments(node, node.members, commentWS);
6801
6895
  break;
6802
6896
  case "TSEnumBody":
6803
6897
  adjustInnerComments(node, node.members, commentWS);
6804
6898
  break;
6805
6899
  default: {
6900
+ if (node.type === "RecordExpression") {
6901
+ adjustInnerComments(node, node.properties, commentWS);
6902
+ break;
6903
+ }
6904
+ if (node.type === "TupleExpression") {
6905
+ adjustInnerComments(node, node.elements, commentWS);
6906
+ break;
6907
+ }
6806
6908
  setInnerComments(node, comments);
6807
6909
  }
6808
6910
  }
@@ -8753,19 +8855,17 @@ var require_lib = __commonJS({
8753
8855
  }
8754
8856
  };
8755
8857
  var NodePrototype = Node.prototype;
8756
- {
8757
- NodePrototype.__clone = function() {
8758
- const newNode = new Node(void 0, this.start, this.loc.start);
8759
- const keys = Object.keys(this);
8760
- for (let i = 0, length = keys.length; i < length; i++) {
8761
- const key = keys[i];
8762
- if (key !== "leadingComments" && key !== "trailingComments" && key !== "innerComments") {
8763
- newNode[key] = this[key];
8764
- }
8858
+ NodePrototype.__clone = function() {
8859
+ const newNode = new Node(void 0, this.start, this.loc.start);
8860
+ const keys = Object.keys(this);
8861
+ for (let i = 0, length = keys.length; i < length; i++) {
8862
+ const key = keys[i];
8863
+ if (key !== "leadingComments" && key !== "trailingComments" && key !== "innerComments") {
8864
+ newNode[key] = this[key];
8765
8865
  }
8766
- return newNode;
8767
- };
8768
- }
8866
+ }
8867
+ return newNode;
8868
+ };
8769
8869
  var NodeUtils = class extends UtilParser {
8770
8870
  startNode() {
8771
8871
  const loc = this.state.startLoc;
@@ -9613,13 +9713,9 @@ var require_lib = __commonJS({
9613
9713
  this.expect(10);
9614
9714
  if (!this.match(134)) {
9615
9715
  this.raise(TSErrors.UnsupportedImportTypeArgument, this.state.startLoc);
9616
- {
9617
- node.argument = super.parseExprAtom();
9618
- }
9716
+ node.argument = super.parseExprAtom();
9619
9717
  } else {
9620
- {
9621
- node.argument = this.parseStringLiteral(this.state.value);
9622
- }
9718
+ node.argument = this.parseStringLiteral(this.state.value);
9623
9719
  }
9624
9720
  if (this.eat(12)) {
9625
9721
  node.options = this.tsParseImportTypeOptions();
@@ -9631,9 +9727,7 @@ var require_lib = __commonJS({
9631
9727
  node.qualifier = this.tsParseEntityName(1 | 2);
9632
9728
  }
9633
9729
  if (this.match(47)) {
9634
- {
9635
- node.typeParameters = this.tsParseTypeArguments();
9636
- }
9730
+ node.typeParameters = this.tsParseTypeArguments();
9637
9731
  }
9638
9732
  return this.finishNode(node, "TSImportType");
9639
9733
  }
@@ -9698,9 +9792,7 @@ var require_lib = __commonJS({
9698
9792
  const node = this.startNode();
9699
9793
  node.typeName = this.tsParseEntityName(1);
9700
9794
  if (!this.hasPrecedingLineBreak() && this.match(47)) {
9701
- {
9702
- node.typeParameters = this.tsParseTypeArguments();
9703
- }
9795
+ node.typeParameters = this.tsParseTypeArguments();
9704
9796
  }
9705
9797
  return this.finishNode(node, "TSTypeReference");
9706
9798
  }
@@ -9723,14 +9815,10 @@ var require_lib = __commonJS({
9723
9815
  if (this.match(83)) {
9724
9816
  node.exprName = this.tsParseImportType();
9725
9817
  } else {
9726
- {
9727
- node.exprName = this.tsParseEntityName(1 | 2);
9728
- }
9818
+ node.exprName = this.tsParseEntityName(1 | 2);
9729
9819
  }
9730
9820
  if (!this.hasPrecedingLineBreak() && this.match(47)) {
9731
- {
9732
- node.typeParameters = this.tsParseTypeArguments();
9733
- }
9821
+ node.typeParameters = this.tsParseTypeArguments();
9734
9822
  }
9735
9823
  return this.finishNode(node, "TSTypeQuery");
9736
9824
  }
@@ -9951,12 +10039,10 @@ var require_lib = __commonJS({
9951
10039
  node.readonly = true;
9952
10040
  }
9953
10041
  this.expect(0);
9954
- {
9955
- const typeParameter = this.startNode();
9956
- typeParameter.name = this.tsParseTypeParameterName();
9957
- typeParameter.constraint = this.tsExpectThenParseType(58);
9958
- node.typeParameter = this.finishNode(typeParameter, "TSTypeParameter");
9959
- }
10042
+ const typeParameter = this.startNode();
10043
+ typeParameter.name = this.tsParseTypeParameterName();
10044
+ typeParameter.constraint = this.tsExpectThenParseType(58);
10045
+ node.typeParameter = this.finishNode(typeParameter, "TSTypeParameter");
9960
10046
  node.nameType = this.eatContextual(93) ? this.tsParseType() : null;
9961
10047
  this.expect(3);
9962
10048
  if (this.match(53)) {
@@ -10088,11 +10174,9 @@ var require_lib = __commonJS({
10088
10174
  return this.finishNode(node, "TSLiteralType");
10089
10175
  }
10090
10176
  tsParseTemplateLiteralType() {
10091
- {
10092
- const node = this.startNode();
10093
- node.literal = super.parseTemplate(false);
10094
- return this.finishNode(node, "TSLiteralType");
10095
- }
10177
+ const node = this.startNode();
10178
+ node.literal = super.parseTemplate(false);
10179
+ return this.finishNode(node, "TSLiteralType");
10096
10180
  }
10097
10181
  parseTemplateSubstitution() {
10098
10182
  if (this.state.inType) return this.tsParseType();
@@ -10421,14 +10505,12 @@ var require_lib = __commonJS({
10421
10505
  tsParseHeritageClause(token) {
10422
10506
  const originalStartLoc = this.state.startLoc;
10423
10507
  const delimitedList = this.tsParseDelimitedList("HeritageClauseElement", () => {
10424
- {
10425
- const node = this.startNode();
10426
- node.expression = this.tsParseEntityName(1 | 2);
10427
- if (this.match(47)) {
10428
- node.typeParameters = this.tsParseTypeArguments();
10429
- }
10430
- return this.finishNode(node, "TSExpressionWithTypeArguments");
10508
+ const node = this.startNode();
10509
+ node.expression = this.tsParseEntityName(1 | 2);
10510
+ if (this.match(47)) {
10511
+ node.typeParameters = this.tsParseTypeArguments();
10431
10512
  }
10513
+ return this.finishNode(node, "TSExpressionWithTypeArguments");
10432
10514
  });
10433
10515
  if (!delimitedList.length) {
10434
10516
  this.raise(TSErrors.EmptyHeritageClauseType, originalStartLoc, {
@@ -10544,11 +10626,9 @@ var require_lib = __commonJS({
10544
10626
  this.expectContextual(126);
10545
10627
  node.id = this.parseIdentifier();
10546
10628
  this.checkIdentifier(node.id, node.const ? 8971 : 8459);
10547
- {
10548
- this.expect(5);
10549
- node.members = this.tsParseDelimitedList("EnumMembers", this.tsParseEnumMember.bind(this));
10550
- this.expect(8);
10551
- }
10629
+ this.expect(5);
10630
+ node.members = this.tsParseDelimitedList("EnumMembers", this.tsParseEnumMember.bind(this));
10631
+ this.expect(8);
10552
10632
  return this.finishNode(node, "TSEnumDeclaration");
10553
10633
  }
10554
10634
  tsParseEnumBody() {
@@ -10587,9 +10667,7 @@ var require_lib = __commonJS({
10587
10667
  tsParseAmbientExternalModuleDeclaration(node) {
10588
10668
  if (this.isContextual(112)) {
10589
10669
  node.kind = "global";
10590
- {
10591
- node.global = true;
10592
- }
10670
+ node.global = true;
10593
10671
  node.id = this.parseIdentifier();
10594
10672
  } else if (this.match(134)) {
10595
10673
  node.kind = "module";
@@ -10609,9 +10687,7 @@ var require_lib = __commonJS({
10609
10687
  return this.finishNode(node, "TSModuleDeclaration");
10610
10688
  }
10611
10689
  tsParseImportEqualsDeclaration(node, maybeDefaultIdentifier, isExport) {
10612
- {
10613
- node.isExport = isExport || false;
10614
- }
10690
+ node.isExport = isExport || false;
10615
10691
  node.id = maybeDefaultIdentifier || this.parseIdentifier();
10616
10692
  this.checkIdentifier(node.id, 4096);
10617
10693
  this.expect(29);
@@ -10932,9 +11008,7 @@ var require_lib = __commonJS({
10932
11008
  }
10933
11009
  if (tokenIsTemplate(this.state.type)) {
10934
11010
  const result2 = super.parseTaggedTemplateExpression(base, startLoc, state);
10935
- {
10936
- result2.typeParameters = typeArguments;
10937
- }
11011
+ result2.typeParameters = typeArguments;
10938
11012
  return result2;
10939
11013
  }
10940
11014
  if (!noCalls && this.eat(10)) {
@@ -10942,9 +11016,7 @@ var require_lib = __commonJS({
10942
11016
  node2.callee = base;
10943
11017
  node2.arguments = this.parseCallExpressionArguments();
10944
11018
  this.tsCheckForInvalidTypeCasts(node2.arguments);
10945
- {
10946
- node2.typeParameters = typeArguments;
10947
- }
11019
+ node2.typeParameters = typeArguments;
10948
11020
  if (state.optionalChainMember) {
10949
11021
  node2.optional = isOptionalCall;
10950
11022
  }
@@ -10956,9 +11028,7 @@ var require_lib = __commonJS({
10956
11028
  }
10957
11029
  const node = this.startNodeAt(startLoc);
10958
11030
  node.expression = base;
10959
- {
10960
- node.typeParameters = typeArguments;
10961
- }
11031
+ node.typeParameters = typeArguments;
10962
11032
  return this.finishNode(node, "TSInstantiationExpression");
10963
11033
  });
10964
11034
  if (missingParenErrorLoc) {
@@ -10985,9 +11055,7 @@ var require_lib = __commonJS({
10985
11055
  callee
10986
11056
  } = node;
10987
11057
  if (callee.type === "TSInstantiationExpression" && !((_callee$extra = callee.extra) != null && _callee$extra.parenthesized)) {
10988
- {
10989
- node.typeParameters = callee.typeParameters;
10990
- }
11058
+ node.typeParameters = callee.typeParameters;
10991
11059
  node.callee = callee.expression;
10992
11060
  }
10993
11061
  }
@@ -11078,9 +11146,7 @@ var require_lib = __commonJS({
11078
11146
  nodeImportEquals.importKind = "value";
11079
11147
  }
11080
11148
  const declaration = this.tsParseImportEqualsDeclaration(nodeImportEquals, maybeDefaultIdentifier, true);
11081
- {
11082
- return declaration;
11083
- }
11149
+ return declaration;
11084
11150
  } else if (this.eat(29)) {
11085
11151
  const assign = node;
11086
11152
  assign.expression = super.parseExpression();
@@ -11427,9 +11493,7 @@ var require_lib = __commonJS({
11427
11493
  parseClassSuper(node) {
11428
11494
  super.parseClassSuper(node);
11429
11495
  if (node.superClass && (this.match(47) || this.match(51))) {
11430
- {
11431
- node.superTypeParameters = this.tsParseTypeArgumentsInExpression();
11432
- }
11496
+ node.superTypeParameters = this.tsParseTypeArgumentsInExpression();
11433
11497
  }
11434
11498
  if (this.eatContextual(113)) {
11435
11499
  node.implements = this.tsParseHeritageClause("implements");
@@ -11643,9 +11707,7 @@ var require_lib = __commonJS({
11643
11707
  const typeArguments = this.tsParseTypeArgumentsInExpression();
11644
11708
  if (this.match(10)) {
11645
11709
  const call = super.parseMaybeDecoratorArguments(expr, startLoc);
11646
- {
11647
- call.typeParameters = typeArguments;
11648
- }
11710
+ call.typeParameters = typeArguments;
11649
11711
  return call;
11650
11712
  }
11651
11713
  this.unexpected(null, 10);
@@ -11736,9 +11798,7 @@ var require_lib = __commonJS({
11736
11798
  if (this.match(47) || this.match(51)) {
11737
11799
  const typeArguments = this.tsTryParseAndCatch(() => this.tsParseTypeArgumentsInExpression());
11738
11800
  if (typeArguments) {
11739
- {
11740
- node.typeParameters = typeArguments;
11741
- }
11801
+ node.typeParameters = typeArguments;
11742
11802
  }
11743
11803
  }
11744
11804
  return super.jsxParseOpeningElementAfterName(node);
@@ -12186,7 +12246,8 @@ var require_lib = __commonJS({
12186
12246
  return false;
12187
12247
  }
12188
12248
  verifyBreakContinue(node, isBreak) {
12189
- if (node.label && node.label.type === "Placeholder") return;
12249
+ var _node$label;
12250
+ if (((_node$label = node.label) == null ? void 0 : _node$label.type) === "Placeholder") return;
12190
12251
  super.verifyBreakContinue(node, isBreak);
12191
12252
  }
12192
12253
  parseExpressionStatement(node, expr) {
@@ -12359,6 +12420,7 @@ var require_lib = __commonJS({
12359
12420
  throw new Error(`"pipelineOperator" requires "proposal" option whose value must be one of: ${proposalList}.`);
12360
12421
  }
12361
12422
  if (proposal === "hack") {
12423
+ var _pluginsMap$get;
12362
12424
  if (pluginsMap.has("placeholders")) {
12363
12425
  throw new Error("Cannot combine placeholders plugin and Hack-style pipes.");
12364
12426
  }
@@ -12370,25 +12432,20 @@ var require_lib = __commonJS({
12370
12432
  const tokenList = TOPIC_TOKENS.map((t) => `"${t}"`).join(", ");
12371
12433
  throw new Error(`"pipelineOperator" in "proposal": "hack" mode also requires a "topicToken" option whose value must be one of: ${tokenList}.`);
12372
12434
  }
12373
- {
12374
- var _pluginsMap$get;
12375
- if (topicToken === "#" && ((_pluginsMap$get = pluginsMap.get("recordAndTuple")) == null ? void 0 : _pluginsMap$get.syntaxType) === "hash") {
12376
- throw new Error(`Plugin conflict between \`["pipelineOperator", { proposal: "hack", topicToken: "#" }]\` and \`${JSON.stringify(["recordAndTuple", pluginsMap.get("recordAndTuple")])}\`.`);
12377
- }
12435
+ if (topicToken === "#" && ((_pluginsMap$get = pluginsMap.get("recordAndTuple")) == null ? void 0 : _pluginsMap$get.syntaxType) === "hash") {
12436
+ throw new Error(`Plugin conflict between \`["pipelineOperator", { proposal: "hack", topicToken: "#" }]\` and \`${JSON.stringify(["recordAndTuple", pluginsMap.get("recordAndTuple")])}\`.`);
12378
12437
  }
12379
12438
  } else if (proposal === "smart" && ((_pluginsMap$get2 = pluginsMap.get("recordAndTuple")) == null ? void 0 : _pluginsMap$get2.syntaxType) === "hash") {
12380
12439
  throw new Error(`Plugin conflict between \`["pipelineOperator", { proposal: "smart" }]\` and \`${JSON.stringify(["recordAndTuple", pluginsMap.get("recordAndTuple")])}\`.`);
12381
12440
  }
12382
12441
  }
12383
12442
  if (pluginsMap.has("moduleAttributes")) {
12384
- {
12385
- if (pluginsMap.has("deprecatedImportAssert") || pluginsMap.has("importAssertions")) {
12386
- throw new Error("Cannot combine importAssertions, deprecatedImportAssert and moduleAttributes plugins.");
12387
- }
12388
- const moduleAttributesVersionPluginOption = pluginsMap.get("moduleAttributes").version;
12389
- if (moduleAttributesVersionPluginOption !== "may-2020") {
12390
- throw new Error("The 'moduleAttributes' plugin requires a 'version' option, representing the last proposal update. Currently, the only supported value is 'may-2020'.");
12391
- }
12443
+ if (pluginsMap.has("deprecatedImportAssert") || pluginsMap.has("importAssertions")) {
12444
+ throw new Error("Cannot combine importAssertions, deprecatedImportAssert and moduleAttributes plugins.");
12445
+ }
12446
+ const moduleAttributesVersionPluginOption = pluginsMap.get("moduleAttributes").version;
12447
+ if (moduleAttributesVersionPluginOption !== "may-2020") {
12448
+ throw new Error("The 'moduleAttributes' plugin requires a 'version' option, representing the last proposal update. Currently, the only supported value is 'may-2020'.");
12392
12449
  }
12393
12450
  }
12394
12451
  if (pluginsMap.has("importAssertions")) {
@@ -12396,19 +12453,16 @@ var require_lib = __commonJS({
12396
12453
  throw new Error("Cannot combine importAssertions and deprecatedImportAssert plugins.");
12397
12454
  }
12398
12455
  }
12399
- if (!pluginsMap.has("deprecatedImportAssert") && pluginsMap.has("importAttributes") && pluginsMap.get("importAttributes").deprecatedAssertSyntax) {
12400
- {
12401
- pluginsMap.set("deprecatedImportAssert", {});
12402
- }
12456
+ if (pluginsMap.has("deprecatedImportAssert")) ;
12457
+ else if (pluginsMap.has("importAttributes") && pluginsMap.get("importAttributes").deprecatedAssertSyntax) {
12458
+ pluginsMap.set("deprecatedImportAssert", {});
12403
12459
  }
12404
12460
  if (pluginsMap.has("recordAndTuple")) {
12405
- {
12406
- const syntaxType = pluginsMap.get("recordAndTuple").syntaxType;
12407
- if (syntaxType != null) {
12408
- const RECORD_AND_TUPLE_SYNTAX_TYPES = ["hash", "bar"];
12409
- if (!RECORD_AND_TUPLE_SYNTAX_TYPES.includes(syntaxType)) {
12410
- throw new Error("The 'syntaxType' option of the 'recordAndTuple' plugin must be one of: " + RECORD_AND_TUPLE_SYNTAX_TYPES.map((p) => `'${p}'`).join(", "));
12411
- }
12461
+ const syntaxType = pluginsMap.get("recordAndTuple").syntaxType;
12462
+ if (syntaxType != null) {
12463
+ const RECORD_AND_TUPLE_SYNTAX_TYPES = ["hash", "bar"];
12464
+ if (!RECORD_AND_TUPLE_SYNTAX_TYPES.includes(syntaxType)) {
12465
+ throw new Error("The 'syntaxType' option of the 'recordAndTuple' plugin must be one of: " + RECORD_AND_TUPLE_SYNTAX_TYPES.map((p) => `'${p}'`).join(", "));
12412
12466
  }
12413
12467
  }
12414
12468
  }
@@ -13096,14 +13150,12 @@ var require_lib = __commonJS({
13096
13150
  throw this.unexpected();
13097
13151
  }
13098
13152
  default:
13099
- {
13100
- if (type === 137) {
13101
- return this.parseDecimalLiteral(this.state.value);
13102
- } else if (type === 2 || type === 1) {
13103
- return this.parseArrayLike(this.state.type === 2 ? 4 : 3, true);
13104
- } else if (type === 6 || type === 7) {
13105
- return this.parseObjectLike(this.state.type === 6 ? 9 : 8, false, true);
13106
- }
13153
+ if (type === 137) {
13154
+ return this.parseDecimalLiteral(this.state.value);
13155
+ } else if (type === 2 || type === 1) {
13156
+ return this.parseArrayLike(this.state.type === 2 ? 4 : 3, true);
13157
+ } else if (type === 6 || type === 7) {
13158
+ return this.parseObjectLike(this.state.type === 6 ? 9 : 8, false, true);
13107
13159
  }
13108
13160
  if (tokenIsIdentifier(type)) {
13109
13161
  if (this.isContextual(127) && this.lookaheadInLineCharCode() === 123) {
@@ -13227,16 +13279,12 @@ var require_lib = __commonJS({
13227
13279
  const node = this.startNode();
13228
13280
  this.next();
13229
13281
  if (this.match(10) && !this.scope.allowDirectSuper) {
13230
- {
13231
- if (!(this.optionFlags & 16)) {
13232
- this.raise(Errors.SuperNotAllowed, node);
13233
- }
13282
+ if (!(this.optionFlags & 16)) {
13283
+ this.raise(Errors.SuperNotAllowed, node);
13234
13284
  }
13235
13285
  } else if (!this.scope.allowSuper) {
13236
- {
13237
- if (!(this.optionFlags & 16)) {
13238
- this.raise(Errors.UnexpectedSuper, node);
13239
- }
13286
+ if (!(this.optionFlags & 16)) {
13287
+ this.raise(Errors.UnexpectedSuper, node);
13240
13288
  }
13241
13289
  }
13242
13290
  if (!this.match(10) && !this.match(0) && !this.match(16)) {
@@ -13316,9 +13364,7 @@ var require_lib = __commonJS({
13316
13364
  return this.parseLiteral(value, "NumericLiteral");
13317
13365
  }
13318
13366
  parseBigIntLiteral(value) {
13319
- {
13320
- return this.parseLiteral(value, "BigIntLiteral");
13321
- }
13367
+ return this.parseLiteral(value, "BigIntLiteral");
13322
13368
  }
13323
13369
  parseDecimalLiteral(value) {
13324
13370
  return this.parseLiteral(value, "DecimalLiteral");
@@ -13538,10 +13584,8 @@ var require_lib = __commonJS({
13538
13584
  if (isRecord && !this.isObjectProperty(prop) && prop.type !== "SpreadElement") {
13539
13585
  this.raise(Errors.InvalidRecordProperty, prop);
13540
13586
  }
13541
- {
13542
- if (prop.shorthand) {
13543
- this.addExtra(prop, "shorthand", true);
13544
- }
13587
+ if (prop.shorthand) {
13588
+ this.addExtra(prop, "shorthand", true);
13545
13589
  }
13546
13590
  node.properties.push(prop);
13547
13591
  }
@@ -14214,100 +14258,98 @@ var require_lib = __commonJS({
14214
14258
  type
14215
14259
  } = token;
14216
14260
  if (typeof type === "number") {
14217
- {
14218
- if (type === 139) {
14219
- const {
14220
- loc,
14261
+ if (type === 139) {
14262
+ const {
14263
+ loc,
14264
+ start,
14265
+ value,
14266
+ end
14267
+ } = token;
14268
+ const hashEndPos = start + 1;
14269
+ const hashEndLoc = createPositionWithColumnOffset(loc.start, 1);
14270
+ tokens.splice(i, 1, new Token({
14271
+ type: getExportedToken(27),
14272
+ value: "#",
14273
+ start,
14274
+ end: hashEndPos,
14275
+ startLoc: loc.start,
14276
+ endLoc: hashEndLoc
14277
+ }), new Token({
14278
+ type: getExportedToken(132),
14279
+ value,
14280
+ start: hashEndPos,
14281
+ end,
14282
+ startLoc: hashEndLoc,
14283
+ endLoc: loc.end
14284
+ }));
14285
+ i++;
14286
+ continue;
14287
+ }
14288
+ if (tokenIsTemplate(type)) {
14289
+ const {
14290
+ loc,
14291
+ start,
14292
+ value,
14293
+ end
14294
+ } = token;
14295
+ const backquoteEnd = start + 1;
14296
+ const backquoteEndLoc = createPositionWithColumnOffset(loc.start, 1);
14297
+ let startToken;
14298
+ if (input.charCodeAt(start - startIndex) === 96) {
14299
+ startToken = new Token({
14300
+ type: getExportedToken(22),
14301
+ value: "`",
14221
14302
  start,
14222
- value,
14223
- end
14224
- } = token;
14225
- const hashEndPos = start + 1;
14226
- const hashEndLoc = createPositionWithColumnOffset(loc.start, 1);
14227
- tokens.splice(i, 1, new Token({
14228
- type: getExportedToken(27),
14229
- value: "#",
14303
+ end: backquoteEnd,
14304
+ startLoc: loc.start,
14305
+ endLoc: backquoteEndLoc
14306
+ });
14307
+ } else {
14308
+ startToken = new Token({
14309
+ type: getExportedToken(8),
14310
+ value: "}",
14230
14311
  start,
14231
- end: hashEndPos,
14312
+ end: backquoteEnd,
14232
14313
  startLoc: loc.start,
14233
- endLoc: hashEndLoc
14234
- }), new Token({
14235
- type: getExportedToken(132),
14236
- value,
14237
- start: hashEndPos,
14314
+ endLoc: backquoteEndLoc
14315
+ });
14316
+ }
14317
+ let templateValue, templateElementEnd, templateElementEndLoc, endToken;
14318
+ if (type === 24) {
14319
+ templateElementEnd = end - 1;
14320
+ templateElementEndLoc = createPositionWithColumnOffset(loc.end, -1);
14321
+ templateValue = value === null ? null : value.slice(1, -1);
14322
+ endToken = new Token({
14323
+ type: getExportedToken(22),
14324
+ value: "`",
14325
+ start: templateElementEnd,
14238
14326
  end,
14239
- startLoc: hashEndLoc,
14327
+ startLoc: templateElementEndLoc,
14240
14328
  endLoc: loc.end
14241
- }));
14242
- i++;
14243
- continue;
14244
- }
14245
- if (tokenIsTemplate(type)) {
14246
- const {
14247
- loc,
14248
- start,
14249
- value,
14250
- end
14251
- } = token;
14252
- const backquoteEnd = start + 1;
14253
- const backquoteEndLoc = createPositionWithColumnOffset(loc.start, 1);
14254
- let startToken;
14255
- if (input.charCodeAt(start - startIndex) === 96) {
14256
- startToken = new Token({
14257
- type: getExportedToken(22),
14258
- value: "`",
14259
- start,
14260
- end: backquoteEnd,
14261
- startLoc: loc.start,
14262
- endLoc: backquoteEndLoc
14263
- });
14264
- } else {
14265
- startToken = new Token({
14266
- type: getExportedToken(8),
14267
- value: "}",
14268
- start,
14269
- end: backquoteEnd,
14270
- startLoc: loc.start,
14271
- endLoc: backquoteEndLoc
14272
- });
14273
- }
14274
- let templateValue, templateElementEnd, templateElementEndLoc, endToken;
14275
- if (type === 24) {
14276
- templateElementEnd = end - 1;
14277
- templateElementEndLoc = createPositionWithColumnOffset(loc.end, -1);
14278
- templateValue = value === null ? null : value.slice(1, -1);
14279
- endToken = new Token({
14280
- type: getExportedToken(22),
14281
- value: "`",
14282
- start: templateElementEnd,
14283
- end,
14284
- startLoc: templateElementEndLoc,
14285
- endLoc: loc.end
14286
- });
14287
- } else {
14288
- templateElementEnd = end - 2;
14289
- templateElementEndLoc = createPositionWithColumnOffset(loc.end, -2);
14290
- templateValue = value === null ? null : value.slice(1, -2);
14291
- endToken = new Token({
14292
- type: getExportedToken(23),
14293
- value: "${",
14294
- start: templateElementEnd,
14295
- end,
14296
- startLoc: templateElementEndLoc,
14297
- endLoc: loc.end
14298
- });
14299
- }
14300
- tokens.splice(i, 1, startToken, new Token({
14301
- type: getExportedToken(20),
14302
- value: templateValue,
14303
- start: backquoteEnd,
14304
- end: templateElementEnd,
14305
- startLoc: backquoteEndLoc,
14306
- endLoc: templateElementEndLoc
14307
- }), endToken);
14308
- i += 2;
14309
- continue;
14329
+ });
14330
+ } else {
14331
+ templateElementEnd = end - 2;
14332
+ templateElementEndLoc = createPositionWithColumnOffset(loc.end, -2);
14333
+ templateValue = value === null ? null : value.slice(1, -2);
14334
+ endToken = new Token({
14335
+ type: getExportedToken(23),
14336
+ value: "${",
14337
+ start: templateElementEnd,
14338
+ end,
14339
+ startLoc: templateElementEndLoc,
14340
+ endLoc: loc.end
14341
+ });
14310
14342
  }
14343
+ tokens.splice(i, 1, startToken, new Token({
14344
+ type: getExportedToken(20),
14345
+ value: templateValue,
14346
+ start: backquoteEnd,
14347
+ end: templateElementEnd,
14348
+ startLoc: backquoteEndLoc,
14349
+ endLoc: templateElementEndLoc
14350
+ }), endToken);
14351
+ i += 2;
14352
+ continue;
14311
14353
  }
14312
14354
  token.type = getExportedToken(type);
14313
14355
  }
@@ -16027,9 +16069,7 @@ var require_lib = __commonJS({
16027
16069
  }
16028
16070
  maybeParseImportAttributes(node) {
16029
16071
  let attributes;
16030
- {
16031
- var useWith = false;
16032
- }
16072
+ var useWith = false;
16033
16073
  if (this.match(76)) {
16034
16074
  if (this.hasPrecedingLineBreak() && this.lookaheadCharCode() === 40) {
16035
16075
  return;
@@ -16041,9 +16081,7 @@ var require_lib = __commonJS({
16041
16081
  } else {
16042
16082
  attributes = this.parseImportAttributes();
16043
16083
  }
16044
- {
16045
- useWith = true;
16046
- }
16084
+ useWith = true;
16047
16085
  } else if (this.isContextual(94) && !this.hasPrecedingLineBreak()) {
16048
16086
  if (!this.hasPlugin("deprecatedImportAssert") && !this.hasPlugin("importAssertions")) {
16049
16087
  this.raise(Errors.ImportAttributesUseAssert, this.state.startLoc);
@@ -18434,13 +18472,13 @@ var require_source_map = __commonJS({
18434
18472
  }
18435
18473
  });
18436
18474
 
18437
- // ../../node_modules/.bun/@vue+compiler-core@3.5.25/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js
18475
+ // ../../node_modules/.bun/@vue+compiler-core@3.5.27/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js
18438
18476
  var require_compiler_core_cjs_prod = __commonJS({
18439
- "../../node_modules/.bun/@vue+compiler-core@3.5.25/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js"(exports) {
18477
+ "../../node_modules/.bun/@vue+compiler-core@3.5.27/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js"(exports) {
18440
18478
  "use strict";
18441
18479
  Object.defineProperty(exports, "__esModule", { value: true });
18442
18480
  var shared = require_shared();
18443
- var decode_js = require_decode();
18481
+ var decode = require_decode();
18444
18482
  var parser = require_lib();
18445
18483
  var estreeWalker = require_estree_walker();
18446
18484
  var sourceMapJs = require_source_map();
@@ -18905,8 +18943,8 @@ var require_compiler_core_cjs_prod = __commonJS({
18905
18943
  this.currentSequence = void 0;
18906
18944
  this.sequenceIndex = 0;
18907
18945
  {
18908
- this.entityDecoder = new decode_js.EntityDecoder(
18909
- decode_js.htmlDecodeTree,
18946
+ this.entityDecoder = new decode.EntityDecoder(
18947
+ decode.htmlDecodeTree,
18910
18948
  (cp, consumed) => this.emitCodePoint(cp, consumed)
18911
18949
  );
18912
18950
  }
@@ -18936,14 +18974,28 @@ var require_compiler_core_cjs_prod = __commonJS({
18936
18974
  getPos(index) {
18937
18975
  let line = 1;
18938
18976
  let column = index + 1;
18939
- for (let i = this.newlines.length - 1; i >= 0; i--) {
18940
- const newlineIndex = this.newlines[i];
18941
- if (index > newlineIndex) {
18942
- line = i + 2;
18943
- column = index - newlineIndex;
18944
- break;
18977
+ const length = this.newlines.length;
18978
+ let j = -1;
18979
+ if (length > 100) {
18980
+ let l = -1;
18981
+ let r = length;
18982
+ while (l + 1 < r) {
18983
+ const m = l + r >>> 1;
18984
+ this.newlines[m] < index ? l = m : r = m;
18985
+ }
18986
+ j = l;
18987
+ } else {
18988
+ for (let i = length - 1; i >= 0; i--) {
18989
+ if (index > this.newlines[i]) {
18990
+ j = i;
18991
+ break;
18992
+ }
18945
18993
  }
18946
18994
  }
18995
+ if (j >= 0) {
18996
+ line = j + 2;
18997
+ column = index - this.newlines[j];
18998
+ }
18947
18999
  return {
18948
19000
  column,
18949
19001
  line,
@@ -19457,7 +19509,7 @@ var require_compiler_core_cjs_prod = __commonJS({
19457
19509
  this.state = 33;
19458
19510
  this.entityStart = this.index;
19459
19511
  this.entityDecoder.startEntity(
19460
- this.baseState === 1 || this.baseState === 32 ? decode_js.DecodingMode.Legacy : decode_js.DecodingMode.Attribute
19512
+ this.baseState === 1 || this.baseState === 32 ? decode.DecodingMode.Legacy : decode.DecodingMode.Attribute
19461
19513
  );
19462
19514
  }
19463
19515
  }
@@ -19677,7 +19729,7 @@ var require_compiler_core_cjs_prod = __commonJS({
19677
19729
  this.sectionStart = this.entityStart + consumed;
19678
19730
  this.index = this.sectionStart - 1;
19679
19731
  this.cbs.onattribentity(
19680
- decode_js.fromCodePoint(cp),
19732
+ decode.fromCodePoint(cp),
19681
19733
  this.entityStart,
19682
19734
  this.sectionStart
19683
19735
  );
@@ -19688,7 +19740,7 @@ var require_compiler_core_cjs_prod = __commonJS({
19688
19740
  this.sectionStart = this.entityStart + consumed;
19689
19741
  this.index = this.sectionStart - 1;
19690
19742
  this.cbs.ontextentity(
19691
- decode_js.fromCodePoint(cp),
19743
+ decode.fromCodePoint(cp),
19692
19744
  this.entityStart,
19693
19745
  this.sectionStart
19694
19746
  );
@@ -19872,24 +19924,26 @@ var require_compiler_core_cjs_prod = __commonJS({
19872
19924
  "43": "X_V_MODEL_ON_SCOPE_VARIABLE",
19873
19925
  "X_V_MODEL_ON_PROPS": 44,
19874
19926
  "44": "X_V_MODEL_ON_PROPS",
19875
- "X_INVALID_EXPRESSION": 45,
19876
- "45": "X_INVALID_EXPRESSION",
19877
- "X_KEEP_ALIVE_INVALID_CHILDREN": 46,
19878
- "46": "X_KEEP_ALIVE_INVALID_CHILDREN",
19879
- "X_PREFIX_ID_NOT_SUPPORTED": 47,
19880
- "47": "X_PREFIX_ID_NOT_SUPPORTED",
19881
- "X_MODULE_MODE_NOT_SUPPORTED": 48,
19882
- "48": "X_MODULE_MODE_NOT_SUPPORTED",
19883
- "X_CACHE_HANDLER_NOT_SUPPORTED": 49,
19884
- "49": "X_CACHE_HANDLER_NOT_SUPPORTED",
19885
- "X_SCOPE_ID_NOT_SUPPORTED": 50,
19886
- "50": "X_SCOPE_ID_NOT_SUPPORTED",
19887
- "X_VNODE_HOOKS": 51,
19888
- "51": "X_VNODE_HOOKS",
19889
- "X_V_BIND_INVALID_SAME_NAME_ARGUMENT": 52,
19890
- "52": "X_V_BIND_INVALID_SAME_NAME_ARGUMENT",
19891
- "__EXTEND_POINT__": 53,
19892
- "53": "__EXTEND_POINT__"
19927
+ "X_V_MODEL_ON_CONST": 45,
19928
+ "45": "X_V_MODEL_ON_CONST",
19929
+ "X_INVALID_EXPRESSION": 46,
19930
+ "46": "X_INVALID_EXPRESSION",
19931
+ "X_KEEP_ALIVE_INVALID_CHILDREN": 47,
19932
+ "47": "X_KEEP_ALIVE_INVALID_CHILDREN",
19933
+ "X_PREFIX_ID_NOT_SUPPORTED": 48,
19934
+ "48": "X_PREFIX_ID_NOT_SUPPORTED",
19935
+ "X_MODULE_MODE_NOT_SUPPORTED": 49,
19936
+ "49": "X_MODULE_MODE_NOT_SUPPORTED",
19937
+ "X_CACHE_HANDLER_NOT_SUPPORTED": 50,
19938
+ "50": "X_CACHE_HANDLER_NOT_SUPPORTED",
19939
+ "X_SCOPE_ID_NOT_SUPPORTED": 51,
19940
+ "51": "X_SCOPE_ID_NOT_SUPPORTED",
19941
+ "X_VNODE_HOOKS": 52,
19942
+ "52": "X_VNODE_HOOKS",
19943
+ "X_V_BIND_INVALID_SAME_NAME_ARGUMENT": 53,
19944
+ "53": "X_V_BIND_INVALID_SAME_NAME_ARGUMENT",
19945
+ "__EXTEND_POINT__": 54,
19946
+ "54": "__EXTEND_POINT__"
19893
19947
  };
19894
19948
  var errorMessages = {
19895
19949
  // parse errors
@@ -19930,7 +19984,7 @@ var require_compiler_core_cjs_prod = __commonJS({
19930
19984
  [32]: `v-for has invalid expression.`,
19931
19985
  [33]: `<template v-for> key should be placed on the <template> tag.`,
19932
19986
  [34]: `v-bind is missing expression.`,
19933
- [52]: `v-bind with same-name shorthand only allows static argument.`,
19987
+ [53]: `v-bind with same-name shorthand only allows static argument.`,
19934
19988
  [35]: `v-on is missing expression.`,
19935
19989
  [36]: `Unexpected custom directive on <slot> outlet.`,
19936
19990
  [37]: `Mixed v-slot usage on both the component and nested <template>. When there are multiple named slots, all slots should use <template> syntax to avoid scope ambiguity.`,
@@ -19942,16 +19996,17 @@ var require_compiler_core_cjs_prod = __commonJS({
19942
19996
  [43]: `v-model cannot be used on v-for or v-slot scope variables because they are not writable.`,
19943
19997
  [44]: `v-model cannot be used on a prop, because local prop bindings are not writable.
19944
19998
  Use a v-bind binding combined with a v-on listener that emits update:x event instead.`,
19945
- [45]: `Error parsing JavaScript expression: `,
19946
- [46]: `<KeepAlive> expects exactly one child component.`,
19947
- [51]: `@vnode-* hooks in templates are no longer supported. Use the vue: prefix instead. For example, @vnode-mounted should be changed to @vue:mounted. @vnode-* hooks support has been removed in 3.4.`,
19999
+ [45]: `v-model cannot be used on a const binding because it is not writable.`,
20000
+ [46]: `Error parsing JavaScript expression: `,
20001
+ [47]: `<KeepAlive> expects exactly one child component.`,
20002
+ [52]: `@vnode-* hooks in templates are no longer supported. Use the vue: prefix instead. For example, @vnode-mounted should be changed to @vue:mounted. @vnode-* hooks support has been removed in 3.4.`,
19948
20003
  // generic errors
19949
- [47]: `"prefixIdentifiers" option is not supported in this build of compiler.`,
19950
- [48]: `ES module mode is not supported in this build of compiler.`,
19951
- [49]: `"cacheHandlers" option is only supported when the "prefixIdentifiers" option is enabled.`,
19952
- [50]: `"scopeId" option is only supported in module mode.`,
20004
+ [48]: `"prefixIdentifiers" option is not supported in this build of compiler.`,
20005
+ [49]: `ES module mode is not supported in this build of compiler.`,
20006
+ [50]: `"cacheHandlers" option is only supported when the "prefixIdentifiers" option is enabled.`,
20007
+ [51]: `"scopeId" option is only supported in module mode.`,
19953
20008
  // just to fulfill types
19954
- [53]: ``
20009
+ [54]: ``
19955
20010
  };
19956
20011
  function walkIdentifiers(root, onIdentifier, includeAll = false, parentStack = [], knownIds = /* @__PURE__ */ Object.create(null)) {
19957
20012
  const rootExp = root.type === "Program" ? root.body[0].type === "ExpressionStatement" && root.body[0].expression : root;
@@ -20738,7 +20793,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
20738
20793
  let exp = getSlice(innerStart, innerEnd);
20739
20794
  if (exp.includes("&")) {
20740
20795
  {
20741
- exp = decode_js.decodeHTML(exp);
20796
+ exp = decode.decodeHTML(exp);
20742
20797
  }
20743
20798
  }
20744
20799
  addNode({
@@ -21372,7 +21427,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
21372
21427
  }
21373
21428
  } catch (e) {
21374
21429
  exp.ast = false;
21375
- emitError(45, loc.start.offset, e.message);
21430
+ emitError(46, loc.start.offset, e.message);
21376
21431
  }
21377
21432
  }
21378
21433
  return exp;
@@ -22938,7 +22993,7 @@ const ${helpers.map((s) => `_${helperNameMap[s]} = ${helperNameMap[s]}`).join(",
22938
22993
  } catch (e) {
22939
22994
  context.onError(
22940
22995
  createCompilerError(
22941
- 45,
22996
+ 46,
22942
22997
  node.loc,
22943
22998
  void 0,
22944
22999
  e.message
@@ -24693,6 +24748,10 @@ const ${helpers.map((s) => `_${helperNameMap[s]} = ${helperNameMap[s]}`).join(",
24693
24748
  context.onError(createCompilerError(44, exp.loc));
24694
24749
  return createTransformProps();
24695
24750
  }
24751
+ if (bindingType === "literal-const" || bindingType === "setup-const") {
24752
+ context.onError(createCompilerError(45, exp.loc));
24753
+ return createTransformProps();
24754
+ }
24696
24755
  const maybeRef = context.inline && (bindingType === "setup-let" || bindingType === "setup-ref" || bindingType === "setup-maybe-ref");
24697
24756
  if (!expString.trim() || !isMemberExpression(exp, context) && !maybeRef) {
24698
24757
  context.onError(
@@ -24938,7 +24997,7 @@ const ${helpers.map((s) => `_${helperNameMap[s]} = ${helperNameMap[s]}`).join(",
24938
24997
  if (arg.type !== 4 || !arg.isStatic) {
24939
24998
  context.onError(
24940
24999
  createCompilerError(
24941
- 52,
25000
+ 53,
24942
25001
  arg.loc
24943
25002
  )
24944
25003
  );
@@ -24985,10 +25044,10 @@ const ${helpers.map((s) => `_${helperNameMap[s]} = ${helperNameMap[s]}`).join(",
24985
25044
  const isModuleMode = options.mode === "module";
24986
25045
  const prefixIdentifiers = options.prefixIdentifiers === true || isModuleMode;
24987
25046
  if (!prefixIdentifiers && options.cacheHandlers) {
24988
- onError(createCompilerError(49));
25047
+ onError(createCompilerError(50));
24989
25048
  }
24990
25049
  if (options.scopeId && !isModuleMode) {
24991
- onError(createCompilerError(50));
25050
+ onError(createCompilerError(51));
24992
25051
  }
24993
25052
  const resolvedOptions = shared.extend({}, options, {
24994
25053
  prefixIdentifiers
@@ -25180,13 +25239,13 @@ const ${helpers.map((s) => `_${helperNameMap[s]} = ${helperNameMap[s]}`).join(",
25180
25239
  }
25181
25240
  });
25182
25241
 
25183
- // ../../node_modules/.bun/@vue+compiler-core@3.5.25/node_modules/@vue/compiler-core/dist/compiler-core.cjs.js
25242
+ // ../../node_modules/.bun/@vue+compiler-core@3.5.27/node_modules/@vue/compiler-core/dist/compiler-core.cjs.js
25184
25243
  var require_compiler_core_cjs = __commonJS({
25185
- "../../node_modules/.bun/@vue+compiler-core@3.5.25/node_modules/@vue/compiler-core/dist/compiler-core.cjs.js"(exports) {
25244
+ "../../node_modules/.bun/@vue+compiler-core@3.5.27/node_modules/@vue/compiler-core/dist/compiler-core.cjs.js"(exports) {
25186
25245
  "use strict";
25187
25246
  Object.defineProperty(exports, "__esModule", { value: true });
25188
25247
  var shared = require_shared();
25189
- var decode_js = require_decode();
25248
+ var decode = require_decode();
25190
25249
  var parser = require_lib();
25191
25250
  var estreeWalker = require_estree_walker();
25192
25251
  var sourceMapJs = require_source_map();
@@ -25651,8 +25710,8 @@ var require_compiler_core_cjs = __commonJS({
25651
25710
  this.currentSequence = void 0;
25652
25711
  this.sequenceIndex = 0;
25653
25712
  {
25654
- this.entityDecoder = new decode_js.EntityDecoder(
25655
- decode_js.htmlDecodeTree,
25713
+ this.entityDecoder = new decode.EntityDecoder(
25714
+ decode.htmlDecodeTree,
25656
25715
  (cp, consumed) => this.emitCodePoint(cp, consumed)
25657
25716
  );
25658
25717
  }
@@ -25682,14 +25741,28 @@ var require_compiler_core_cjs = __commonJS({
25682
25741
  getPos(index) {
25683
25742
  let line = 1;
25684
25743
  let column = index + 1;
25685
- for (let i = this.newlines.length - 1; i >= 0; i--) {
25686
- const newlineIndex = this.newlines[i];
25687
- if (index > newlineIndex) {
25688
- line = i + 2;
25689
- column = index - newlineIndex;
25690
- break;
25744
+ const length = this.newlines.length;
25745
+ let j = -1;
25746
+ if (length > 100) {
25747
+ let l = -1;
25748
+ let r = length;
25749
+ while (l + 1 < r) {
25750
+ const m = l + r >>> 1;
25751
+ this.newlines[m] < index ? l = m : r = m;
25752
+ }
25753
+ j = l;
25754
+ } else {
25755
+ for (let i = length - 1; i >= 0; i--) {
25756
+ if (index > this.newlines[i]) {
25757
+ j = i;
25758
+ break;
25759
+ }
25691
25760
  }
25692
25761
  }
25762
+ if (j >= 0) {
25763
+ line = j + 2;
25764
+ column = index - this.newlines[j];
25765
+ }
25693
25766
  return {
25694
25767
  column,
25695
25768
  line,
@@ -26203,7 +26276,7 @@ var require_compiler_core_cjs = __commonJS({
26203
26276
  this.state = 33;
26204
26277
  this.entityStart = this.index;
26205
26278
  this.entityDecoder.startEntity(
26206
- this.baseState === 1 || this.baseState === 32 ? decode_js.DecodingMode.Legacy : decode_js.DecodingMode.Attribute
26279
+ this.baseState === 1 || this.baseState === 32 ? decode.DecodingMode.Legacy : decode.DecodingMode.Attribute
26207
26280
  );
26208
26281
  }
26209
26282
  }
@@ -26423,7 +26496,7 @@ var require_compiler_core_cjs = __commonJS({
26423
26496
  this.sectionStart = this.entityStart + consumed;
26424
26497
  this.index = this.sectionStart - 1;
26425
26498
  this.cbs.onattribentity(
26426
- decode_js.fromCodePoint(cp),
26499
+ decode.fromCodePoint(cp),
26427
26500
  this.entityStart,
26428
26501
  this.sectionStart
26429
26502
  );
@@ -26434,7 +26507,7 @@ var require_compiler_core_cjs = __commonJS({
26434
26507
  this.sectionStart = this.entityStart + consumed;
26435
26508
  this.index = this.sectionStart - 1;
26436
26509
  this.cbs.ontextentity(
26437
- decode_js.fromCodePoint(cp),
26510
+ decode.fromCodePoint(cp),
26438
26511
  this.entityStart,
26439
26512
  this.sectionStart
26440
26513
  );
@@ -26622,24 +26695,26 @@ var require_compiler_core_cjs = __commonJS({
26622
26695
  "43": "X_V_MODEL_ON_SCOPE_VARIABLE",
26623
26696
  "X_V_MODEL_ON_PROPS": 44,
26624
26697
  "44": "X_V_MODEL_ON_PROPS",
26625
- "X_INVALID_EXPRESSION": 45,
26626
- "45": "X_INVALID_EXPRESSION",
26627
- "X_KEEP_ALIVE_INVALID_CHILDREN": 46,
26628
- "46": "X_KEEP_ALIVE_INVALID_CHILDREN",
26629
- "X_PREFIX_ID_NOT_SUPPORTED": 47,
26630
- "47": "X_PREFIX_ID_NOT_SUPPORTED",
26631
- "X_MODULE_MODE_NOT_SUPPORTED": 48,
26632
- "48": "X_MODULE_MODE_NOT_SUPPORTED",
26633
- "X_CACHE_HANDLER_NOT_SUPPORTED": 49,
26634
- "49": "X_CACHE_HANDLER_NOT_SUPPORTED",
26635
- "X_SCOPE_ID_NOT_SUPPORTED": 50,
26636
- "50": "X_SCOPE_ID_NOT_SUPPORTED",
26637
- "X_VNODE_HOOKS": 51,
26638
- "51": "X_VNODE_HOOKS",
26639
- "X_V_BIND_INVALID_SAME_NAME_ARGUMENT": 52,
26640
- "52": "X_V_BIND_INVALID_SAME_NAME_ARGUMENT",
26641
- "__EXTEND_POINT__": 53,
26642
- "53": "__EXTEND_POINT__"
26698
+ "X_V_MODEL_ON_CONST": 45,
26699
+ "45": "X_V_MODEL_ON_CONST",
26700
+ "X_INVALID_EXPRESSION": 46,
26701
+ "46": "X_INVALID_EXPRESSION",
26702
+ "X_KEEP_ALIVE_INVALID_CHILDREN": 47,
26703
+ "47": "X_KEEP_ALIVE_INVALID_CHILDREN",
26704
+ "X_PREFIX_ID_NOT_SUPPORTED": 48,
26705
+ "48": "X_PREFIX_ID_NOT_SUPPORTED",
26706
+ "X_MODULE_MODE_NOT_SUPPORTED": 49,
26707
+ "49": "X_MODULE_MODE_NOT_SUPPORTED",
26708
+ "X_CACHE_HANDLER_NOT_SUPPORTED": 50,
26709
+ "50": "X_CACHE_HANDLER_NOT_SUPPORTED",
26710
+ "X_SCOPE_ID_NOT_SUPPORTED": 51,
26711
+ "51": "X_SCOPE_ID_NOT_SUPPORTED",
26712
+ "X_VNODE_HOOKS": 52,
26713
+ "52": "X_VNODE_HOOKS",
26714
+ "X_V_BIND_INVALID_SAME_NAME_ARGUMENT": 53,
26715
+ "53": "X_V_BIND_INVALID_SAME_NAME_ARGUMENT",
26716
+ "__EXTEND_POINT__": 54,
26717
+ "54": "__EXTEND_POINT__"
26643
26718
  };
26644
26719
  var errorMessages = {
26645
26720
  // parse errors
@@ -26680,7 +26755,7 @@ var require_compiler_core_cjs = __commonJS({
26680
26755
  [32]: `v-for has invalid expression.`,
26681
26756
  [33]: `<template v-for> key should be placed on the <template> tag.`,
26682
26757
  [34]: `v-bind is missing expression.`,
26683
- [52]: `v-bind with same-name shorthand only allows static argument.`,
26758
+ [53]: `v-bind with same-name shorthand only allows static argument.`,
26684
26759
  [35]: `v-on is missing expression.`,
26685
26760
  [36]: `Unexpected custom directive on <slot> outlet.`,
26686
26761
  [37]: `Mixed v-slot usage on both the component and nested <template>. When there are multiple named slots, all slots should use <template> syntax to avoid scope ambiguity.`,
@@ -26692,16 +26767,17 @@ var require_compiler_core_cjs = __commonJS({
26692
26767
  [43]: `v-model cannot be used on v-for or v-slot scope variables because they are not writable.`,
26693
26768
  [44]: `v-model cannot be used on a prop, because local prop bindings are not writable.
26694
26769
  Use a v-bind binding combined with a v-on listener that emits update:x event instead.`,
26695
- [45]: `Error parsing JavaScript expression: `,
26696
- [46]: `<KeepAlive> expects exactly one child component.`,
26697
- [51]: `@vnode-* hooks in templates are no longer supported. Use the vue: prefix instead. For example, @vnode-mounted should be changed to @vue:mounted. @vnode-* hooks support has been removed in 3.4.`,
26770
+ [45]: `v-model cannot be used on a const binding because it is not writable.`,
26771
+ [46]: `Error parsing JavaScript expression: `,
26772
+ [47]: `<KeepAlive> expects exactly one child component.`,
26773
+ [52]: `@vnode-* hooks in templates are no longer supported. Use the vue: prefix instead. For example, @vnode-mounted should be changed to @vue:mounted. @vnode-* hooks support has been removed in 3.4.`,
26698
26774
  // generic errors
26699
- [47]: `"prefixIdentifiers" option is not supported in this build of compiler.`,
26700
- [48]: `ES module mode is not supported in this build of compiler.`,
26701
- [49]: `"cacheHandlers" option is only supported when the "prefixIdentifiers" option is enabled.`,
26702
- [50]: `"scopeId" option is only supported in module mode.`,
26775
+ [48]: `"prefixIdentifiers" option is not supported in this build of compiler.`,
26776
+ [49]: `ES module mode is not supported in this build of compiler.`,
26777
+ [50]: `"cacheHandlers" option is only supported when the "prefixIdentifiers" option is enabled.`,
26778
+ [51]: `"scopeId" option is only supported in module mode.`,
26703
26779
  // just to fulfill types
26704
- [53]: ``
26780
+ [54]: ``
26705
26781
  };
26706
26782
  function walkIdentifiers(root, onIdentifier, includeAll = false, parentStack = [], knownIds = /* @__PURE__ */ Object.create(null)) {
26707
26783
  const rootExp = root.type === "Program" ? root.body[0].type === "ExpressionStatement" && root.body[0].expression : root;
@@ -27488,7 +27564,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
27488
27564
  let exp = getSlice(innerStart, innerEnd);
27489
27565
  if (exp.includes("&")) {
27490
27566
  {
27491
- exp = decode_js.decodeHTML(exp);
27567
+ exp = decode.decodeHTML(exp);
27492
27568
  }
27493
27569
  }
27494
27570
  addNode({
@@ -28152,7 +28228,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
28152
28228
  }
28153
28229
  } catch (e) {
28154
28230
  exp.ast = false;
28155
- emitError(45, loc.start.offset, e.message);
28231
+ emitError(46, loc.start.offset, e.message);
28156
28232
  }
28157
28233
  }
28158
28234
  return exp;
@@ -29759,7 +29835,7 @@ const ${helpers.map((s) => `_${helperNameMap[s]} = ${helperNameMap[s]}`).join(",
29759
29835
  } catch (e) {
29760
29836
  context.onError(
29761
29837
  createCompilerError(
29762
- 45,
29838
+ 46,
29763
29839
  node.loc,
29764
29840
  void 0,
29765
29841
  e.message
@@ -30639,7 +30715,7 @@ const ${helpers.map((s) => `_${helperNameMap[s]} = ${helperNameMap[s]}`).join(",
30639
30715
  patchFlag |= 1024;
30640
30716
  if (node.children.length > 1) {
30641
30717
  context.onError(
30642
- createCompilerError(46, {
30718
+ createCompilerError(47, {
30643
30719
  start: node.children[0].loc.start,
30644
30720
  end: node.children[node.children.length - 1].loc.end,
30645
30721
  source: ""
@@ -31300,7 +31376,7 @@ const ${helpers.map((s) => `_${helperNameMap[s]} = ${helperNameMap[s]}`).join(",
31300
31376
  if (arg.isStatic) {
31301
31377
  let rawName = arg.content;
31302
31378
  if (rawName.startsWith("vnode")) {
31303
- context.onError(createCompilerError(51, arg.loc));
31379
+ context.onError(createCompilerError(52, arg.loc));
31304
31380
  }
31305
31381
  if (rawName.startsWith("vue:")) {
31306
31382
  rawName = `vnode-${rawName.slice(4)}`;
@@ -31558,6 +31634,10 @@ const ${helpers.map((s) => `_${helperNameMap[s]} = ${helperNameMap[s]}`).join(",
31558
31634
  context.onError(createCompilerError(44, exp.loc));
31559
31635
  return createTransformProps();
31560
31636
  }
31637
+ if (bindingType === "literal-const" || bindingType === "setup-const") {
31638
+ context.onError(createCompilerError(45, exp.loc));
31639
+ return createTransformProps();
31640
+ }
31561
31641
  const maybeRef = context.inline && (bindingType === "setup-let" || bindingType === "setup-ref" || bindingType === "setup-maybe-ref");
31562
31642
  if (!expString.trim() || !isMemberExpression(exp, context) && !maybeRef) {
31563
31643
  context.onError(
@@ -31808,7 +31888,7 @@ const ${helpers.map((s) => `_${helperNameMap[s]} = ${helperNameMap[s]}`).join(",
31808
31888
  if (arg.type !== 4 || !arg.isStatic) {
31809
31889
  context.onError(
31810
31890
  createCompilerError(
31811
- 52,
31891
+ 53,
31812
31892
  arg.loc
31813
31893
  )
31814
31894
  );
@@ -31855,10 +31935,10 @@ const ${helpers.map((s) => `_${helperNameMap[s]} = ${helperNameMap[s]}`).join(",
31855
31935
  const isModuleMode = options.mode === "module";
31856
31936
  const prefixIdentifiers = options.prefixIdentifiers === true || isModuleMode;
31857
31937
  if (!prefixIdentifiers && options.cacheHandlers) {
31858
- onError(createCompilerError(49));
31938
+ onError(createCompilerError(50));
31859
31939
  }
31860
31940
  if (options.scopeId && !isModuleMode) {
31861
- onError(createCompilerError(50));
31941
+ onError(createCompilerError(51));
31862
31942
  }
31863
31943
  const resolvedOptions = shared.extend({}, options, {
31864
31944
  prefixIdentifiers
@@ -32050,9 +32130,9 @@ const ${helpers.map((s) => `_${helperNameMap[s]} = ${helperNameMap[s]}`).join(",
32050
32130
  }
32051
32131
  });
32052
32132
 
32053
- // ../../node_modules/.bun/@vue+compiler-core@3.5.25/node_modules/@vue/compiler-core/index.js
32133
+ // ../../node_modules/.bun/@vue+compiler-core@3.5.27/node_modules/@vue/compiler-core/index.js
32054
32134
  var require_compiler_core = __commonJS({
32055
- "../../node_modules/.bun/@vue+compiler-core@3.5.25/node_modules/@vue/compiler-core/index.js"(exports, module) {
32135
+ "../../node_modules/.bun/@vue+compiler-core@3.5.27/node_modules/@vue/compiler-core/index.js"(exports, module) {
32056
32136
  "use strict";
32057
32137
  if (process.env.NODE_ENV === "production") {
32058
32138
  module.exports = require_compiler_core_cjs_prod();
@@ -32062,9 +32142,9 @@ var require_compiler_core = __commonJS({
32062
32142
  }
32063
32143
  });
32064
32144
 
32065
- // ../../node_modules/.bun/@vue+compiler-dom@3.5.25/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js
32145
+ // ../../node_modules/.bun/@vue+compiler-dom@3.5.27/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js
32066
32146
  var require_compiler_dom_cjs_prod = __commonJS({
32067
- "../../node_modules/.bun/@vue+compiler-dom@3.5.25/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js"(exports) {
32147
+ "../../node_modules/.bun/@vue+compiler-dom@3.5.27/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js"(exports) {
32068
32148
  "use strict";
32069
32149
  Object.defineProperty(exports, "__esModule", { value: true });
32070
32150
  var compilerCore = require_compiler_core();
@@ -32182,54 +32262,54 @@ var require_compiler_dom_cjs_prod = __commonJS({
32182
32262
  );
32183
32263
  }
32184
32264
  var DOMErrorCodes = {
32185
- "X_V_HTML_NO_EXPRESSION": 53,
32186
- "53": "X_V_HTML_NO_EXPRESSION",
32187
- "X_V_HTML_WITH_CHILDREN": 54,
32188
- "54": "X_V_HTML_WITH_CHILDREN",
32189
- "X_V_TEXT_NO_EXPRESSION": 55,
32190
- "55": "X_V_TEXT_NO_EXPRESSION",
32191
- "X_V_TEXT_WITH_CHILDREN": 56,
32192
- "56": "X_V_TEXT_WITH_CHILDREN",
32193
- "X_V_MODEL_ON_INVALID_ELEMENT": 57,
32194
- "57": "X_V_MODEL_ON_INVALID_ELEMENT",
32195
- "X_V_MODEL_ARG_ON_ELEMENT": 58,
32196
- "58": "X_V_MODEL_ARG_ON_ELEMENT",
32197
- "X_V_MODEL_ON_FILE_INPUT_ELEMENT": 59,
32198
- "59": "X_V_MODEL_ON_FILE_INPUT_ELEMENT",
32199
- "X_V_MODEL_UNNECESSARY_VALUE": 60,
32200
- "60": "X_V_MODEL_UNNECESSARY_VALUE",
32201
- "X_V_SHOW_NO_EXPRESSION": 61,
32202
- "61": "X_V_SHOW_NO_EXPRESSION",
32203
- "X_TRANSITION_INVALID_CHILDREN": 62,
32204
- "62": "X_TRANSITION_INVALID_CHILDREN",
32205
- "X_IGNORED_SIDE_EFFECT_TAG": 63,
32206
- "63": "X_IGNORED_SIDE_EFFECT_TAG",
32207
- "__EXTEND_POINT__": 64,
32208
- "64": "__EXTEND_POINT__"
32265
+ "X_V_HTML_NO_EXPRESSION": 54,
32266
+ "54": "X_V_HTML_NO_EXPRESSION",
32267
+ "X_V_HTML_WITH_CHILDREN": 55,
32268
+ "55": "X_V_HTML_WITH_CHILDREN",
32269
+ "X_V_TEXT_NO_EXPRESSION": 56,
32270
+ "56": "X_V_TEXT_NO_EXPRESSION",
32271
+ "X_V_TEXT_WITH_CHILDREN": 57,
32272
+ "57": "X_V_TEXT_WITH_CHILDREN",
32273
+ "X_V_MODEL_ON_INVALID_ELEMENT": 58,
32274
+ "58": "X_V_MODEL_ON_INVALID_ELEMENT",
32275
+ "X_V_MODEL_ARG_ON_ELEMENT": 59,
32276
+ "59": "X_V_MODEL_ARG_ON_ELEMENT",
32277
+ "X_V_MODEL_ON_FILE_INPUT_ELEMENT": 60,
32278
+ "60": "X_V_MODEL_ON_FILE_INPUT_ELEMENT",
32279
+ "X_V_MODEL_UNNECESSARY_VALUE": 61,
32280
+ "61": "X_V_MODEL_UNNECESSARY_VALUE",
32281
+ "X_V_SHOW_NO_EXPRESSION": 62,
32282
+ "62": "X_V_SHOW_NO_EXPRESSION",
32283
+ "X_TRANSITION_INVALID_CHILDREN": 63,
32284
+ "63": "X_TRANSITION_INVALID_CHILDREN",
32285
+ "X_IGNORED_SIDE_EFFECT_TAG": 64,
32286
+ "64": "X_IGNORED_SIDE_EFFECT_TAG",
32287
+ "__EXTEND_POINT__": 65,
32288
+ "65": "__EXTEND_POINT__"
32209
32289
  };
32210
32290
  var DOMErrorMessages = {
32211
- [53]: `v-html is missing expression.`,
32212
- [54]: `v-html will override element children.`,
32213
- [55]: `v-text is missing expression.`,
32214
- [56]: `v-text will override element children.`,
32215
- [57]: `v-model can only be used on <input>, <textarea> and <select> elements.`,
32216
- [58]: `v-model argument is not supported on plain elements.`,
32217
- [59]: `v-model cannot be used on file inputs since they are read-only. Use a v-on:change listener instead.`,
32218
- [60]: `Unnecessary value binding used alongside v-model. It will interfere with v-model's behavior.`,
32219
- [61]: `v-show is missing expression.`,
32220
- [62]: `<Transition> expects exactly one child element or component.`,
32221
- [63]: `Tags with side effect (<script> and <style>) are ignored in client component templates.`
32291
+ [54]: `v-html is missing expression.`,
32292
+ [55]: `v-html will override element children.`,
32293
+ [56]: `v-text is missing expression.`,
32294
+ [57]: `v-text will override element children.`,
32295
+ [58]: `v-model can only be used on <input>, <textarea> and <select> elements.`,
32296
+ [59]: `v-model argument is not supported on plain elements.`,
32297
+ [60]: `v-model cannot be used on file inputs since they are read-only. Use a v-on:change listener instead.`,
32298
+ [61]: `Unnecessary value binding used alongside v-model. It will interfere with v-model's behavior.`,
32299
+ [62]: `v-show is missing expression.`,
32300
+ [63]: `<Transition> expects exactly one child element or component.`,
32301
+ [64]: `Tags with side effect (<script> and <style>) are ignored in client component templates.`
32222
32302
  };
32223
32303
  var transformVHtml = (dir, node, context) => {
32224
32304
  const { exp, loc } = dir;
32225
32305
  if (!exp) {
32226
32306
  context.onError(
32227
- createDOMCompilerError(53, loc)
32307
+ createDOMCompilerError(54, loc)
32228
32308
  );
32229
32309
  }
32230
32310
  if (node.children.length) {
32231
32311
  context.onError(
32232
- createDOMCompilerError(54, loc)
32312
+ createDOMCompilerError(55, loc)
32233
32313
  );
32234
32314
  node.children.length = 0;
32235
32315
  }
@@ -32246,12 +32326,12 @@ var require_compiler_dom_cjs_prod = __commonJS({
32246
32326
  const { exp, loc } = dir;
32247
32327
  if (!exp) {
32248
32328
  context.onError(
32249
- createDOMCompilerError(55, loc)
32329
+ createDOMCompilerError(56, loc)
32250
32330
  );
32251
32331
  }
32252
32332
  if (node.children.length) {
32253
32333
  context.onError(
32254
- createDOMCompilerError(56, loc)
32334
+ createDOMCompilerError(57, loc)
32255
32335
  );
32256
32336
  node.children.length = 0;
32257
32337
  }
@@ -32276,7 +32356,7 @@ var require_compiler_dom_cjs_prod = __commonJS({
32276
32356
  if (dir.arg) {
32277
32357
  context.onError(
32278
32358
  createDOMCompilerError(
32279
- 58,
32359
+ 59,
32280
32360
  dir.arg.loc
32281
32361
  )
32282
32362
  );
@@ -32303,7 +32383,7 @@ var require_compiler_dom_cjs_prod = __commonJS({
32303
32383
  isInvalidType = true;
32304
32384
  context.onError(
32305
32385
  createDOMCompilerError(
32306
- 59,
32386
+ 60,
32307
32387
  dir.loc
32308
32388
  )
32309
32389
  );
@@ -32322,7 +32402,7 @@ var require_compiler_dom_cjs_prod = __commonJS({
32322
32402
  } else {
32323
32403
  context.onError(
32324
32404
  createDOMCompilerError(
32325
- 57,
32405
+ 58,
32326
32406
  dir.loc
32327
32407
  )
32328
32408
  );
@@ -32428,7 +32508,7 @@ var require_compiler_dom_cjs_prod = __commonJS({
32428
32508
  const { exp, loc } = dir;
32429
32509
  if (!exp) {
32430
32510
  context.onError(
32431
- createDOMCompilerError(61, loc)
32511
+ createDOMCompilerError(62, loc)
32432
32512
  );
32433
32513
  }
32434
32514
  return {
@@ -32737,9 +32817,9 @@ var require_compiler_dom_cjs_prod = __commonJS({
32737
32817
  }
32738
32818
  });
32739
32819
 
32740
- // ../../node_modules/.bun/@vue+compiler-dom@3.5.25/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.js
32820
+ // ../../node_modules/.bun/@vue+compiler-dom@3.5.27/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.js
32741
32821
  var require_compiler_dom_cjs = __commonJS({
32742
- "../../node_modules/.bun/@vue+compiler-dom@3.5.25/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.js"(exports) {
32822
+ "../../node_modules/.bun/@vue+compiler-dom@3.5.27/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.js"(exports) {
32743
32823
  "use strict";
32744
32824
  Object.defineProperty(exports, "__esModule", { value: true });
32745
32825
  var compilerCore = require_compiler_core();
@@ -32857,54 +32937,54 @@ var require_compiler_dom_cjs = __commonJS({
32857
32937
  );
32858
32938
  }
32859
32939
  var DOMErrorCodes = {
32860
- "X_V_HTML_NO_EXPRESSION": 53,
32861
- "53": "X_V_HTML_NO_EXPRESSION",
32862
- "X_V_HTML_WITH_CHILDREN": 54,
32863
- "54": "X_V_HTML_WITH_CHILDREN",
32864
- "X_V_TEXT_NO_EXPRESSION": 55,
32865
- "55": "X_V_TEXT_NO_EXPRESSION",
32866
- "X_V_TEXT_WITH_CHILDREN": 56,
32867
- "56": "X_V_TEXT_WITH_CHILDREN",
32868
- "X_V_MODEL_ON_INVALID_ELEMENT": 57,
32869
- "57": "X_V_MODEL_ON_INVALID_ELEMENT",
32870
- "X_V_MODEL_ARG_ON_ELEMENT": 58,
32871
- "58": "X_V_MODEL_ARG_ON_ELEMENT",
32872
- "X_V_MODEL_ON_FILE_INPUT_ELEMENT": 59,
32873
- "59": "X_V_MODEL_ON_FILE_INPUT_ELEMENT",
32874
- "X_V_MODEL_UNNECESSARY_VALUE": 60,
32875
- "60": "X_V_MODEL_UNNECESSARY_VALUE",
32876
- "X_V_SHOW_NO_EXPRESSION": 61,
32877
- "61": "X_V_SHOW_NO_EXPRESSION",
32878
- "X_TRANSITION_INVALID_CHILDREN": 62,
32879
- "62": "X_TRANSITION_INVALID_CHILDREN",
32880
- "X_IGNORED_SIDE_EFFECT_TAG": 63,
32881
- "63": "X_IGNORED_SIDE_EFFECT_TAG",
32882
- "__EXTEND_POINT__": 64,
32883
- "64": "__EXTEND_POINT__"
32940
+ "X_V_HTML_NO_EXPRESSION": 54,
32941
+ "54": "X_V_HTML_NO_EXPRESSION",
32942
+ "X_V_HTML_WITH_CHILDREN": 55,
32943
+ "55": "X_V_HTML_WITH_CHILDREN",
32944
+ "X_V_TEXT_NO_EXPRESSION": 56,
32945
+ "56": "X_V_TEXT_NO_EXPRESSION",
32946
+ "X_V_TEXT_WITH_CHILDREN": 57,
32947
+ "57": "X_V_TEXT_WITH_CHILDREN",
32948
+ "X_V_MODEL_ON_INVALID_ELEMENT": 58,
32949
+ "58": "X_V_MODEL_ON_INVALID_ELEMENT",
32950
+ "X_V_MODEL_ARG_ON_ELEMENT": 59,
32951
+ "59": "X_V_MODEL_ARG_ON_ELEMENT",
32952
+ "X_V_MODEL_ON_FILE_INPUT_ELEMENT": 60,
32953
+ "60": "X_V_MODEL_ON_FILE_INPUT_ELEMENT",
32954
+ "X_V_MODEL_UNNECESSARY_VALUE": 61,
32955
+ "61": "X_V_MODEL_UNNECESSARY_VALUE",
32956
+ "X_V_SHOW_NO_EXPRESSION": 62,
32957
+ "62": "X_V_SHOW_NO_EXPRESSION",
32958
+ "X_TRANSITION_INVALID_CHILDREN": 63,
32959
+ "63": "X_TRANSITION_INVALID_CHILDREN",
32960
+ "X_IGNORED_SIDE_EFFECT_TAG": 64,
32961
+ "64": "X_IGNORED_SIDE_EFFECT_TAG",
32962
+ "__EXTEND_POINT__": 65,
32963
+ "65": "__EXTEND_POINT__"
32884
32964
  };
32885
32965
  var DOMErrorMessages = {
32886
- [53]: `v-html is missing expression.`,
32887
- [54]: `v-html will override element children.`,
32888
- [55]: `v-text is missing expression.`,
32889
- [56]: `v-text will override element children.`,
32890
- [57]: `v-model can only be used on <input>, <textarea> and <select> elements.`,
32891
- [58]: `v-model argument is not supported on plain elements.`,
32892
- [59]: `v-model cannot be used on file inputs since they are read-only. Use a v-on:change listener instead.`,
32893
- [60]: `Unnecessary value binding used alongside v-model. It will interfere with v-model's behavior.`,
32894
- [61]: `v-show is missing expression.`,
32895
- [62]: `<Transition> expects exactly one child element or component.`,
32896
- [63]: `Tags with side effect (<script> and <style>) are ignored in client component templates.`
32966
+ [54]: `v-html is missing expression.`,
32967
+ [55]: `v-html will override element children.`,
32968
+ [56]: `v-text is missing expression.`,
32969
+ [57]: `v-text will override element children.`,
32970
+ [58]: `v-model can only be used on <input>, <textarea> and <select> elements.`,
32971
+ [59]: `v-model argument is not supported on plain elements.`,
32972
+ [60]: `v-model cannot be used on file inputs since they are read-only. Use a v-on:change listener instead.`,
32973
+ [61]: `Unnecessary value binding used alongside v-model. It will interfere with v-model's behavior.`,
32974
+ [62]: `v-show is missing expression.`,
32975
+ [63]: `<Transition> expects exactly one child element or component.`,
32976
+ [64]: `Tags with side effect (<script> and <style>) are ignored in client component templates.`
32897
32977
  };
32898
32978
  var transformVHtml = (dir, node, context) => {
32899
32979
  const { exp, loc } = dir;
32900
32980
  if (!exp) {
32901
32981
  context.onError(
32902
- createDOMCompilerError(53, loc)
32982
+ createDOMCompilerError(54, loc)
32903
32983
  );
32904
32984
  }
32905
32985
  if (node.children.length) {
32906
32986
  context.onError(
32907
- createDOMCompilerError(54, loc)
32987
+ createDOMCompilerError(55, loc)
32908
32988
  );
32909
32989
  node.children.length = 0;
32910
32990
  }
@@ -32921,12 +33001,12 @@ var require_compiler_dom_cjs = __commonJS({
32921
33001
  const { exp, loc } = dir;
32922
33002
  if (!exp) {
32923
33003
  context.onError(
32924
- createDOMCompilerError(55, loc)
33004
+ createDOMCompilerError(56, loc)
32925
33005
  );
32926
33006
  }
32927
33007
  if (node.children.length) {
32928
33008
  context.onError(
32929
- createDOMCompilerError(56, loc)
33009
+ createDOMCompilerError(57, loc)
32930
33010
  );
32931
33011
  node.children.length = 0;
32932
33012
  }
@@ -32951,7 +33031,7 @@ var require_compiler_dom_cjs = __commonJS({
32951
33031
  if (dir.arg) {
32952
33032
  context.onError(
32953
33033
  createDOMCompilerError(
32954
- 58,
33034
+ 59,
32955
33035
  dir.arg.loc
32956
33036
  )
32957
33037
  );
@@ -32961,7 +33041,7 @@ var require_compiler_dom_cjs = __commonJS({
32961
33041
  if (value && compilerCore.isStaticArgOf(value.arg, "value")) {
32962
33042
  context.onError(
32963
33043
  createDOMCompilerError(
32964
- 60,
33044
+ 61,
32965
33045
  value.loc
32966
33046
  )
32967
33047
  );
@@ -32989,7 +33069,7 @@ var require_compiler_dom_cjs = __commonJS({
32989
33069
  isInvalidType = true;
32990
33070
  context.onError(
32991
33071
  createDOMCompilerError(
32992
- 59,
33072
+ 60,
32993
33073
  dir.loc
32994
33074
  )
32995
33075
  );
@@ -33015,7 +33095,7 @@ var require_compiler_dom_cjs = __commonJS({
33015
33095
  } else {
33016
33096
  context.onError(
33017
33097
  createDOMCompilerError(
33018
- 57,
33098
+ 58,
33019
33099
  dir.loc
33020
33100
  )
33021
33101
  );
@@ -33121,7 +33201,7 @@ var require_compiler_dom_cjs = __commonJS({
33121
33201
  const { exp, loc } = dir;
33122
33202
  if (!exp) {
33123
33203
  context.onError(
33124
- createDOMCompilerError(61, loc)
33204
+ createDOMCompilerError(62, loc)
33125
33205
  );
33126
33206
  }
33127
33207
  return {
@@ -33140,7 +33220,7 @@ var require_compiler_dom_cjs = __commonJS({
33140
33220
  if (hasMultipleChildren(node)) {
33141
33221
  context.onError(
33142
33222
  createDOMCompilerError(
33143
- 62,
33223
+ 63,
33144
33224
  {
33145
33225
  start: node.children[0].loc.start,
33146
33226
  end: node.children[node.children.length - 1].loc.end,
@@ -33411,7 +33491,7 @@ var require_compiler_dom_cjs = __commonJS({
33411
33491
  if (node.type === 1 && node.tagType === 0 && (node.tag === "script" || node.tag === "style")) {
33412
33492
  context.onError(
33413
33493
  createDOMCompilerError(
33414
- 63,
33494
+ 64,
33415
33495
  node.loc
33416
33496
  )
33417
33497
  );
@@ -33654,9 +33734,9 @@ var require_compiler_dom_cjs = __commonJS({
33654
33734
  }
33655
33735
  });
33656
33736
 
33657
- // ../../node_modules/.bun/@vue+compiler-dom@3.5.25/node_modules/@vue/compiler-dom/index.js
33737
+ // ../../node_modules/.bun/@vue+compiler-dom@3.5.27/node_modules/@vue/compiler-dom/index.js
33658
33738
  var require_compiler_dom = __commonJS({
33659
- "../../node_modules/.bun/@vue+compiler-dom@3.5.25/node_modules/@vue/compiler-dom/index.js"(exports, module) {
33739
+ "../../node_modules/.bun/@vue+compiler-dom@3.5.27/node_modules/@vue/compiler-dom/index.js"(exports, module) {
33660
33740
  "use strict";
33661
33741
  if (process.env.NODE_ENV === "production") {
33662
33742
  module.exports = require_compiler_dom_cjs_prod();
@@ -33666,9 +33746,9 @@ var require_compiler_dom = __commonJS({
33666
33746
  }
33667
33747
  });
33668
33748
 
33669
- // ../../node_modules/.bun/@vue+compiler-ssr@3.5.25/node_modules/@vue/compiler-ssr/dist/compiler-ssr.cjs.js
33749
+ // ../../node_modules/.bun/@vue+compiler-ssr@3.5.27/node_modules/@vue/compiler-ssr/dist/compiler-ssr.cjs.js
33670
33750
  var require_compiler_ssr_cjs = __commonJS({
33671
- "../../node_modules/.bun/@vue+compiler-ssr@3.5.25/node_modules/@vue/compiler-ssr/dist/compiler-ssr.cjs.js"(exports) {
33751
+ "../../node_modules/.bun/@vue+compiler-ssr@3.5.27/node_modules/@vue/compiler-ssr/dist/compiler-ssr.cjs.js"(exports) {
33672
33752
  "use strict";
33673
33753
  Object.defineProperty(exports, "__esModule", { value: true });
33674
33754
  var compilerDom = require_compiler_dom();
@@ -34605,11 +34685,11 @@ var require_compiler_ssr_cjs = __commonJS({
34605
34685
  ast.codegenNode = compilerDom.createBlockStatement(context.body);
34606
34686
  ast.ssrHelpers = Array.from(
34607
34687
  /* @__PURE__ */ new Set([
34608
- ...Array.from(ast.helpers).filter((h2) => h2 in ssrHelpers),
34688
+ ...Array.from(ast.helpers).filter((h) => h in ssrHelpers),
34609
34689
  ...context.helpers
34610
34690
  ])
34611
34691
  );
34612
- ast.helpers = new Set(Array.from(ast.helpers).filter((h2) => !(h2 in ssrHelpers)));
34692
+ ast.helpers = new Set(Array.from(ast.helpers).filter((h) => !(h in ssrHelpers)));
34613
34693
  }
34614
34694
  function createSSRTransformContext(root, options, helpers = /* @__PURE__ */ new Set(), withSlotScopeId = false) {
34615
34695
  const body = [];
@@ -34741,7 +34821,7 @@ var require_compiler_ssr_cjs = __commonJS({
34741
34821
  if (value) {
34742
34822
  context.onError(
34743
34823
  compilerDom.createDOMCompilerError(
34744
- 60,
34824
+ 61,
34745
34825
  value.loc
34746
34826
  )
34747
34827
  );
@@ -34850,7 +34930,7 @@ var require_compiler_ssr_cjs = __commonJS({
34850
34930
  case "file":
34851
34931
  context.onError(
34852
34932
  compilerDom.createDOMCompilerError(
34853
- 59,
34933
+ 60,
34854
34934
  dir.loc
34855
34935
  )
34856
34936
  );
@@ -34874,7 +34954,7 @@ var require_compiler_ssr_cjs = __commonJS({
34874
34954
  } else {
34875
34955
  context.onError(
34876
34956
  compilerDom.createDOMCompilerError(
34877
- 57,
34957
+ 58,
34878
34958
  dir.loc
34879
34959
  )
34880
34960
  );
@@ -34891,7 +34971,7 @@ var require_compiler_ssr_cjs = __commonJS({
34891
34971
  var ssrTransformShow = (dir, node, context) => {
34892
34972
  if (!dir.exp) {
34893
34973
  context.onError(
34894
- compilerDom.createDOMCompilerError(61)
34974
+ compilerDom.createDOMCompilerError(62)
34895
34975
  );
34896
34976
  }
34897
34977
  return {
@@ -34913,7 +34993,7 @@ var require_compiler_ssr_cjs = __commonJS({
34913
34993
  ]
34914
34994
  };
34915
34995
  };
34916
- var filterChild = (node) => node.children.filter((n) => n.type !== 3);
34996
+ var filterChild = (node) => node.children.filter((n) => !compilerDom.isCommentOrWhitespace(n));
34917
34997
  var hasSingleChild = (node) => filterChild(node).length === 1;
34918
34998
  var ssrInjectFallthroughAttrs = (node, context) => {
34919
34999
  if (node.type === 0) {
@@ -35061,9 +35141,9 @@ var require_compiler_ssr_cjs = __commonJS({
35061
35141
  }
35062
35142
  });
35063
35143
 
35064
- // ../../node_modules/.bun/@vue+server-renderer@3.5.25+f899f459d7ee6a31/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js
35144
+ // ../../node_modules/.bun/@vue+server-renderer@3.5.27+7a41347fad1059d7/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js
35065
35145
  var require_server_renderer_cjs_prod = __commonJS({
35066
- "../../node_modules/.bun/@vue+server-renderer@3.5.25+f899f459d7ee6a31/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js"(exports) {
35146
+ "../../node_modules/.bun/@vue+server-renderer@3.5.27+7a41347fad1059d7/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js"(exports) {
35067
35147
  "use strict";
35068
35148
  Object.defineProperty(exports, "__esModule", { value: true });
35069
35149
  var Vue = __require("vue");
@@ -35085,17 +35165,17 @@ var require_server_renderer_cjs_prod = __commonJS({
35085
35165
  );
35086
35166
  function ssrRenderAttrs(props, tag) {
35087
35167
  let ret = "";
35088
- for (const key in props) {
35089
- if (shouldIgnoreProp(key) || shared.isOn(key) || tag === "textarea" && key === "value") {
35168
+ for (let key in props) {
35169
+ if (shouldIgnoreProp(key) || shared.isOn(key) || tag === "textarea" && key === "value" || // force as property (not rendered in SSR)
35170
+ key.startsWith(".")) {
35090
35171
  continue;
35091
35172
  }
35092
35173
  const value = props[key];
35093
- if (key === "class") {
35174
+ if (key.startsWith("^")) key = key.slice(1);
35175
+ if (key === "class" || key === "className") {
35094
35176
  ret += ` class="${ssrRenderClass(value)}"`;
35095
35177
  } else if (key === "style") {
35096
35178
  ret += ` style="${ssrRenderStyle(value)}"`;
35097
- } else if (key === "className") {
35098
- ret += ` class="${String(value)}"`;
35099
35179
  } else {
35100
35180
  ret += ssrRenderDynamicAttr(key, value, tag);
35101
35181
  }
@@ -35730,9 +35810,9 @@ var require_server_renderer_cjs_prod = __commonJS({
35730
35810
  }
35731
35811
  return ret;
35732
35812
  }
35733
- async function renderToString2(input, context = {}) {
35813
+ async function renderToString(input, context = {}) {
35734
35814
  if (isVNode$1(input)) {
35735
- return renderToString2(Vue.createApp({ render: () => input }), context);
35815
+ return renderToString(Vue.createApp({ render: () => input }), context);
35736
35816
  }
35737
35817
  const vnode = Vue.createVNode(input._component, input._props);
35738
35818
  vnode.appContext = input._context;
@@ -35898,7 +35978,7 @@ var require_server_renderer_cjs_prod = __commonJS({
35898
35978
  exports.renderToNodeStream = renderToNodeStream;
35899
35979
  exports.renderToSimpleStream = renderToSimpleStream;
35900
35980
  exports.renderToStream = renderToStream;
35901
- exports.renderToString = renderToString2;
35981
+ exports.renderToString = renderToString;
35902
35982
  exports.renderToWebStream = renderToWebStream;
35903
35983
  exports.ssrGetDirectiveProps = ssrGetDirectiveProps;
35904
35984
  exports.ssrGetDynamicModelProps = ssrGetDynamicModelProps;
@@ -35921,9 +36001,9 @@ var require_server_renderer_cjs_prod = __commonJS({
35921
36001
  }
35922
36002
  });
35923
36003
 
35924
- // ../../node_modules/.bun/@vue+server-renderer@3.5.25+f899f459d7ee6a31/node_modules/@vue/server-renderer/dist/server-renderer.cjs.js
36004
+ // ../../node_modules/.bun/@vue+server-renderer@3.5.27+7a41347fad1059d7/node_modules/@vue/server-renderer/dist/server-renderer.cjs.js
35925
36005
  var require_server_renderer_cjs = __commonJS({
35926
- "../../node_modules/.bun/@vue+server-renderer@3.5.25+f899f459d7ee6a31/node_modules/@vue/server-renderer/dist/server-renderer.cjs.js"(exports) {
36006
+ "../../node_modules/.bun/@vue+server-renderer@3.5.27+7a41347fad1059d7/node_modules/@vue/server-renderer/dist/server-renderer.cjs.js"(exports) {
35927
36007
  "use strict";
35928
36008
  Object.defineProperty(exports, "__esModule", { value: true });
35929
36009
  var Vue = __require("vue");
@@ -35945,17 +36025,17 @@ var require_server_renderer_cjs = __commonJS({
35945
36025
  );
35946
36026
  function ssrRenderAttrs(props, tag) {
35947
36027
  let ret = "";
35948
- for (const key in props) {
35949
- if (shouldIgnoreProp(key) || shared.isOn(key) || tag === "textarea" && key === "value") {
36028
+ for (let key in props) {
36029
+ if (shouldIgnoreProp(key) || shared.isOn(key) || tag === "textarea" && key === "value" || // force as property (not rendered in SSR)
36030
+ key.startsWith(".")) {
35950
36031
  continue;
35951
36032
  }
35952
36033
  const value = props[key];
35953
- if (key === "class") {
36034
+ if (key.startsWith("^")) key = key.slice(1);
36035
+ if (key === "class" || key === "className") {
35954
36036
  ret += ` class="${ssrRenderClass(value)}"`;
35955
36037
  } else if (key === "style") {
35956
36038
  ret += ` style="${ssrRenderStyle(value)}"`;
35957
- } else if (key === "className") {
35958
- ret += ` class="${String(value)}"`;
35959
36039
  } else {
35960
36040
  ret += ssrRenderDynamicAttr(key, value, tag);
35961
36041
  }
@@ -36127,10 +36207,12 @@ var require_server_renderer_cjs = __commonJS({
36127
36207
  function ssrInterpolate(value) {
36128
36208
  return shared.escapeHtml(shared.toDisplayString(value));
36129
36209
  }
36210
+ // @__NO_SIDE_EFFECTS__
36130
36211
  function toRaw(observed) {
36131
36212
  const raw = observed && observed["__v_raw"];
36132
- return raw ? toRaw(raw) : observed;
36213
+ return raw ? /* @__PURE__ */ toRaw(raw) : observed;
36133
36214
  }
36215
+ // @__NO_SIDE_EFFECTS__
36134
36216
  function isRef(r) {
36135
36217
  return r ? r["__v_isRef"] === true : false;
36136
36218
  }
@@ -36234,13 +36316,13 @@ var require_server_renderer_cjs = __commonJS({
36234
36316
  return raw ? value : [`${key}=${value}`];
36235
36317
  } else if (typeof value === "number" || typeof value === "boolean" || value == null) {
36236
36318
  return raw ? value : [`${key}=${value}`];
36237
- } else if (isRef(value)) {
36238
- value = formatProp(key, toRaw(value.value), true);
36319
+ } else if (/* @__PURE__ */ isRef(value)) {
36320
+ value = formatProp(key, /* @__PURE__ */ toRaw(value.value), true);
36239
36321
  return raw ? value : [`${key}=Ref<`, value, `>`];
36240
36322
  } else if (shared.isFunction(value)) {
36241
36323
  return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];
36242
36324
  } else {
36243
- value = toRaw(value);
36325
+ value = /* @__PURE__ */ toRaw(value);
36244
36326
  return raw ? value : [`${key}=`, value];
36245
36327
  }
36246
36328
  }
@@ -36856,9 +36938,9 @@ ${codeFrame}` : message);
36856
36938
  }
36857
36939
  return ret;
36858
36940
  }
36859
- async function renderToString2(input, context = {}) {
36941
+ async function renderToString(input, context = {}) {
36860
36942
  if (isVNode$1(input)) {
36861
- return renderToString2(Vue.createApp({ render: () => input }), context);
36943
+ return renderToString(Vue.createApp({ render: () => input }), context);
36862
36944
  }
36863
36945
  const vnode = Vue.createVNode(input._component, input._props);
36864
36946
  vnode.appContext = input._context;
@@ -37024,7 +37106,7 @@ ${codeFrame}` : message);
37024
37106
  exports.renderToNodeStream = renderToNodeStream;
37025
37107
  exports.renderToSimpleStream = renderToSimpleStream;
37026
37108
  exports.renderToStream = renderToStream;
37027
- exports.renderToString = renderToString2;
37109
+ exports.renderToString = renderToString;
37028
37110
  exports.renderToWebStream = renderToWebStream;
37029
37111
  exports.ssrGetDirectiveProps = ssrGetDirectiveProps;
37030
37112
  exports.ssrGetDynamicModelProps = ssrGetDynamicModelProps;
@@ -37047,10 +37129,9 @@ ${codeFrame}` : message);
37047
37129
  }
37048
37130
  });
37049
37131
 
37050
- // ../../node_modules/.bun/@vue+server-renderer@3.5.25+f899f459d7ee6a31/node_modules/@vue/server-renderer/index.js
37132
+ // ../../node_modules/.bun/@vue+server-renderer@3.5.27+7a41347fad1059d7/node_modules/@vue/server-renderer/index.js
37051
37133
  var require_server_renderer = __commonJS({
37052
- "../../node_modules/.bun/@vue+server-renderer@3.5.25+f899f459d7ee6a31/node_modules/@vue/server-renderer/index.js"(exports, module) {
37053
- "use strict";
37134
+ "../../node_modules/.bun/@vue+server-renderer@3.5.27+7a41347fad1059d7/node_modules/@vue/server-renderer/index.js"(exports, module) {
37054
37135
  if (process.env.NODE_ENV === "production") {
37055
37136
  module.exports = require_server_renderer_cjs_prod();
37056
37137
  } else {
@@ -37058,40 +37139,13 @@ var require_server_renderer = __commonJS({
37058
37139
  }
37059
37140
  }
37060
37141
  });
37061
-
37062
- // src/renderers/VueRenderer.ts
37063
- var import_server_renderer = __toESM(require_server_renderer());
37064
- import { createSSRApp, h } from "vue";
37065
- var VueRenderer = class {
37066
- constructor(component, props) {
37067
- this.component = component;
37068
- this.props = props;
37069
- }
37070
- async render(data) {
37071
- const mergedProps = { ...this.props, ...data };
37072
- const app = createSSRApp({
37073
- render: () => h(this.component, mergedProps)
37074
- });
37075
- const html = await (0, import_server_renderer.renderToString)(app);
37076
- const fullHtml = html.startsWith("<!DOCTYPE") ? html : `<!DOCTYPE html>${html}`;
37077
- return {
37078
- html: fullHtml,
37079
- text: this.stripHtml(html)
37080
- };
37081
- }
37082
- stripHtml(html) {
37083
- return html.replace(/<style[^>]*>[\s\S]*?<\/style>/gi, "").replace(/<script[^>]*>[\s\S]*?<\/script>/gi, "").replace(/<[^>]+>/g, "").replace(/&nbsp;/g, " ").replace(/\s+/g, " ").trim();
37084
- }
37085
- };
37086
- export {
37087
- VueRenderer
37088
- };
37142
+ export default require_server_renderer();
37089
37143
  /*! Bundled license information:
37090
37144
 
37091
37145
  @vue/shared/dist/shared.cjs.prod.js:
37092
37146
  @vue/shared/dist/shared.cjs.js:
37093
37147
  (**
37094
- * @vue/shared v3.5.25
37148
+ * @vue/shared v3.5.27
37095
37149
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
37096
37150
  * @license MIT
37097
37151
  **)
@@ -37099,7 +37153,7 @@ export {
37099
37153
  @vue/compiler-core/dist/compiler-core.cjs.prod.js:
37100
37154
  @vue/compiler-core/dist/compiler-core.cjs.js:
37101
37155
  (**
37102
- * @vue/compiler-core v3.5.25
37156
+ * @vue/compiler-core v3.5.27
37103
37157
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
37104
37158
  * @license MIT
37105
37159
  **)
@@ -37107,14 +37161,14 @@ export {
37107
37161
  @vue/compiler-dom/dist/compiler-dom.cjs.prod.js:
37108
37162
  @vue/compiler-dom/dist/compiler-dom.cjs.js:
37109
37163
  (**
37110
- * @vue/compiler-dom v3.5.25
37164
+ * @vue/compiler-dom v3.5.27
37111
37165
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
37112
37166
  * @license MIT
37113
37167
  **)
37114
37168
 
37115
37169
  @vue/compiler-ssr/dist/compiler-ssr.cjs.js:
37116
37170
  (**
37117
- * @vue/compiler-ssr v3.5.25
37171
+ * @vue/compiler-ssr v3.5.27
37118
37172
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
37119
37173
  * @license MIT
37120
37174
  **)
@@ -37122,7 +37176,7 @@ export {
37122
37176
  @vue/server-renderer/dist/server-renderer.cjs.prod.js:
37123
37177
  @vue/server-renderer/dist/server-renderer.cjs.js:
37124
37178
  (**
37125
- * @vue/server-renderer v3.5.25
37179
+ * @vue/server-renderer v3.5.27
37126
37180
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
37127
37181
  * @license MIT
37128
37182
  **)