nuxt-intlayer 7.0.0-canary.2 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. package/dist/cjs/_virtual/rolldown_runtime.cjs +0 -15
  2. package/dist/cjs/packages/@intlayer/dictionaries-entry/dist/esm/index.cjs +1 -1
  3. package/dist/cjs/packages/@intlayer/dictionaries-entry/dist/esm/index.cjs.map +1 -1
  4. package/dist/cjs/runtime/intlayer-plugin.cjs +4 -3
  5. package/dist/cjs/runtime/intlayer-plugin.cjs.map +1 -1
  6. package/dist/esm/packages/@intlayer/dictionaries-entry/dist/esm/index.mjs +2 -2
  7. package/dist/esm/packages/@intlayer/dictionaries-entry/dist/esm/index.mjs.map +1 -1
  8. package/dist/esm/runtime/intlayer-plugin.mjs +3 -3
  9. package/dist/esm/runtime/intlayer-plugin.mjs.map +1 -1
  10. package/package.json +16 -14
  11. package/dist/cjs/node_modules/.bun/@babel_parser@7.28.4/node_modules/@babel/parser/lib/index.cjs +0 -12494
  12. package/dist/cjs/node_modules/.bun/@babel_parser@7.28.4/node_modules/@babel/parser/lib/index.cjs.map +0 -1
  13. package/dist/cjs/node_modules/.bun/@vue_compiler-core@3.5.22/node_modules/@vue/compiler-core/dist/compiler-core.cjs.cjs +0 -2353
  14. package/dist/cjs/node_modules/.bun/@vue_compiler-core@3.5.22/node_modules/@vue/compiler-core/dist/compiler-core.cjs.cjs.map +0 -1
  15. package/dist/cjs/node_modules/.bun/@vue_compiler-core@3.5.22/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.cjs +0 -4751
  16. package/dist/cjs/node_modules/.bun/@vue_compiler-core@3.5.22/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.cjs.map +0 -1
  17. package/dist/cjs/node_modules/.bun/@vue_compiler-core@3.5.22/node_modules/@vue/compiler-core/index.cjs +0 -18
  18. package/dist/cjs/node_modules/.bun/@vue_compiler-core@3.5.22/node_modules/@vue/compiler-core/index.cjs.map +0 -1
  19. package/dist/cjs/node_modules/.bun/@vue_compiler-dom@3.5.22/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.cjs +0 -660
  20. package/dist/cjs/node_modules/.bun/@vue_compiler-dom@3.5.22/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.cjs.map +0 -1
  21. package/dist/cjs/node_modules/.bun/@vue_compiler-dom@3.5.22/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.cjs +0 -442
  22. package/dist/cjs/node_modules/.bun/@vue_compiler-dom@3.5.22/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.cjs.map +0 -1
  23. package/dist/cjs/node_modules/.bun/@vue_compiler-dom@3.5.22/node_modules/@vue/compiler-dom/index.cjs +0 -18
  24. package/dist/cjs/node_modules/.bun/@vue_compiler-dom@3.5.22/node_modules/@vue/compiler-dom/index.cjs.map +0 -1
  25. package/dist/cjs/node_modules/.bun/@vue_reactivity@3.5.22/node_modules/@vue/reactivity/dist/reactivity.cjs.cjs +0 -22
  26. package/dist/cjs/node_modules/.bun/@vue_reactivity@3.5.22/node_modules/@vue/reactivity/dist/reactivity.cjs.cjs.map +0 -1
  27. package/dist/cjs/node_modules/.bun/@vue_reactivity@3.5.22/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.cjs +0 -1457
  28. package/dist/cjs/node_modules/.bun/@vue_reactivity@3.5.22/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.cjs.map +0 -1
  29. package/dist/cjs/node_modules/.bun/@vue_reactivity@3.5.22/node_modules/@vue/reactivity/index.cjs +0 -18
  30. package/dist/cjs/node_modules/.bun/@vue_reactivity@3.5.22/node_modules/@vue/reactivity/index.cjs.map +0 -1
  31. package/dist/cjs/node_modules/.bun/@vue_runtime-core@3.5.22/node_modules/@vue/runtime-core/dist/runtime-core.cjs.cjs +0 -870
  32. package/dist/cjs/node_modules/.bun/@vue_runtime-core@3.5.22/node_modules/@vue/runtime-core/dist/runtime-core.cjs.cjs.map +0 -1
  33. package/dist/cjs/node_modules/.bun/@vue_runtime-core@3.5.22/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.cjs +0 -4204
  34. package/dist/cjs/node_modules/.bun/@vue_runtime-core@3.5.22/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.cjs.map +0 -1
  35. package/dist/cjs/node_modules/.bun/@vue_runtime-core@3.5.22/node_modules/@vue/runtime-core/index.cjs +0 -18
  36. package/dist/cjs/node_modules/.bun/@vue_runtime-core@3.5.22/node_modules/@vue/runtime-core/index.cjs.map +0 -1
  37. package/dist/cjs/node_modules/.bun/@vue_runtime-dom@3.5.22/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.cjs +0 -1373
  38. package/dist/cjs/node_modules/.bun/@vue_runtime-dom@3.5.22/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.cjs.map +0 -1
  39. package/dist/cjs/node_modules/.bun/@vue_runtime-dom@3.5.22/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.prod.cjs +0 -1270
  40. package/dist/cjs/node_modules/.bun/@vue_runtime-dom@3.5.22/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.prod.cjs.map +0 -1
  41. package/dist/cjs/node_modules/.bun/@vue_runtime-dom@3.5.22/node_modules/@vue/runtime-dom/index.cjs +0 -18
  42. package/dist/cjs/node_modules/.bun/@vue_runtime-dom@3.5.22/node_modules/@vue/runtime-dom/index.cjs.map +0 -1
  43. package/dist/cjs/node_modules/.bun/@vue_shared@3.5.22/node_modules/@vue/shared/dist/shared.cjs.cjs +0 -44
  44. package/dist/cjs/node_modules/.bun/@vue_shared@3.5.22/node_modules/@vue/shared/dist/shared.cjs.cjs.map +0 -1
  45. package/dist/cjs/node_modules/.bun/@vue_shared@3.5.22/node_modules/@vue/shared/dist/shared.cjs.prod.cjs +0 -491
  46. package/dist/cjs/node_modules/.bun/@vue_shared@3.5.22/node_modules/@vue/shared/dist/shared.cjs.prod.cjs.map +0 -1
  47. package/dist/cjs/node_modules/.bun/@vue_shared@3.5.22/node_modules/@vue/shared/index.cjs +0 -18
  48. package/dist/cjs/node_modules/.bun/@vue_shared@3.5.22/node_modules/@vue/shared/index.cjs.map +0 -1
  49. package/dist/cjs/node_modules/.bun/entities@4.5.0/node_modules/entities/lib/decode.cjs +0 -474
  50. package/dist/cjs/node_modules/.bun/entities@4.5.0/node_modules/entities/lib/decode.cjs.map +0 -1
  51. package/dist/cjs/node_modules/.bun/entities@4.5.0/node_modules/entities/lib/decode_codepoint.cjs +0 -82
  52. package/dist/cjs/node_modules/.bun/entities@4.5.0/node_modules/entities/lib/decode_codepoint.cjs.map +0 -1
  53. package/dist/cjs/node_modules/.bun/entities@4.5.0/node_modules/entities/lib/generated/decode-data-html.cjs +0 -18
  54. package/dist/cjs/node_modules/.bun/entities@4.5.0/node_modules/entities/lib/generated/decode-data-html.cjs.map +0 -1
  55. package/dist/cjs/node_modules/.bun/entities@4.5.0/node_modules/entities/lib/generated/decode-data-xml.cjs +0 -18
  56. package/dist/cjs/node_modules/.bun/entities@4.5.0/node_modules/entities/lib/generated/decode-data-xml.cjs.map +0 -1
  57. package/dist/cjs/node_modules/.bun/estree-walker@2.0.2/node_modules/estree-walker/dist/umd/estree-walker.cjs +0 -255
  58. package/dist/cjs/node_modules/.bun/estree-walker@2.0.2/node_modules/estree-walker/dist/umd/estree-walker.cjs.map +0 -1
  59. package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/array-set.cjs +0 -103
  60. package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/array-set.cjs.map +0 -1
  61. package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/base64-vlq.cjs +0 -76
  62. package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/base64-vlq.cjs.map +0 -1
  63. package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/base64.cjs +0 -44
  64. package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/base64.cjs.map +0 -1
  65. package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/binary-search.cjs +0 -71
  66. package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/binary-search.cjs.map +0 -1
  67. package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/mapping-list.cjs +0 -80
  68. package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/mapping-list.cjs.map +0 -1
  69. package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/quick-sort.cjs +0 -92
  70. package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/quick-sort.cjs.map +0 -1
  71. package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/source-map-consumer.cjs +0 -791
  72. package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/source-map-consumer.cjs.map +0 -1
  73. package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/source-map-generator.cjs +0 -298
  74. package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/source-map-generator.cjs.map +0 -1
  75. package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/source-node.cjs +0 -296
  76. package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/source-node.cjs.map +0 -1
  77. package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/util.cjs +0 -355
  78. package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/util.cjs.map +0 -1
  79. package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/source-map.cjs +0 -20
  80. package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/source-map.cjs.map +0 -1
  81. package/dist/cjs/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist-node/native.cjs +0 -10
  82. package/dist/cjs/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist-node/native.cjs.map +0 -1
  83. package/dist/cjs/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist-node/rng.cjs +0 -18
  84. package/dist/cjs/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist-node/rng.cjs.map +0 -1
  85. package/dist/cjs/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist-node/stringify.cjs +0 -11
  86. package/dist/cjs/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist-node/stringify.cjs.map +0 -1
  87. package/dist/cjs/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist-node/v4.cjs +0 -28
  88. package/dist/cjs/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist-node/v4.cjs.map +0 -1
  89. package/dist/cjs/node_modules/.bun/vue@3.5.22_e72aefb0f8d0b841/node_modules/vue/dist/vue.cjs.cjs +0 -65
  90. package/dist/cjs/node_modules/.bun/vue@3.5.22_e72aefb0f8d0b841/node_modules/vue/dist/vue.cjs.cjs.map +0 -1
  91. package/dist/cjs/node_modules/.bun/vue@3.5.22_e72aefb0f8d0b841/node_modules/vue/dist/vue.cjs.prod.cjs +0 -55
  92. package/dist/cjs/node_modules/.bun/vue@3.5.22_e72aefb0f8d0b841/node_modules/vue/dist/vue.cjs.prod.cjs.map +0 -1
  93. package/dist/cjs/node_modules/.bun/vue@3.5.22_e72aefb0f8d0b841/node_modules/vue/index.cjs +0 -18
  94. package/dist/cjs/node_modules/.bun/vue@3.5.22_e72aefb0f8d0b841/node_modules/vue/index.cjs.map +0 -1
  95. package/dist/cjs/node_modules/.bun/vue@3.5.22_e72aefb0f8d0b841/node_modules/vue/index2.cjs +0 -15
  96. package/dist/cjs/node_modules/.bun/vue@3.5.22_e72aefb0f8d0b841/node_modules/vue/index2.cjs.map +0 -1
  97. package/dist/esm/node_modules/.bun/@babel_parser@7.28.4/node_modules/@babel/parser/lib/index.mjs +0 -12491
  98. package/dist/esm/node_modules/.bun/@babel_parser@7.28.4/node_modules/@babel/parser/lib/index.mjs.map +0 -1
  99. package/dist/esm/node_modules/.bun/@vue_compiler-core@3.5.22/node_modules/@vue/compiler-core/dist/compiler-core.cjs.mjs +0 -2350
  100. package/dist/esm/node_modules/.bun/@vue_compiler-core@3.5.22/node_modules/@vue/compiler-core/dist/compiler-core.cjs.mjs.map +0 -1
  101. package/dist/esm/node_modules/.bun/@vue_compiler-core@3.5.22/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.mjs +0 -4748
  102. package/dist/esm/node_modules/.bun/@vue_compiler-core@3.5.22/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.mjs.map +0 -1
  103. package/dist/esm/node_modules/.bun/@vue_compiler-core@3.5.22/node_modules/@vue/compiler-core/index.mjs +0 -15
  104. package/dist/esm/node_modules/.bun/@vue_compiler-core@3.5.22/node_modules/@vue/compiler-core/index.mjs.map +0 -1
  105. package/dist/esm/node_modules/.bun/@vue_compiler-dom@3.5.22/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.mjs +0 -657
  106. package/dist/esm/node_modules/.bun/@vue_compiler-dom@3.5.22/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.mjs.map +0 -1
  107. package/dist/esm/node_modules/.bun/@vue_compiler-dom@3.5.22/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.mjs +0 -439
  108. package/dist/esm/node_modules/.bun/@vue_compiler-dom@3.5.22/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.mjs.map +0 -1
  109. package/dist/esm/node_modules/.bun/@vue_compiler-dom@3.5.22/node_modules/@vue/compiler-dom/index.mjs +0 -15
  110. package/dist/esm/node_modules/.bun/@vue_compiler-dom@3.5.22/node_modules/@vue/compiler-dom/index.mjs.map +0 -1
  111. package/dist/esm/node_modules/.bun/@vue_reactivity@3.5.22/node_modules/@vue/reactivity/dist/reactivity.cjs.mjs +0 -19
  112. package/dist/esm/node_modules/.bun/@vue_reactivity@3.5.22/node_modules/@vue/reactivity/dist/reactivity.cjs.mjs.map +0 -1
  113. package/dist/esm/node_modules/.bun/@vue_reactivity@3.5.22/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.mjs +0 -1454
  114. package/dist/esm/node_modules/.bun/@vue_reactivity@3.5.22/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.mjs.map +0 -1
  115. package/dist/esm/node_modules/.bun/@vue_reactivity@3.5.22/node_modules/@vue/reactivity/dist/reactivity.esm-bundler.mjs +0 -1312
  116. package/dist/esm/node_modules/.bun/@vue_reactivity@3.5.22/node_modules/@vue/reactivity/dist/reactivity.esm-bundler.mjs.map +0 -1
  117. package/dist/esm/node_modules/.bun/@vue_reactivity@3.5.22/node_modules/@vue/reactivity/index.mjs +0 -15
  118. package/dist/esm/node_modules/.bun/@vue_reactivity@3.5.22/node_modules/@vue/reactivity/index.mjs.map +0 -1
  119. package/dist/esm/node_modules/.bun/@vue_runtime-core@3.5.22/node_modules/@vue/runtime-core/dist/runtime-core.cjs.mjs +0 -867
  120. package/dist/esm/node_modules/.bun/@vue_runtime-core@3.5.22/node_modules/@vue/runtime-core/dist/runtime-core.cjs.mjs.map +0 -1
  121. package/dist/esm/node_modules/.bun/@vue_runtime-core@3.5.22/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.mjs +0 -4201
  122. package/dist/esm/node_modules/.bun/@vue_runtime-core@3.5.22/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.mjs.map +0 -1
  123. package/dist/esm/node_modules/.bun/@vue_runtime-core@3.5.22/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.mjs +0 -995
  124. package/dist/esm/node_modules/.bun/@vue_runtime-core@3.5.22/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.mjs.map +0 -1
  125. package/dist/esm/node_modules/.bun/@vue_runtime-core@3.5.22/node_modules/@vue/runtime-core/index.mjs +0 -15
  126. package/dist/esm/node_modules/.bun/@vue_runtime-core@3.5.22/node_modules/@vue/runtime-core/index.mjs.map +0 -1
  127. package/dist/esm/node_modules/.bun/@vue_runtime-dom@3.5.22/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.mjs +0 -1370
  128. package/dist/esm/node_modules/.bun/@vue_runtime-dom@3.5.22/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.mjs.map +0 -1
  129. package/dist/esm/node_modules/.bun/@vue_runtime-dom@3.5.22/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.prod.mjs +0 -1267
  130. package/dist/esm/node_modules/.bun/@vue_runtime-dom@3.5.22/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.prod.mjs.map +0 -1
  131. package/dist/esm/node_modules/.bun/@vue_runtime-dom@3.5.22/node_modules/@vue/runtime-dom/index.mjs +0 -15
  132. package/dist/esm/node_modules/.bun/@vue_runtime-dom@3.5.22/node_modules/@vue/runtime-dom/index.mjs.map +0 -1
  133. package/dist/esm/node_modules/.bun/@vue_shared@3.5.22/node_modules/@vue/shared/dist/shared.cjs.mjs +0 -41
  134. package/dist/esm/node_modules/.bun/@vue_shared@3.5.22/node_modules/@vue/shared/dist/shared.cjs.mjs.map +0 -1
  135. package/dist/esm/node_modules/.bun/@vue_shared@3.5.22/node_modules/@vue/shared/dist/shared.cjs.prod.mjs +0 -488
  136. package/dist/esm/node_modules/.bun/@vue_shared@3.5.22/node_modules/@vue/shared/dist/shared.cjs.prod.mjs.map +0 -1
  137. package/dist/esm/node_modules/.bun/@vue_shared@3.5.22/node_modules/@vue/shared/dist/shared.esm-bundler.mjs +0 -77
  138. package/dist/esm/node_modules/.bun/@vue_shared@3.5.22/node_modules/@vue/shared/dist/shared.esm-bundler.mjs.map +0 -1
  139. package/dist/esm/node_modules/.bun/@vue_shared@3.5.22/node_modules/@vue/shared/index.mjs +0 -15
  140. package/dist/esm/node_modules/.bun/@vue_shared@3.5.22/node_modules/@vue/shared/index.mjs.map +0 -1
  141. package/dist/esm/node_modules/.bun/entities@4.5.0/node_modules/entities/lib/decode.mjs +0 -471
  142. package/dist/esm/node_modules/.bun/entities@4.5.0/node_modules/entities/lib/decode.mjs.map +0 -1
  143. package/dist/esm/node_modules/.bun/entities@4.5.0/node_modules/entities/lib/decode_codepoint.mjs +0 -79
  144. package/dist/esm/node_modules/.bun/entities@4.5.0/node_modules/entities/lib/decode_codepoint.mjs.map +0 -1
  145. package/dist/esm/node_modules/.bun/entities@4.5.0/node_modules/entities/lib/generated/decode-data-html.mjs +0 -15
  146. package/dist/esm/node_modules/.bun/entities@4.5.0/node_modules/entities/lib/generated/decode-data-html.mjs.map +0 -1
  147. package/dist/esm/node_modules/.bun/entities@4.5.0/node_modules/entities/lib/generated/decode-data-xml.mjs +0 -15
  148. package/dist/esm/node_modules/.bun/entities@4.5.0/node_modules/entities/lib/generated/decode-data-xml.mjs.map +0 -1
  149. package/dist/esm/node_modules/.bun/estree-walker@2.0.2/node_modules/estree-walker/dist/umd/estree-walker.mjs +0 -252
  150. package/dist/esm/node_modules/.bun/estree-walker@2.0.2/node_modules/estree-walker/dist/umd/estree-walker.mjs.map +0 -1
  151. package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/array-set.mjs +0 -100
  152. package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/array-set.mjs.map +0 -1
  153. package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/base64-vlq.mjs +0 -73
  154. package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/base64-vlq.mjs.map +0 -1
  155. package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/base64.mjs +0 -41
  156. package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/base64.mjs.map +0 -1
  157. package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/binary-search.mjs +0 -68
  158. package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/binary-search.mjs.map +0 -1
  159. package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/mapping-list.mjs +0 -77
  160. package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/mapping-list.mjs.map +0 -1
  161. package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/quick-sort.mjs +0 -89
  162. package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/quick-sort.mjs.map +0 -1
  163. package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/source-map-consumer.mjs +0 -788
  164. package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/source-map-consumer.mjs.map +0 -1
  165. package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/source-map-generator.mjs +0 -295
  166. package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/source-map-generator.mjs.map +0 -1
  167. package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/source-node.mjs +0 -293
  168. package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/source-node.mjs.map +0 -1
  169. package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/util.mjs +0 -352
  170. package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/util.mjs.map +0 -1
  171. package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/source-map.mjs +0 -17
  172. package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/source-map.mjs.map +0 -1
  173. package/dist/esm/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist/native.mjs +0 -7
  174. package/dist/esm/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist/native.mjs.map +0 -1
  175. package/dist/esm/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist/rng.mjs +0 -14
  176. package/dist/esm/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist/rng.mjs.map +0 -1
  177. package/dist/esm/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist/stringify.mjs +0 -10
  178. package/dist/esm/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist/stringify.mjs.map +0 -1
  179. package/dist/esm/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist/v4.mjs +0 -28
  180. package/dist/esm/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist/v4.mjs.map +0 -1
  181. package/dist/esm/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist-node/native.mjs +0 -8
  182. package/dist/esm/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist-node/native.mjs.map +0 -1
  183. package/dist/esm/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist-node/rng.mjs +0 -16
  184. package/dist/esm/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist-node/rng.mjs.map +0 -1
  185. package/dist/esm/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist-node/stringify.mjs +0 -10
  186. package/dist/esm/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist-node/stringify.mjs.map +0 -1
  187. package/dist/esm/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist-node/v4.mjs +0 -28
  188. package/dist/esm/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist-node/v4.mjs.map +0 -1
  189. package/dist/esm/node_modules/.bun/vue@3.5.22_e72aefb0f8d0b841/node_modules/vue/dist/vue.cjs.mjs +0 -62
  190. package/dist/esm/node_modules/.bun/vue@3.5.22_e72aefb0f8d0b841/node_modules/vue/dist/vue.cjs.mjs.map +0 -1
  191. package/dist/esm/node_modules/.bun/vue@3.5.22_e72aefb0f8d0b841/node_modules/vue/dist/vue.cjs.prod.mjs +0 -52
  192. package/dist/esm/node_modules/.bun/vue@3.5.22_e72aefb0f8d0b841/node_modules/vue/dist/vue.cjs.prod.mjs.map +0 -1
  193. package/dist/esm/node_modules/.bun/vue@3.5.22_e72aefb0f8d0b841/node_modules/vue/dist/vue.runtime.esm-bundler.mjs +0 -12
  194. package/dist/esm/node_modules/.bun/vue@3.5.22_e72aefb0f8d0b841/node_modules/vue/dist/vue.runtime.esm-bundler.mjs.map +0 -1
  195. package/dist/esm/node_modules/.bun/vue@3.5.22_e72aefb0f8d0b841/node_modules/vue/index.mjs +0 -15
  196. package/dist/esm/node_modules/.bun/vue@3.5.22_e72aefb0f8d0b841/node_modules/vue/index.mjs.map +0 -1
  197. package/dist/esm/node_modules/.bun/vue@3.5.22_e72aefb0f8d0b841/node_modules/vue/index2.mjs +0 -10
  198. package/dist/esm/node_modules/.bun/vue@3.5.22_e72aefb0f8d0b841/node_modules/vue/index2.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"compiler-core.cjs.prod.cjs","names":["isComponent","stack","isReferenced"],"sources":["../../../../../../../../../../../node_modules/.bun/@vue+compiler-core@3.5.22/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js"],"sourcesContent":["/**\n* @vue/compiler-core v3.5.22\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar shared = require('@vue/shared');\nvar decode_js = require('entities/lib/decode.js');\nvar parser = require('@babel/parser');\nvar estreeWalker = require('estree-walker');\nvar sourceMapJs = require('source-map-js');\n\nconst FRAGMENT = Symbol(``);\nconst TELEPORT = Symbol(``);\nconst SUSPENSE = Symbol(``);\nconst KEEP_ALIVE = Symbol(``);\nconst BASE_TRANSITION = Symbol(\n ``\n);\nconst OPEN_BLOCK = Symbol(``);\nconst CREATE_BLOCK = Symbol(``);\nconst CREATE_ELEMENT_BLOCK = Symbol(\n ``\n);\nconst CREATE_VNODE = Symbol(``);\nconst CREATE_ELEMENT_VNODE = Symbol(\n ``\n);\nconst CREATE_COMMENT = Symbol(\n ``\n);\nconst CREATE_TEXT = Symbol(\n ``\n);\nconst CREATE_STATIC = Symbol(\n ``\n);\nconst RESOLVE_COMPONENT = Symbol(\n ``\n);\nconst RESOLVE_DYNAMIC_COMPONENT = Symbol(\n ``\n);\nconst RESOLVE_DIRECTIVE = Symbol(\n ``\n);\nconst RESOLVE_FILTER = Symbol(\n ``\n);\nconst WITH_DIRECTIVES = Symbol(\n ``\n);\nconst RENDER_LIST = Symbol(``);\nconst RENDER_SLOT = Symbol(``);\nconst CREATE_SLOTS = Symbol(``);\nconst TO_DISPLAY_STRING = Symbol(\n ``\n);\nconst MERGE_PROPS = Symbol(``);\nconst NORMALIZE_CLASS = Symbol(\n ``\n);\nconst NORMALIZE_STYLE = Symbol(\n ``\n);\nconst NORMALIZE_PROPS = Symbol(\n ``\n);\nconst GUARD_REACTIVE_PROPS = Symbol(\n ``\n);\nconst TO_HANDLERS = Symbol(``);\nconst CAMELIZE = Symbol(``);\nconst CAPITALIZE = Symbol(``);\nconst TO_HANDLER_KEY = Symbol(\n ``\n);\nconst SET_BLOCK_TRACKING = Symbol(\n ``\n);\nconst PUSH_SCOPE_ID = Symbol(``);\nconst POP_SCOPE_ID = Symbol(``);\nconst WITH_CTX = Symbol(``);\nconst UNREF = Symbol(``);\nconst IS_REF = Symbol(``);\nconst WITH_MEMO = Symbol(``);\nconst IS_MEMO_SAME = Symbol(``);\nconst helperNameMap = {\n [FRAGMENT]: `Fragment`,\n [TELEPORT]: `Teleport`,\n [SUSPENSE]: `Suspense`,\n [KEEP_ALIVE]: `KeepAlive`,\n [BASE_TRANSITION]: `BaseTransition`,\n [OPEN_BLOCK]: `openBlock`,\n [CREATE_BLOCK]: `createBlock`,\n [CREATE_ELEMENT_BLOCK]: `createElementBlock`,\n [CREATE_VNODE]: `createVNode`,\n [CREATE_ELEMENT_VNODE]: `createElementVNode`,\n [CREATE_COMMENT]: `createCommentVNode`,\n [CREATE_TEXT]: `createTextVNode`,\n [CREATE_STATIC]: `createStaticVNode`,\n [RESOLVE_COMPONENT]: `resolveComponent`,\n [RESOLVE_DYNAMIC_COMPONENT]: `resolveDynamicComponent`,\n [RESOLVE_DIRECTIVE]: `resolveDirective`,\n [RESOLVE_FILTER]: `resolveFilter`,\n [WITH_DIRECTIVES]: `withDirectives`,\n [RENDER_LIST]: `renderList`,\n [RENDER_SLOT]: `renderSlot`,\n [CREATE_SLOTS]: `createSlots`,\n [TO_DISPLAY_STRING]: `toDisplayString`,\n [MERGE_PROPS]: `mergeProps`,\n [NORMALIZE_CLASS]: `normalizeClass`,\n [NORMALIZE_STYLE]: `normalizeStyle`,\n [NORMALIZE_PROPS]: `normalizeProps`,\n [GUARD_REACTIVE_PROPS]: `guardReactiveProps`,\n [TO_HANDLERS]: `toHandlers`,\n [CAMELIZE]: `camelize`,\n [CAPITALIZE]: `capitalize`,\n [TO_HANDLER_KEY]: `toHandlerKey`,\n [SET_BLOCK_TRACKING]: `setBlockTracking`,\n [PUSH_SCOPE_ID]: `pushScopeId`,\n [POP_SCOPE_ID]: `popScopeId`,\n [WITH_CTX]: `withCtx`,\n [UNREF]: `unref`,\n [IS_REF]: `isRef`,\n [WITH_MEMO]: `withMemo`,\n [IS_MEMO_SAME]: `isMemoSame`\n};\nfunction registerRuntimeHelpers(helpers) {\n Object.getOwnPropertySymbols(helpers).forEach((s) => {\n helperNameMap[s] = helpers[s];\n });\n}\n\nconst Namespaces = {\n \"HTML\": 0,\n \"0\": \"HTML\",\n \"SVG\": 1,\n \"1\": \"SVG\",\n \"MATH_ML\": 2,\n \"2\": \"MATH_ML\"\n};\nconst NodeTypes = {\n \"ROOT\": 0,\n \"0\": \"ROOT\",\n \"ELEMENT\": 1,\n \"1\": \"ELEMENT\",\n \"TEXT\": 2,\n \"2\": \"TEXT\",\n \"COMMENT\": 3,\n \"3\": \"COMMENT\",\n \"SIMPLE_EXPRESSION\": 4,\n \"4\": \"SIMPLE_EXPRESSION\",\n \"INTERPOLATION\": 5,\n \"5\": \"INTERPOLATION\",\n \"ATTRIBUTE\": 6,\n \"6\": \"ATTRIBUTE\",\n \"DIRECTIVE\": 7,\n \"7\": \"DIRECTIVE\",\n \"COMPOUND_EXPRESSION\": 8,\n \"8\": \"COMPOUND_EXPRESSION\",\n \"IF\": 9,\n \"9\": \"IF\",\n \"IF_BRANCH\": 10,\n \"10\": \"IF_BRANCH\",\n \"FOR\": 11,\n \"11\": \"FOR\",\n \"TEXT_CALL\": 12,\n \"12\": \"TEXT_CALL\",\n \"VNODE_CALL\": 13,\n \"13\": \"VNODE_CALL\",\n \"JS_CALL_EXPRESSION\": 14,\n \"14\": \"JS_CALL_EXPRESSION\",\n \"JS_OBJECT_EXPRESSION\": 15,\n \"15\": \"JS_OBJECT_EXPRESSION\",\n \"JS_PROPERTY\": 16,\n \"16\": \"JS_PROPERTY\",\n \"JS_ARRAY_EXPRESSION\": 17,\n \"17\": \"JS_ARRAY_EXPRESSION\",\n \"JS_FUNCTION_EXPRESSION\": 18,\n \"18\": \"JS_FUNCTION_EXPRESSION\",\n \"JS_CONDITIONAL_EXPRESSION\": 19,\n \"19\": \"JS_CONDITIONAL_EXPRESSION\",\n \"JS_CACHE_EXPRESSION\": 20,\n \"20\": \"JS_CACHE_EXPRESSION\",\n \"JS_BLOCK_STATEMENT\": 21,\n \"21\": \"JS_BLOCK_STATEMENT\",\n \"JS_TEMPLATE_LITERAL\": 22,\n \"22\": \"JS_TEMPLATE_LITERAL\",\n \"JS_IF_STATEMENT\": 23,\n \"23\": \"JS_IF_STATEMENT\",\n \"JS_ASSIGNMENT_EXPRESSION\": 24,\n \"24\": \"JS_ASSIGNMENT_EXPRESSION\",\n \"JS_SEQUENCE_EXPRESSION\": 25,\n \"25\": \"JS_SEQUENCE_EXPRESSION\",\n \"JS_RETURN_STATEMENT\": 26,\n \"26\": \"JS_RETURN_STATEMENT\"\n};\nconst ElementTypes = {\n \"ELEMENT\": 0,\n \"0\": \"ELEMENT\",\n \"COMPONENT\": 1,\n \"1\": \"COMPONENT\",\n \"SLOT\": 2,\n \"2\": \"SLOT\",\n \"TEMPLATE\": 3,\n \"3\": \"TEMPLATE\"\n};\nconst ConstantTypes = {\n \"NOT_CONSTANT\": 0,\n \"0\": \"NOT_CONSTANT\",\n \"CAN_SKIP_PATCH\": 1,\n \"1\": \"CAN_SKIP_PATCH\",\n \"CAN_CACHE\": 2,\n \"2\": \"CAN_CACHE\",\n \"CAN_STRINGIFY\": 3,\n \"3\": \"CAN_STRINGIFY\"\n};\nconst locStub = {\n start: { line: 1, column: 1, offset: 0 },\n end: { line: 1, column: 1, offset: 0 },\n source: \"\"\n};\nfunction createRoot(children, source = \"\") {\n return {\n type: 0,\n source,\n children,\n helpers: /* @__PURE__ */ new Set(),\n components: [],\n directives: [],\n hoists: [],\n imports: [],\n cached: [],\n temps: 0,\n codegenNode: void 0,\n loc: locStub\n };\n}\nfunction createVNodeCall(context, tag, props, children, patchFlag, dynamicProps, directives, isBlock = false, disableTracking = false, isComponent = false, loc = locStub) {\n if (context) {\n if (isBlock) {\n context.helper(OPEN_BLOCK);\n context.helper(getVNodeBlockHelper(context.inSSR, isComponent));\n } else {\n context.helper(getVNodeHelper(context.inSSR, isComponent));\n }\n if (directives) {\n context.helper(WITH_DIRECTIVES);\n }\n }\n return {\n type: 13,\n tag,\n props,\n children,\n patchFlag,\n dynamicProps,\n directives,\n isBlock,\n disableTracking,\n isComponent,\n loc\n };\n}\nfunction createArrayExpression(elements, loc = locStub) {\n return {\n type: 17,\n loc,\n elements\n };\n}\nfunction createObjectExpression(properties, loc = locStub) {\n return {\n type: 15,\n loc,\n properties\n };\n}\nfunction createObjectProperty(key, value) {\n return {\n type: 16,\n loc: locStub,\n key: shared.isString(key) ? createSimpleExpression(key, true) : key,\n value\n };\n}\nfunction createSimpleExpression(content, isStatic = false, loc = locStub, constType = 0) {\n return {\n type: 4,\n loc,\n content,\n isStatic,\n constType: isStatic ? 3 : constType\n };\n}\nfunction createInterpolation(content, loc) {\n return {\n type: 5,\n loc,\n content: shared.isString(content) ? createSimpleExpression(content, false, loc) : content\n };\n}\nfunction createCompoundExpression(children, loc = locStub) {\n return {\n type: 8,\n loc,\n children\n };\n}\nfunction createCallExpression(callee, args = [], loc = locStub) {\n return {\n type: 14,\n loc,\n callee,\n arguments: args\n };\n}\nfunction createFunctionExpression(params, returns = void 0, newline = false, isSlot = false, loc = locStub) {\n return {\n type: 18,\n params,\n returns,\n newline,\n isSlot,\n loc\n };\n}\nfunction createConditionalExpression(test, consequent, alternate, newline = true) {\n return {\n type: 19,\n test,\n consequent,\n alternate,\n newline,\n loc: locStub\n };\n}\nfunction createCacheExpression(index, value, needPauseTracking = false, inVOnce = false) {\n return {\n type: 20,\n index,\n value,\n needPauseTracking,\n inVOnce,\n needArraySpread: false,\n loc: locStub\n };\n}\nfunction createBlockStatement(body) {\n return {\n type: 21,\n body,\n loc: locStub\n };\n}\nfunction createTemplateLiteral(elements) {\n return {\n type: 22,\n elements,\n loc: locStub\n };\n}\nfunction createIfStatement(test, consequent, alternate) {\n return {\n type: 23,\n test,\n consequent,\n alternate,\n loc: locStub\n };\n}\nfunction createAssignmentExpression(left, right) {\n return {\n type: 24,\n left,\n right,\n loc: locStub\n };\n}\nfunction createSequenceExpression(expressions) {\n return {\n type: 25,\n expressions,\n loc: locStub\n };\n}\nfunction createReturnStatement(returns) {\n return {\n type: 26,\n returns,\n loc: locStub\n };\n}\nfunction getVNodeHelper(ssr, isComponent) {\n return ssr || isComponent ? CREATE_VNODE : CREATE_ELEMENT_VNODE;\n}\nfunction getVNodeBlockHelper(ssr, isComponent) {\n return ssr || isComponent ? CREATE_BLOCK : CREATE_ELEMENT_BLOCK;\n}\nfunction convertToBlock(node, { helper, removeHelper, inSSR }) {\n if (!node.isBlock) {\n node.isBlock = true;\n removeHelper(getVNodeHelper(inSSR, node.isComponent));\n helper(OPEN_BLOCK);\n helper(getVNodeBlockHelper(inSSR, node.isComponent));\n }\n}\n\nconst defaultDelimitersOpen = new Uint8Array([123, 123]);\nconst defaultDelimitersClose = new Uint8Array([125, 125]);\nfunction isTagStartChar(c) {\n return c >= 97 && c <= 122 || c >= 65 && c <= 90;\n}\nfunction isWhitespace(c) {\n return c === 32 || c === 10 || c === 9 || c === 12 || c === 13;\n}\nfunction isEndOfTagSection(c) {\n return c === 47 || c === 62 || isWhitespace(c);\n}\nfunction toCharCodes(str) {\n const ret = new Uint8Array(str.length);\n for (let i = 0; i < str.length; i++) {\n ret[i] = str.charCodeAt(i);\n }\n return ret;\n}\nconst Sequences = {\n Cdata: new Uint8Array([67, 68, 65, 84, 65, 91]),\n // CDATA[\n CdataEnd: new Uint8Array([93, 93, 62]),\n // ]]>\n CommentEnd: new Uint8Array([45, 45, 62]),\n // `-->`\n ScriptEnd: new Uint8Array([60, 47, 115, 99, 114, 105, 112, 116]),\n // `<\\/script`\n StyleEnd: new Uint8Array([60, 47, 115, 116, 121, 108, 101]),\n // `</style`\n TitleEnd: new Uint8Array([60, 47, 116, 105, 116, 108, 101]),\n // `</title`\n TextareaEnd: new Uint8Array([\n 60,\n 47,\n 116,\n 101,\n 120,\n 116,\n 97,\n 114,\n 101,\n 97\n ])\n // `</textarea\n};\nclass Tokenizer {\n constructor(stack, cbs) {\n this.stack = stack;\n this.cbs = cbs;\n /** The current state the tokenizer is in. */\n this.state = 1;\n /** The read buffer. */\n this.buffer = \"\";\n /** The beginning of the section that is currently being read. */\n this.sectionStart = 0;\n /** The index within the buffer that we are currently looking at. */\n this.index = 0;\n /** The start of the last entity. */\n this.entityStart = 0;\n /** Some behavior, eg. when decoding entities, is done while we are in another state. This keeps track of the other state type. */\n this.baseState = 1;\n /** For special parsing behavior inside of script and style tags. */\n this.inRCDATA = false;\n /** For disabling RCDATA tags handling */\n this.inXML = false;\n /** For disabling interpolation parsing in v-pre */\n this.inVPre = false;\n /** Record newline positions for fast line / column calculation */\n this.newlines = [];\n this.mode = 0;\n this.delimiterOpen = defaultDelimitersOpen;\n this.delimiterClose = defaultDelimitersClose;\n this.delimiterIndex = -1;\n this.currentSequence = void 0;\n this.sequenceIndex = 0;\n {\n this.entityDecoder = new decode_js.EntityDecoder(\n decode_js.htmlDecodeTree,\n (cp, consumed) => this.emitCodePoint(cp, consumed)\n );\n }\n }\n get inSFCRoot() {\n return this.mode === 2 && this.stack.length === 0;\n }\n reset() {\n this.state = 1;\n this.mode = 0;\n this.buffer = \"\";\n this.sectionStart = 0;\n this.index = 0;\n this.baseState = 1;\n this.inRCDATA = false;\n this.currentSequence = void 0;\n this.newlines.length = 0;\n this.delimiterOpen = defaultDelimitersOpen;\n this.delimiterClose = defaultDelimitersClose;\n }\n /**\n * Generate Position object with line / column information using recorded\n * newline positions. We know the index is always going to be an already\n * processed index, so all the newlines up to this index should have been\n * recorded.\n */\n getPos(index) {\n let line = 1;\n let column = index + 1;\n for (let i = this.newlines.length - 1; i >= 0; i--) {\n const newlineIndex = this.newlines[i];\n if (index > newlineIndex) {\n line = i + 2;\n column = index - newlineIndex;\n break;\n }\n }\n return {\n column,\n line,\n offset: index\n };\n }\n peek() {\n return this.buffer.charCodeAt(this.index + 1);\n }\n stateText(c) {\n if (c === 60) {\n if (this.index > this.sectionStart) {\n this.cbs.ontext(this.sectionStart, this.index);\n }\n this.state = 5;\n this.sectionStart = this.index;\n } else if (c === 38) {\n this.startEntity();\n } else if (!this.inVPre && c === this.delimiterOpen[0]) {\n this.state = 2;\n this.delimiterIndex = 0;\n this.stateInterpolationOpen(c);\n }\n }\n stateInterpolationOpen(c) {\n if (c === this.delimiterOpen[this.delimiterIndex]) {\n if (this.delimiterIndex === this.delimiterOpen.length - 1) {\n const start = this.index + 1 - this.delimiterOpen.length;\n if (start > this.sectionStart) {\n this.cbs.ontext(this.sectionStart, start);\n }\n this.state = 3;\n this.sectionStart = start;\n } else {\n this.delimiterIndex++;\n }\n } else if (this.inRCDATA) {\n this.state = 32;\n this.stateInRCDATA(c);\n } else {\n this.state = 1;\n this.stateText(c);\n }\n }\n stateInterpolation(c) {\n if (c === this.delimiterClose[0]) {\n this.state = 4;\n this.delimiterIndex = 0;\n this.stateInterpolationClose(c);\n }\n }\n stateInterpolationClose(c) {\n if (c === this.delimiterClose[this.delimiterIndex]) {\n if (this.delimiterIndex === this.delimiterClose.length - 1) {\n this.cbs.oninterpolation(this.sectionStart, this.index + 1);\n if (this.inRCDATA) {\n this.state = 32;\n } else {\n this.state = 1;\n }\n this.sectionStart = this.index + 1;\n } else {\n this.delimiterIndex++;\n }\n } else {\n this.state = 3;\n this.stateInterpolation(c);\n }\n }\n stateSpecialStartSequence(c) {\n const isEnd = this.sequenceIndex === this.currentSequence.length;\n const isMatch = isEnd ? (\n // If we are at the end of the sequence, make sure the tag name has ended\n isEndOfTagSection(c)\n ) : (\n // Otherwise, do a case-insensitive comparison\n (c | 32) === this.currentSequence[this.sequenceIndex]\n );\n if (!isMatch) {\n this.inRCDATA = false;\n } else if (!isEnd) {\n this.sequenceIndex++;\n return;\n }\n this.sequenceIndex = 0;\n this.state = 6;\n this.stateInTagName(c);\n }\n /** Look for an end tag. For <title> and <textarea>, also decode entities. */\n stateInRCDATA(c) {\n if (this.sequenceIndex === this.currentSequence.length) {\n if (c === 62 || isWhitespace(c)) {\n const endOfText = this.index - this.currentSequence.length;\n if (this.sectionStart < endOfText) {\n const actualIndex = this.index;\n this.index = endOfText;\n this.cbs.ontext(this.sectionStart, endOfText);\n this.index = actualIndex;\n }\n this.sectionStart = endOfText + 2;\n this.stateInClosingTagName(c);\n this.inRCDATA = false;\n return;\n }\n this.sequenceIndex = 0;\n }\n if ((c | 32) === this.currentSequence[this.sequenceIndex]) {\n this.sequenceIndex += 1;\n } else if (this.sequenceIndex === 0) {\n if (this.currentSequence === Sequences.TitleEnd || this.currentSequence === Sequences.TextareaEnd && !this.inSFCRoot) {\n if (c === 38) {\n this.startEntity();\n } else if (!this.inVPre && c === this.delimiterOpen[0]) {\n this.state = 2;\n this.delimiterIndex = 0;\n this.stateInterpolationOpen(c);\n }\n } else if (this.fastForwardTo(60)) {\n this.sequenceIndex = 1;\n }\n } else {\n this.sequenceIndex = Number(c === 60);\n }\n }\n stateCDATASequence(c) {\n if (c === Sequences.Cdata[this.sequenceIndex]) {\n if (++this.sequenceIndex === Sequences.Cdata.length) {\n this.state = 28;\n this.currentSequence = Sequences.CdataEnd;\n this.sequenceIndex = 0;\n this.sectionStart = this.index + 1;\n }\n } else {\n this.sequenceIndex = 0;\n this.state = 23;\n this.stateInDeclaration(c);\n }\n }\n /**\n * When we wait for one specific character, we can speed things up\n * by skipping through the buffer until we find it.\n *\n * @returns Whether the character was found.\n */\n fastForwardTo(c) {\n while (++this.index < this.buffer.length) {\n const cc = this.buffer.charCodeAt(this.index);\n if (cc === 10) {\n this.newlines.push(this.index);\n }\n if (cc === c) {\n return true;\n }\n }\n this.index = this.buffer.length - 1;\n return false;\n }\n /**\n * Comments and CDATA end with `-->` and `]]>`.\n *\n * Their common qualities are:\n * - Their end sequences have a distinct character they start with.\n * - That character is then repeated, so we have to check multiple repeats.\n * - All characters but the start character of the sequence can be skipped.\n */\n stateInCommentLike(c) {\n if (c === this.currentSequence[this.sequenceIndex]) {\n if (++this.sequenceIndex === this.currentSequence.length) {\n if (this.currentSequence === Sequences.CdataEnd) {\n this.cbs.oncdata(this.sectionStart, this.index - 2);\n } else {\n this.cbs.oncomment(this.sectionStart, this.index - 2);\n }\n this.sequenceIndex = 0;\n this.sectionStart = this.index + 1;\n this.state = 1;\n }\n } else if (this.sequenceIndex === 0) {\n if (this.fastForwardTo(this.currentSequence[0])) {\n this.sequenceIndex = 1;\n }\n } else if (c !== this.currentSequence[this.sequenceIndex - 1]) {\n this.sequenceIndex = 0;\n }\n }\n startSpecial(sequence, offset) {\n this.enterRCDATA(sequence, offset);\n this.state = 31;\n }\n enterRCDATA(sequence, offset) {\n this.inRCDATA = true;\n this.currentSequence = sequence;\n this.sequenceIndex = offset;\n }\n stateBeforeTagName(c) {\n if (c === 33) {\n this.state = 22;\n this.sectionStart = this.index + 1;\n } else if (c === 63) {\n this.state = 24;\n this.sectionStart = this.index + 1;\n } else if (isTagStartChar(c)) {\n this.sectionStart = this.index;\n if (this.mode === 0) {\n this.state = 6;\n } else if (this.inSFCRoot) {\n this.state = 34;\n } else if (!this.inXML) {\n if (c === 116) {\n this.state = 30;\n } else {\n this.state = c === 115 ? 29 : 6;\n }\n } else {\n this.state = 6;\n }\n } else if (c === 47) {\n this.state = 8;\n } else {\n this.state = 1;\n this.stateText(c);\n }\n }\n stateInTagName(c) {\n if (isEndOfTagSection(c)) {\n this.handleTagName(c);\n }\n }\n stateInSFCRootTagName(c) {\n if (isEndOfTagSection(c)) {\n const tag = this.buffer.slice(this.sectionStart, this.index);\n if (tag !== \"template\") {\n this.enterRCDATA(toCharCodes(`</` + tag), 0);\n }\n this.handleTagName(c);\n }\n }\n handleTagName(c) {\n this.cbs.onopentagname(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.state = 11;\n this.stateBeforeAttrName(c);\n }\n stateBeforeClosingTagName(c) {\n if (isWhitespace(c)) ; else if (c === 62) {\n {\n this.cbs.onerr(14, this.index);\n }\n this.state = 1;\n this.sectionStart = this.index + 1;\n } else {\n this.state = isTagStartChar(c) ? 9 : 27;\n this.sectionStart = this.index;\n }\n }\n stateInClosingTagName(c) {\n if (c === 62 || isWhitespace(c)) {\n this.cbs.onclosetag(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.state = 10;\n this.stateAfterClosingTagName(c);\n }\n }\n stateAfterClosingTagName(c) {\n if (c === 62) {\n this.state = 1;\n this.sectionStart = this.index + 1;\n }\n }\n stateBeforeAttrName(c) {\n if (c === 62) {\n this.cbs.onopentagend(this.index);\n if (this.inRCDATA) {\n this.state = 32;\n } else {\n this.state = 1;\n }\n this.sectionStart = this.index + 1;\n } else if (c === 47) {\n this.state = 7;\n if (this.peek() !== 62) {\n this.cbs.onerr(22, this.index);\n }\n } else if (c === 60 && this.peek() === 47) {\n this.cbs.onopentagend(this.index);\n this.state = 5;\n this.sectionStart = this.index;\n } else if (!isWhitespace(c)) {\n if (c === 61) {\n this.cbs.onerr(\n 19,\n this.index\n );\n }\n this.handleAttrStart(c);\n }\n }\n handleAttrStart(c) {\n if (c === 118 && this.peek() === 45) {\n this.state = 13;\n this.sectionStart = this.index;\n } else if (c === 46 || c === 58 || c === 64 || c === 35) {\n this.cbs.ondirname(this.index, this.index + 1);\n this.state = 14;\n this.sectionStart = this.index + 1;\n } else {\n this.state = 12;\n this.sectionStart = this.index;\n }\n }\n stateInSelfClosingTag(c) {\n if (c === 62) {\n this.cbs.onselfclosingtag(this.index);\n this.state = 1;\n this.sectionStart = this.index + 1;\n this.inRCDATA = false;\n } else if (!isWhitespace(c)) {\n this.state = 11;\n this.stateBeforeAttrName(c);\n }\n }\n stateInAttrName(c) {\n if (c === 61 || isEndOfTagSection(c)) {\n this.cbs.onattribname(this.sectionStart, this.index);\n this.handleAttrNameEnd(c);\n } else if (c === 34 || c === 39 || c === 60) {\n this.cbs.onerr(\n 17,\n this.index\n );\n }\n }\n stateInDirName(c) {\n if (c === 61 || isEndOfTagSection(c)) {\n this.cbs.ondirname(this.sectionStart, this.index);\n this.handleAttrNameEnd(c);\n } else if (c === 58) {\n this.cbs.ondirname(this.sectionStart, this.index);\n this.state = 14;\n this.sectionStart = this.index + 1;\n } else if (c === 46) {\n this.cbs.ondirname(this.sectionStart, this.index);\n this.state = 16;\n this.sectionStart = this.index + 1;\n }\n }\n stateInDirArg(c) {\n if (c === 61 || isEndOfTagSection(c)) {\n this.cbs.ondirarg(this.sectionStart, this.index);\n this.handleAttrNameEnd(c);\n } else if (c === 91) {\n this.state = 15;\n } else if (c === 46) {\n this.cbs.ondirarg(this.sectionStart, this.index);\n this.state = 16;\n this.sectionStart = this.index + 1;\n }\n }\n stateInDynamicDirArg(c) {\n if (c === 93) {\n this.state = 14;\n } else if (c === 61 || isEndOfTagSection(c)) {\n this.cbs.ondirarg(this.sectionStart, this.index + 1);\n this.handleAttrNameEnd(c);\n {\n this.cbs.onerr(\n 27,\n this.index\n );\n }\n }\n }\n stateInDirModifier(c) {\n if (c === 61 || isEndOfTagSection(c)) {\n this.cbs.ondirmodifier(this.sectionStart, this.index);\n this.handleAttrNameEnd(c);\n } else if (c === 46) {\n this.cbs.ondirmodifier(this.sectionStart, this.index);\n this.sectionStart = this.index + 1;\n }\n }\n handleAttrNameEnd(c) {\n this.sectionStart = this.index;\n this.state = 17;\n this.cbs.onattribnameend(this.index);\n this.stateAfterAttrName(c);\n }\n stateAfterAttrName(c) {\n if (c === 61) {\n this.state = 18;\n } else if (c === 47 || c === 62) {\n this.cbs.onattribend(0, this.sectionStart);\n this.sectionStart = -1;\n this.state = 11;\n this.stateBeforeAttrName(c);\n } else if (!isWhitespace(c)) {\n this.cbs.onattribend(0, this.sectionStart);\n this.handleAttrStart(c);\n }\n }\n stateBeforeAttrValue(c) {\n if (c === 34) {\n this.state = 19;\n this.sectionStart = this.index + 1;\n } else if (c === 39) {\n this.state = 20;\n this.sectionStart = this.index + 1;\n } else if (!isWhitespace(c)) {\n this.sectionStart = this.index;\n this.state = 21;\n this.stateInAttrValueNoQuotes(c);\n }\n }\n handleInAttrValue(c, quote) {\n if (c === quote || false) {\n this.cbs.onattribdata(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.cbs.onattribend(\n quote === 34 ? 3 : 2,\n this.index + 1\n );\n this.state = 11;\n } else if (c === 38) {\n this.startEntity();\n }\n }\n stateInAttrValueDoubleQuotes(c) {\n this.handleInAttrValue(c, 34);\n }\n stateInAttrValueSingleQuotes(c) {\n this.handleInAttrValue(c, 39);\n }\n stateInAttrValueNoQuotes(c) {\n if (isWhitespace(c) || c === 62) {\n this.cbs.onattribdata(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.cbs.onattribend(1, this.index);\n this.state = 11;\n this.stateBeforeAttrName(c);\n } else if (c === 34 || c === 39 || c === 60 || c === 61 || c === 96) {\n this.cbs.onerr(\n 18,\n this.index\n );\n } else if (c === 38) {\n this.startEntity();\n }\n }\n stateBeforeDeclaration(c) {\n if (c === 91) {\n this.state = 26;\n this.sequenceIndex = 0;\n } else {\n this.state = c === 45 ? 25 : 23;\n }\n }\n stateInDeclaration(c) {\n if (c === 62 || this.fastForwardTo(62)) {\n this.state = 1;\n this.sectionStart = this.index + 1;\n }\n }\n stateInProcessingInstruction(c) {\n if (c === 62 || this.fastForwardTo(62)) {\n this.cbs.onprocessinginstruction(this.sectionStart, this.index);\n this.state = 1;\n this.sectionStart = this.index + 1;\n }\n }\n stateBeforeComment(c) {\n if (c === 45) {\n this.state = 28;\n this.currentSequence = Sequences.CommentEnd;\n this.sequenceIndex = 2;\n this.sectionStart = this.index + 1;\n } else {\n this.state = 23;\n }\n }\n stateInSpecialComment(c) {\n if (c === 62 || this.fastForwardTo(62)) {\n this.cbs.oncomment(this.sectionStart, this.index);\n this.state = 1;\n this.sectionStart = this.index + 1;\n }\n }\n stateBeforeSpecialS(c) {\n if (c === Sequences.ScriptEnd[3]) {\n this.startSpecial(Sequences.ScriptEnd, 4);\n } else if (c === Sequences.StyleEnd[3]) {\n this.startSpecial(Sequences.StyleEnd, 4);\n } else {\n this.state = 6;\n this.stateInTagName(c);\n }\n }\n stateBeforeSpecialT(c) {\n if (c === Sequences.TitleEnd[3]) {\n this.startSpecial(Sequences.TitleEnd, 4);\n } else if (c === Sequences.TextareaEnd[3]) {\n this.startSpecial(Sequences.TextareaEnd, 4);\n } else {\n this.state = 6;\n this.stateInTagName(c);\n }\n }\n startEntity() {\n {\n this.baseState = this.state;\n this.state = 33;\n this.entityStart = this.index;\n this.entityDecoder.startEntity(\n this.baseState === 1 || this.baseState === 32 ? decode_js.DecodingMode.Legacy : decode_js.DecodingMode.Attribute\n );\n }\n }\n stateInEntity() {\n {\n const length = this.entityDecoder.write(this.buffer, this.index);\n if (length >= 0) {\n this.state = this.baseState;\n if (length === 0) {\n this.index = this.entityStart;\n }\n } else {\n this.index = this.buffer.length - 1;\n }\n }\n }\n /**\n * Iterates through the buffer, calling the function corresponding to the current state.\n *\n * States that are more likely to be hit are higher up, as a performance improvement.\n */\n parse(input) {\n this.buffer = input;\n while (this.index < this.buffer.length) {\n const c = this.buffer.charCodeAt(this.index);\n if (c === 10 && this.state !== 33) {\n this.newlines.push(this.index);\n }\n switch (this.state) {\n case 1: {\n this.stateText(c);\n break;\n }\n case 2: {\n this.stateInterpolationOpen(c);\n break;\n }\n case 3: {\n this.stateInterpolation(c);\n break;\n }\n case 4: {\n this.stateInterpolationClose(c);\n break;\n }\n case 31: {\n this.stateSpecialStartSequence(c);\n break;\n }\n case 32: {\n this.stateInRCDATA(c);\n break;\n }\n case 26: {\n this.stateCDATASequence(c);\n break;\n }\n case 19: {\n this.stateInAttrValueDoubleQuotes(c);\n break;\n }\n case 12: {\n this.stateInAttrName(c);\n break;\n }\n case 13: {\n this.stateInDirName(c);\n break;\n }\n case 14: {\n this.stateInDirArg(c);\n break;\n }\n case 15: {\n this.stateInDynamicDirArg(c);\n break;\n }\n case 16: {\n this.stateInDirModifier(c);\n break;\n }\n case 28: {\n this.stateInCommentLike(c);\n break;\n }\n case 27: {\n this.stateInSpecialComment(c);\n break;\n }\n case 11: {\n this.stateBeforeAttrName(c);\n break;\n }\n case 6: {\n this.stateInTagName(c);\n break;\n }\n case 34: {\n this.stateInSFCRootTagName(c);\n break;\n }\n case 9: {\n this.stateInClosingTagName(c);\n break;\n }\n case 5: {\n this.stateBeforeTagName(c);\n break;\n }\n case 17: {\n this.stateAfterAttrName(c);\n break;\n }\n case 20: {\n this.stateInAttrValueSingleQuotes(c);\n break;\n }\n case 18: {\n this.stateBeforeAttrValue(c);\n break;\n }\n case 8: {\n this.stateBeforeClosingTagName(c);\n break;\n }\n case 10: {\n this.stateAfterClosingTagName(c);\n break;\n }\n case 29: {\n this.stateBeforeSpecialS(c);\n break;\n }\n case 30: {\n this.stateBeforeSpecialT(c);\n break;\n }\n case 21: {\n this.stateInAttrValueNoQuotes(c);\n break;\n }\n case 7: {\n this.stateInSelfClosingTag(c);\n break;\n }\n case 23: {\n this.stateInDeclaration(c);\n break;\n }\n case 22: {\n this.stateBeforeDeclaration(c);\n break;\n }\n case 25: {\n this.stateBeforeComment(c);\n break;\n }\n case 24: {\n this.stateInProcessingInstruction(c);\n break;\n }\n case 33: {\n this.stateInEntity();\n break;\n }\n }\n this.index++;\n }\n this.cleanup();\n this.finish();\n }\n /**\n * Remove data that has already been consumed from the buffer.\n */\n cleanup() {\n if (this.sectionStart !== this.index) {\n if (this.state === 1 || this.state === 32 && this.sequenceIndex === 0) {\n this.cbs.ontext(this.sectionStart, this.index);\n this.sectionStart = this.index;\n } else if (this.state === 19 || this.state === 20 || this.state === 21) {\n this.cbs.onattribdata(this.sectionStart, this.index);\n this.sectionStart = this.index;\n }\n }\n }\n finish() {\n if (this.state === 33) {\n this.entityDecoder.end();\n this.state = this.baseState;\n }\n this.handleTrailingData();\n this.cbs.onend();\n }\n /** Handle any trailing data. */\n handleTrailingData() {\n const endIndex = this.buffer.length;\n if (this.sectionStart >= endIndex) {\n return;\n }\n if (this.state === 28) {\n if (this.currentSequence === Sequences.CdataEnd) {\n this.cbs.oncdata(this.sectionStart, endIndex);\n } else {\n this.cbs.oncomment(this.sectionStart, endIndex);\n }\n } else if (this.state === 6 || this.state === 11 || this.state === 18 || this.state === 17 || this.state === 12 || this.state === 13 || this.state === 14 || this.state === 15 || this.state === 16 || this.state === 20 || this.state === 19 || this.state === 21 || this.state === 9) ; else {\n this.cbs.ontext(this.sectionStart, endIndex);\n }\n }\n emitCodePoint(cp, consumed) {\n {\n if (this.baseState !== 1 && this.baseState !== 32) {\n if (this.sectionStart < this.entityStart) {\n this.cbs.onattribdata(this.sectionStart, this.entityStart);\n }\n this.sectionStart = this.entityStart + consumed;\n this.index = this.sectionStart - 1;\n this.cbs.onattribentity(\n decode_js.fromCodePoint(cp),\n this.entityStart,\n this.sectionStart\n );\n } else {\n if (this.sectionStart < this.entityStart) {\n this.cbs.ontext(this.sectionStart, this.entityStart);\n }\n this.sectionStart = this.entityStart + consumed;\n this.index = this.sectionStart - 1;\n this.cbs.ontextentity(\n decode_js.fromCodePoint(cp),\n this.entityStart,\n this.sectionStart\n );\n }\n }\n }\n}\n\nconst CompilerDeprecationTypes = {\n \"COMPILER_IS_ON_ELEMENT\": \"COMPILER_IS_ON_ELEMENT\",\n \"COMPILER_V_BIND_SYNC\": \"COMPILER_V_BIND_SYNC\",\n \"COMPILER_V_BIND_OBJECT_ORDER\": \"COMPILER_V_BIND_OBJECT_ORDER\",\n \"COMPILER_V_ON_NATIVE\": \"COMPILER_V_ON_NATIVE\",\n \"COMPILER_V_IF_V_FOR_PRECEDENCE\": \"COMPILER_V_IF_V_FOR_PRECEDENCE\",\n \"COMPILER_NATIVE_TEMPLATE\": \"COMPILER_NATIVE_TEMPLATE\",\n \"COMPILER_INLINE_TEMPLATE\": \"COMPILER_INLINE_TEMPLATE\",\n \"COMPILER_FILTERS\": \"COMPILER_FILTERS\"\n};\nconst deprecationData = {\n [\"COMPILER_IS_ON_ELEMENT\"]: {\n message: `Platform-native elements with \"is\" prop will no longer be treated as components in Vue 3 unless the \"is\" value is explicitly prefixed with \"vue:\".`,\n link: `https://v3-migration.vuejs.org/breaking-changes/custom-elements-interop.html`\n },\n [\"COMPILER_V_BIND_SYNC\"]: {\n message: (key) => `.sync modifier for v-bind has been removed. Use v-model with argument instead. \\`v-bind:${key}.sync\\` should be changed to \\`v-model:${key}\\`.`,\n link: `https://v3-migration.vuejs.org/breaking-changes/v-model.html`\n },\n [\"COMPILER_V_BIND_OBJECT_ORDER\"]: {\n message: `v-bind=\"obj\" usage is now order sensitive and behaves like JavaScript object spread: it will now overwrite an existing non-mergeable attribute that appears before v-bind in the case of conflict. To retain 2.x behavior, move v-bind to make it the first attribute. You can also suppress this warning if the usage is intended.`,\n link: `https://v3-migration.vuejs.org/breaking-changes/v-bind.html`\n },\n [\"COMPILER_V_ON_NATIVE\"]: {\n message: `.native modifier for v-on has been removed as is no longer necessary.`,\n link: `https://v3-migration.vuejs.org/breaking-changes/v-on-native-modifier-removed.html`\n },\n [\"COMPILER_V_IF_V_FOR_PRECEDENCE\"]: {\n message: `v-if / v-for precedence when used on the same element has changed in Vue 3: v-if now takes higher precedence and will no longer have access to v-for scope variables. It is best to avoid the ambiguity with <template> tags or use a computed property that filters v-for data source.`,\n link: `https://v3-migration.vuejs.org/breaking-changes/v-if-v-for.html`\n },\n [\"COMPILER_NATIVE_TEMPLATE\"]: {\n message: `<template> with no special directives will render as a native template element instead of its inner content in Vue 3.`\n },\n [\"COMPILER_INLINE_TEMPLATE\"]: {\n message: `\"inline-template\" has been removed in Vue 3.`,\n link: `https://v3-migration.vuejs.org/breaking-changes/inline-template-attribute.html`\n },\n [\"COMPILER_FILTERS\"]: {\n message: `filters have been removed in Vue 3. The \"|\" symbol will be treated as native JavaScript bitwise OR operator. Use method calls or computed properties instead.`,\n link: `https://v3-migration.vuejs.org/breaking-changes/filters.html`\n }\n};\nfunction getCompatValue(key, { compatConfig }) {\n const value = compatConfig && compatConfig[key];\n if (key === \"MODE\") {\n return value || 3;\n } else {\n return value;\n }\n}\nfunction isCompatEnabled(key, context) {\n const mode = getCompatValue(\"MODE\", context);\n const value = getCompatValue(key, context);\n return mode === 3 ? value === true : value !== false;\n}\nfunction checkCompatEnabled(key, context, loc, ...args) {\n const enabled = isCompatEnabled(key, context);\n return enabled;\n}\nfunction warnDeprecation(key, context, loc, ...args) {\n const val = getCompatValue(key, context);\n if (val === \"suppress-warning\") {\n return;\n }\n const { message, link } = deprecationData[key];\n const msg = `(deprecation ${key}) ${typeof message === \"function\" ? message(...args) : message}${link ? `\n Details: ${link}` : ``}`;\n const err = new SyntaxError(msg);\n err.code = key;\n if (loc) err.loc = loc;\n context.onWarn(err);\n}\n\nfunction defaultOnError(error) {\n throw error;\n}\nfunction defaultOnWarn(msg) {\n}\nfunction createCompilerError(code, loc, messages, additionalMessage) {\n const msg = (messages || errorMessages)[code] + (additionalMessage || ``) ;\n const error = new SyntaxError(String(msg));\n error.code = code;\n error.loc = loc;\n return error;\n}\nconst ErrorCodes = {\n \"ABRUPT_CLOSING_OF_EMPTY_COMMENT\": 0,\n \"0\": \"ABRUPT_CLOSING_OF_EMPTY_COMMENT\",\n \"CDATA_IN_HTML_CONTENT\": 1,\n \"1\": \"CDATA_IN_HTML_CONTENT\",\n \"DUPLICATE_ATTRIBUTE\": 2,\n \"2\": \"DUPLICATE_ATTRIBUTE\",\n \"END_TAG_WITH_ATTRIBUTES\": 3,\n \"3\": \"END_TAG_WITH_ATTRIBUTES\",\n \"END_TAG_WITH_TRAILING_SOLIDUS\": 4,\n \"4\": \"END_TAG_WITH_TRAILING_SOLIDUS\",\n \"EOF_BEFORE_TAG_NAME\": 5,\n \"5\": \"EOF_BEFORE_TAG_NAME\",\n \"EOF_IN_CDATA\": 6,\n \"6\": \"EOF_IN_CDATA\",\n \"EOF_IN_COMMENT\": 7,\n \"7\": \"EOF_IN_COMMENT\",\n \"EOF_IN_SCRIPT_HTML_COMMENT_LIKE_TEXT\": 8,\n \"8\": \"EOF_IN_SCRIPT_HTML_COMMENT_LIKE_TEXT\",\n \"EOF_IN_TAG\": 9,\n \"9\": \"EOF_IN_TAG\",\n \"INCORRECTLY_CLOSED_COMMENT\": 10,\n \"10\": \"INCORRECTLY_CLOSED_COMMENT\",\n \"INCORRECTLY_OPENED_COMMENT\": 11,\n \"11\": \"INCORRECTLY_OPENED_COMMENT\",\n \"INVALID_FIRST_CHARACTER_OF_TAG_NAME\": 12,\n \"12\": \"INVALID_FIRST_CHARACTER_OF_TAG_NAME\",\n \"MISSING_ATTRIBUTE_VALUE\": 13,\n \"13\": \"MISSING_ATTRIBUTE_VALUE\",\n \"MISSING_END_TAG_NAME\": 14,\n \"14\": \"MISSING_END_TAG_NAME\",\n \"MISSING_WHITESPACE_BETWEEN_ATTRIBUTES\": 15,\n \"15\": \"MISSING_WHITESPACE_BETWEEN_ATTRIBUTES\",\n \"NESTED_COMMENT\": 16,\n \"16\": \"NESTED_COMMENT\",\n \"UNEXPECTED_CHARACTER_IN_ATTRIBUTE_NAME\": 17,\n \"17\": \"UNEXPECTED_CHARACTER_IN_ATTRIBUTE_NAME\",\n \"UNEXPECTED_CHARACTER_IN_UNQUOTED_ATTRIBUTE_VALUE\": 18,\n \"18\": \"UNEXPECTED_CHARACTER_IN_UNQUOTED_ATTRIBUTE_VALUE\",\n \"UNEXPECTED_EQUALS_SIGN_BEFORE_ATTRIBUTE_NAME\": 19,\n \"19\": \"UNEXPECTED_EQUALS_SIGN_BEFORE_ATTRIBUTE_NAME\",\n \"UNEXPECTED_NULL_CHARACTER\": 20,\n \"20\": \"UNEXPECTED_NULL_CHARACTER\",\n \"UNEXPECTED_QUESTION_MARK_INSTEAD_OF_TAG_NAME\": 21,\n \"21\": \"UNEXPECTED_QUESTION_MARK_INSTEAD_OF_TAG_NAME\",\n \"UNEXPECTED_SOLIDUS_IN_TAG\": 22,\n \"22\": \"UNEXPECTED_SOLIDUS_IN_TAG\",\n \"X_INVALID_END_TAG\": 23,\n \"23\": \"X_INVALID_END_TAG\",\n \"X_MISSING_END_TAG\": 24,\n \"24\": \"X_MISSING_END_TAG\",\n \"X_MISSING_INTERPOLATION_END\": 25,\n \"25\": \"X_MISSING_INTERPOLATION_END\",\n \"X_MISSING_DIRECTIVE_NAME\": 26,\n \"26\": \"X_MISSING_DIRECTIVE_NAME\",\n \"X_MISSING_DYNAMIC_DIRECTIVE_ARGUMENT_END\": 27,\n \"27\": \"X_MISSING_DYNAMIC_DIRECTIVE_ARGUMENT_END\",\n \"X_V_IF_NO_EXPRESSION\": 28,\n \"28\": \"X_V_IF_NO_EXPRESSION\",\n \"X_V_IF_SAME_KEY\": 29,\n \"29\": \"X_V_IF_SAME_KEY\",\n \"X_V_ELSE_NO_ADJACENT_IF\": 30,\n \"30\": \"X_V_ELSE_NO_ADJACENT_IF\",\n \"X_V_FOR_NO_EXPRESSION\": 31,\n \"31\": \"X_V_FOR_NO_EXPRESSION\",\n \"X_V_FOR_MALFORMED_EXPRESSION\": 32,\n \"32\": \"X_V_FOR_MALFORMED_EXPRESSION\",\n \"X_V_FOR_TEMPLATE_KEY_PLACEMENT\": 33,\n \"33\": \"X_V_FOR_TEMPLATE_KEY_PLACEMENT\",\n \"X_V_BIND_NO_EXPRESSION\": 34,\n \"34\": \"X_V_BIND_NO_EXPRESSION\",\n \"X_V_ON_NO_EXPRESSION\": 35,\n \"35\": \"X_V_ON_NO_EXPRESSION\",\n \"X_V_SLOT_UNEXPECTED_DIRECTIVE_ON_SLOT_OUTLET\": 36,\n \"36\": \"X_V_SLOT_UNEXPECTED_DIRECTIVE_ON_SLOT_OUTLET\",\n \"X_V_SLOT_MIXED_SLOT_USAGE\": 37,\n \"37\": \"X_V_SLOT_MIXED_SLOT_USAGE\",\n \"X_V_SLOT_DUPLICATE_SLOT_NAMES\": 38,\n \"38\": \"X_V_SLOT_DUPLICATE_SLOT_NAMES\",\n \"X_V_SLOT_EXTRANEOUS_DEFAULT_SLOT_CHILDREN\": 39,\n \"39\": \"X_V_SLOT_EXTRANEOUS_DEFAULT_SLOT_CHILDREN\",\n \"X_V_SLOT_MISPLACED\": 40,\n \"40\": \"X_V_SLOT_MISPLACED\",\n \"X_V_MODEL_NO_EXPRESSION\": 41,\n \"41\": \"X_V_MODEL_NO_EXPRESSION\",\n \"X_V_MODEL_MALFORMED_EXPRESSION\": 42,\n \"42\": \"X_V_MODEL_MALFORMED_EXPRESSION\",\n \"X_V_MODEL_ON_SCOPE_VARIABLE\": 43,\n \"43\": \"X_V_MODEL_ON_SCOPE_VARIABLE\",\n \"X_V_MODEL_ON_PROPS\": 44,\n \"44\": \"X_V_MODEL_ON_PROPS\",\n \"X_INVALID_EXPRESSION\": 45,\n \"45\": \"X_INVALID_EXPRESSION\",\n \"X_KEEP_ALIVE_INVALID_CHILDREN\": 46,\n \"46\": \"X_KEEP_ALIVE_INVALID_CHILDREN\",\n \"X_PREFIX_ID_NOT_SUPPORTED\": 47,\n \"47\": \"X_PREFIX_ID_NOT_SUPPORTED\",\n \"X_MODULE_MODE_NOT_SUPPORTED\": 48,\n \"48\": \"X_MODULE_MODE_NOT_SUPPORTED\",\n \"X_CACHE_HANDLER_NOT_SUPPORTED\": 49,\n \"49\": \"X_CACHE_HANDLER_NOT_SUPPORTED\",\n \"X_SCOPE_ID_NOT_SUPPORTED\": 50,\n \"50\": \"X_SCOPE_ID_NOT_SUPPORTED\",\n \"X_VNODE_HOOKS\": 51,\n \"51\": \"X_VNODE_HOOKS\",\n \"X_V_BIND_INVALID_SAME_NAME_ARGUMENT\": 52,\n \"52\": \"X_V_BIND_INVALID_SAME_NAME_ARGUMENT\",\n \"__EXTEND_POINT__\": 53,\n \"53\": \"__EXTEND_POINT__\"\n};\nconst errorMessages = {\n // parse errors\n [0]: \"Illegal comment.\",\n [1]: \"CDATA section is allowed only in XML context.\",\n [2]: \"Duplicate attribute.\",\n [3]: \"End tag cannot have attributes.\",\n [4]: \"Illegal '/' in tags.\",\n [5]: \"Unexpected EOF in tag.\",\n [6]: \"Unexpected EOF in CDATA section.\",\n [7]: \"Unexpected EOF in comment.\",\n [8]: \"Unexpected EOF in script.\",\n [9]: \"Unexpected EOF in tag.\",\n [10]: \"Incorrectly closed comment.\",\n [11]: \"Incorrectly opened comment.\",\n [12]: \"Illegal tag name. Use '&lt;' to print '<'.\",\n [13]: \"Attribute value was expected.\",\n [14]: \"End tag name was expected.\",\n [15]: \"Whitespace was expected.\",\n [16]: \"Unexpected '<!--' in comment.\",\n [17]: `Attribute name cannot contain U+0022 (\"), U+0027 ('), and U+003C (<).`,\n [18]: \"Unquoted attribute value cannot contain U+0022 (\\\"), U+0027 ('), U+003C (<), U+003D (=), and U+0060 (`).\",\n [19]: \"Attribute name cannot start with '='.\",\n [21]: \"'<?' is allowed only in XML context.\",\n [20]: `Unexpected null character.`,\n [22]: \"Illegal '/' in tags.\",\n // Vue-specific parse errors\n [23]: \"Invalid end tag.\",\n [24]: \"Element is missing end tag.\",\n [25]: \"Interpolation end sign was not found.\",\n [27]: \"End bracket for dynamic directive argument was not found. Note that dynamic directive argument cannot contain spaces.\",\n [26]: \"Legal directive name was expected.\",\n // transform errors\n [28]: `v-if/v-else-if is missing expression.`,\n [29]: `v-if/else branches must use unique keys.`,\n [30]: `v-else/v-else-if has no adjacent v-if or v-else-if.`,\n [31]: `v-for is missing expression.`,\n [32]: `v-for has invalid expression.`,\n [33]: `<template v-for> key should be placed on the <template> tag.`,\n [34]: `v-bind is missing expression.`,\n [52]: `v-bind with same-name shorthand only allows static argument.`,\n [35]: `v-on is missing expression.`,\n [36]: `Unexpected custom directive on <slot> outlet.`,\n [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.`,\n [38]: `Duplicate slot names found. `,\n [39]: `Extraneous children found when component already has explicitly named default slot. These children will be ignored.`,\n [40]: `v-slot can only be used on components or <template> tags.`,\n [41]: `v-model is missing expression.`,\n [42]: `v-model value must be a valid JavaScript member expression.`,\n [43]: `v-model cannot be used on v-for or v-slot scope variables because they are not writable.`,\n [44]: `v-model cannot be used on a prop, because local prop bindings are not writable.\nUse a v-bind binding combined with a v-on listener that emits update:x event instead.`,\n [45]: `Error parsing JavaScript expression: `,\n [46]: `<KeepAlive> expects exactly one child component.`,\n [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.`,\n // generic errors\n [47]: `\"prefixIdentifiers\" option is not supported in this build of compiler.`,\n [48]: `ES module mode is not supported in this build of compiler.`,\n [49]: `\"cacheHandlers\" option is only supported when the \"prefixIdentifiers\" option is enabled.`,\n [50]: `\"scopeId\" option is only supported in module mode.`,\n // just to fulfill types\n [53]: ``\n};\n\nfunction walkIdentifiers(root, onIdentifier, includeAll = false, parentStack = [], knownIds = /* @__PURE__ */ Object.create(null)) {\n const rootExp = root.type === \"Program\" ? root.body[0].type === \"ExpressionStatement\" && root.body[0].expression : root;\n estreeWalker.walk(root, {\n enter(node, parent) {\n parent && parentStack.push(parent);\n if (parent && parent.type.startsWith(\"TS\") && !TS_NODE_TYPES.includes(parent.type)) {\n return this.skip();\n }\n if (node.type === \"Identifier\") {\n const isLocal = !!knownIds[node.name];\n const isRefed = isReferencedIdentifier(node, parent, parentStack);\n if (includeAll || isRefed && !isLocal) {\n onIdentifier(node, parent, parentStack, isRefed, isLocal);\n }\n } else if (node.type === \"ObjectProperty\" && // eslint-disable-next-line no-restricted-syntax\n (parent == null ? void 0 : parent.type) === \"ObjectPattern\") {\n node.inPattern = true;\n } else if (isFunctionType(node)) {\n if (node.scopeIds) {\n node.scopeIds.forEach((id) => markKnownIds(id, knownIds));\n } else {\n walkFunctionParams(\n node,\n (id) => markScopeIdentifier(node, id, knownIds)\n );\n }\n } else if (node.type === \"BlockStatement\") {\n if (node.scopeIds) {\n node.scopeIds.forEach((id) => markKnownIds(id, knownIds));\n } else {\n walkBlockDeclarations(\n node,\n (id) => markScopeIdentifier(node, id, knownIds)\n );\n }\n } else if (node.type === \"SwitchStatement\") {\n if (node.scopeIds) {\n node.scopeIds.forEach((id) => markKnownIds(id, knownIds));\n } else {\n walkSwitchStatement(\n node,\n false,\n (id) => markScopeIdentifier(node, id, knownIds)\n );\n }\n } else if (node.type === \"CatchClause\" && node.param) {\n if (node.scopeIds) {\n node.scopeIds.forEach((id) => markKnownIds(id, knownIds));\n } else {\n for (const id of extractIdentifiers(node.param)) {\n markScopeIdentifier(node, id, knownIds);\n }\n }\n } else if (isForStatement(node)) {\n if (node.scopeIds) {\n node.scopeIds.forEach((id) => markKnownIds(id, knownIds));\n } else {\n walkForStatement(\n node,\n false,\n (id) => markScopeIdentifier(node, id, knownIds)\n );\n }\n }\n },\n leave(node, parent) {\n parent && parentStack.pop();\n if (node !== rootExp && node.scopeIds) {\n for (const id of node.scopeIds) {\n knownIds[id]--;\n if (knownIds[id] === 0) {\n delete knownIds[id];\n }\n }\n }\n }\n });\n}\nfunction isReferencedIdentifier(id, parent, parentStack) {\n if (!parent) {\n return true;\n }\n if (id.name === \"arguments\") {\n return false;\n }\n if (isReferenced(id, parent, parentStack[parentStack.length - 2])) {\n return true;\n }\n switch (parent.type) {\n case \"AssignmentExpression\":\n case \"AssignmentPattern\":\n return true;\n case \"ObjectProperty\":\n return parent.key !== id && isInDestructureAssignment(parent, parentStack);\n case \"ArrayPattern\":\n return isInDestructureAssignment(parent, parentStack);\n }\n return false;\n}\nfunction isInDestructureAssignment(parent, parentStack) {\n if (parent && (parent.type === \"ObjectProperty\" || parent.type === \"ArrayPattern\")) {\n let i = parentStack.length;\n while (i--) {\n const p = parentStack[i];\n if (p.type === \"AssignmentExpression\") {\n return true;\n } else if (p.type !== \"ObjectProperty\" && !p.type.endsWith(\"Pattern\")) {\n break;\n }\n }\n }\n return false;\n}\nfunction isInNewExpression(parentStack) {\n let i = parentStack.length;\n while (i--) {\n const p = parentStack[i];\n if (p.type === \"NewExpression\") {\n return true;\n } else if (p.type !== \"MemberExpression\") {\n break;\n }\n }\n return false;\n}\nfunction walkFunctionParams(node, onIdent) {\n for (const p of node.params) {\n for (const id of extractIdentifiers(p)) {\n onIdent(id);\n }\n }\n}\nfunction walkBlockDeclarations(block, onIdent) {\n const body = block.type === \"SwitchCase\" ? block.consequent : block.body;\n for (const stmt of body) {\n if (stmt.type === \"VariableDeclaration\") {\n if (stmt.declare) continue;\n for (const decl of stmt.declarations) {\n for (const id of extractIdentifiers(decl.id)) {\n onIdent(id);\n }\n }\n } else if (stmt.type === \"FunctionDeclaration\" || stmt.type === \"ClassDeclaration\") {\n if (stmt.declare || !stmt.id) continue;\n onIdent(stmt.id);\n } else if (isForStatement(stmt)) {\n walkForStatement(stmt, true, onIdent);\n } else if (stmt.type === \"SwitchStatement\") {\n walkSwitchStatement(stmt, true, onIdent);\n }\n }\n}\nfunction isForStatement(stmt) {\n return stmt.type === \"ForOfStatement\" || stmt.type === \"ForInStatement\" || stmt.type === \"ForStatement\";\n}\nfunction walkForStatement(stmt, isVar, onIdent) {\n const variable = stmt.type === \"ForStatement\" ? stmt.init : stmt.left;\n if (variable && variable.type === \"VariableDeclaration\" && (variable.kind === \"var\" ? isVar : !isVar)) {\n for (const decl of variable.declarations) {\n for (const id of extractIdentifiers(decl.id)) {\n onIdent(id);\n }\n }\n }\n}\nfunction walkSwitchStatement(stmt, isVar, onIdent) {\n for (const cs of stmt.cases) {\n for (const stmt2 of cs.consequent) {\n if (stmt2.type === \"VariableDeclaration\" && (stmt2.kind === \"var\" ? isVar : !isVar)) {\n for (const decl of stmt2.declarations) {\n for (const id of extractIdentifiers(decl.id)) {\n onIdent(id);\n }\n }\n }\n }\n walkBlockDeclarations(cs, onIdent);\n }\n}\nfunction extractIdentifiers(param, nodes = []) {\n switch (param.type) {\n case \"Identifier\":\n nodes.push(param);\n break;\n case \"MemberExpression\":\n let object = param;\n while (object.type === \"MemberExpression\") {\n object = object.object;\n }\n nodes.push(object);\n break;\n case \"ObjectPattern\":\n for (const prop of param.properties) {\n if (prop.type === \"RestElement\") {\n extractIdentifiers(prop.argument, nodes);\n } else {\n extractIdentifiers(prop.value, nodes);\n }\n }\n break;\n case \"ArrayPattern\":\n param.elements.forEach((element) => {\n if (element) extractIdentifiers(element, nodes);\n });\n break;\n case \"RestElement\":\n extractIdentifiers(param.argument, nodes);\n break;\n case \"AssignmentPattern\":\n extractIdentifiers(param.left, nodes);\n break;\n }\n return nodes;\n}\nfunction markKnownIds(name, knownIds) {\n if (name in knownIds) {\n knownIds[name]++;\n } else {\n knownIds[name] = 1;\n }\n}\nfunction markScopeIdentifier(node, child, knownIds) {\n const { name } = child;\n if (node.scopeIds && node.scopeIds.has(name)) {\n return;\n }\n markKnownIds(name, knownIds);\n (node.scopeIds || (node.scopeIds = /* @__PURE__ */ new Set())).add(name);\n}\nconst isFunctionType = (node) => {\n return /Function(?:Expression|Declaration)$|Method$/.test(node.type);\n};\nconst isStaticProperty = (node) => node && (node.type === \"ObjectProperty\" || node.type === \"ObjectMethod\") && !node.computed;\nconst isStaticPropertyKey = (node, parent) => isStaticProperty(parent) && parent.key === node;\nfunction isReferenced(node, parent, grandparent) {\n switch (parent.type) {\n // yes: PARENT[NODE]\n // yes: NODE.child\n // no: parent.NODE\n case \"MemberExpression\":\n case \"OptionalMemberExpression\":\n if (parent.property === node) {\n return !!parent.computed;\n }\n return parent.object === node;\n case \"JSXMemberExpression\":\n return parent.object === node;\n // no: let NODE = init;\n // yes: let id = NODE;\n case \"VariableDeclarator\":\n return parent.init === node;\n // yes: () => NODE\n // no: (NODE) => {}\n case \"ArrowFunctionExpression\":\n return parent.body === node;\n // no: class { #NODE; }\n // no: class { get #NODE() {} }\n // no: class { #NODE() {} }\n // no: class { fn() { return this.#NODE; } }\n case \"PrivateName\":\n return false;\n // no: class { NODE() {} }\n // yes: class { [NODE]() {} }\n // no: class { foo(NODE) {} }\n case \"ClassMethod\":\n case \"ClassPrivateMethod\":\n case \"ObjectMethod\":\n if (parent.key === node) {\n return !!parent.computed;\n }\n return false;\n // yes: { [NODE]: \"\" }\n // no: { NODE: \"\" }\n // depends: { NODE }\n // depends: { key: NODE }\n case \"ObjectProperty\":\n if (parent.key === node) {\n return !!parent.computed;\n }\n return !grandparent || grandparent.type !== \"ObjectPattern\";\n // no: class { NODE = value; }\n // yes: class { [NODE] = value; }\n // yes: class { key = NODE; }\n case \"ClassProperty\":\n if (parent.key === node) {\n return !!parent.computed;\n }\n return true;\n case \"ClassPrivateProperty\":\n return parent.key !== node;\n // no: class NODE {}\n // yes: class Foo extends NODE {}\n case \"ClassDeclaration\":\n case \"ClassExpression\":\n return parent.superClass === node;\n // yes: left = NODE;\n // no: NODE = right;\n case \"AssignmentExpression\":\n return parent.right === node;\n // no: [NODE = foo] = [];\n // yes: [foo = NODE] = [];\n case \"AssignmentPattern\":\n return parent.right === node;\n // no: NODE: for (;;) {}\n case \"LabeledStatement\":\n return false;\n // no: try {} catch (NODE) {}\n case \"CatchClause\":\n return false;\n // no: function foo(...NODE) {}\n case \"RestElement\":\n return false;\n case \"BreakStatement\":\n case \"ContinueStatement\":\n return false;\n // no: function NODE() {}\n // no: function foo(NODE) {}\n case \"FunctionDeclaration\":\n case \"FunctionExpression\":\n return false;\n // no: export NODE from \"foo\";\n // no: export * as NODE from \"foo\";\n case \"ExportNamespaceSpecifier\":\n case \"ExportDefaultSpecifier\":\n return false;\n // no: export { foo as NODE };\n // yes: export { NODE as foo };\n // no: export { NODE as foo } from \"foo\";\n case \"ExportSpecifier\":\n if (grandparent == null ? void 0 : grandparent.source) {\n return false;\n }\n return parent.local === node;\n // no: import NODE from \"foo\";\n // no: import * as NODE from \"foo\";\n // no: import { NODE as foo } from \"foo\";\n // no: import { foo as NODE } from \"foo\";\n // no: import NODE from \"bar\";\n case \"ImportDefaultSpecifier\":\n case \"ImportNamespaceSpecifier\":\n case \"ImportSpecifier\":\n return false;\n // no: import \"foo\" assert { NODE: \"json\" }\n case \"ImportAttribute\":\n return false;\n // no: <div NODE=\"foo\" />\n case \"JSXAttribute\":\n return false;\n // no: [NODE] = [];\n // no: ({ NODE }) = [];\n case \"ObjectPattern\":\n case \"ArrayPattern\":\n return false;\n // no: new.NODE\n // no: NODE.target\n case \"MetaProperty\":\n return false;\n // yes: type X = { someProperty: NODE }\n // no: type X = { NODE: OtherType }\n case \"ObjectTypeProperty\":\n return parent.key !== node;\n // yes: enum X { Foo = NODE }\n // no: enum X { NODE }\n case \"TSEnumMember\":\n return parent.id !== node;\n // yes: { [NODE]: value }\n // no: { NODE: value }\n case \"TSPropertySignature\":\n if (parent.key === node) {\n return !!parent.computed;\n }\n return true;\n }\n return true;\n}\nconst TS_NODE_TYPES = [\n \"TSAsExpression\",\n // foo as number\n \"TSTypeAssertion\",\n // (<number>foo)\n \"TSNonNullExpression\",\n // foo!\n \"TSInstantiationExpression\",\n // foo<string>\n \"TSSatisfiesExpression\"\n // foo satisfies T\n];\nfunction unwrapTSNode(node) {\n if (TS_NODE_TYPES.includes(node.type)) {\n return unwrapTSNode(node.expression);\n } else {\n return node;\n }\n}\n\nconst isStaticExp = (p) => p.type === 4 && p.isStatic;\nfunction isCoreComponent(tag) {\n switch (tag) {\n case \"Teleport\":\n case \"teleport\":\n return TELEPORT;\n case \"Suspense\":\n case \"suspense\":\n return SUSPENSE;\n case \"KeepAlive\":\n case \"keep-alive\":\n return KEEP_ALIVE;\n case \"BaseTransition\":\n case \"base-transition\":\n return BASE_TRANSITION;\n }\n}\nconst nonIdentifierRE = /^$|^\\d|[^\\$\\w\\xA0-\\uFFFF]/;\nconst isSimpleIdentifier = (name) => !nonIdentifierRE.test(name);\nconst validFirstIdentCharRE = /[A-Za-z_$\\xA0-\\uFFFF]/;\nconst validIdentCharRE = /[\\.\\?\\w$\\xA0-\\uFFFF]/;\nconst whitespaceRE = /\\s+[.[]\\s*|\\s*[.[]\\s+/g;\nconst getExpSource = (exp) => exp.type === 4 ? exp.content : exp.loc.source;\nconst isMemberExpressionBrowser = (exp) => {\n const path = getExpSource(exp).trim().replace(whitespaceRE, (s) => s.trim());\n let state = 0 /* inMemberExp */;\n let stateStack = [];\n let currentOpenBracketCount = 0;\n let currentOpenParensCount = 0;\n let currentStringType = null;\n for (let i = 0; i < path.length; i++) {\n const char = path.charAt(i);\n switch (state) {\n case 0 /* inMemberExp */:\n if (char === \"[\") {\n stateStack.push(state);\n state = 1 /* inBrackets */;\n currentOpenBracketCount++;\n } else if (char === \"(\") {\n stateStack.push(state);\n state = 2 /* inParens */;\n currentOpenParensCount++;\n } else if (!(i === 0 ? validFirstIdentCharRE : validIdentCharRE).test(char)) {\n return false;\n }\n break;\n case 1 /* inBrackets */:\n if (char === `'` || char === `\"` || char === \"`\") {\n stateStack.push(state);\n state = 3 /* inString */;\n currentStringType = char;\n } else if (char === `[`) {\n currentOpenBracketCount++;\n } else if (char === `]`) {\n if (!--currentOpenBracketCount) {\n state = stateStack.pop();\n }\n }\n break;\n case 2 /* inParens */:\n if (char === `'` || char === `\"` || char === \"`\") {\n stateStack.push(state);\n state = 3 /* inString */;\n currentStringType = char;\n } else if (char === `(`) {\n currentOpenParensCount++;\n } else if (char === `)`) {\n if (i === path.length - 1) {\n return false;\n }\n if (!--currentOpenParensCount) {\n state = stateStack.pop();\n }\n }\n break;\n case 3 /* inString */:\n if (char === currentStringType) {\n state = stateStack.pop();\n currentStringType = null;\n }\n break;\n }\n }\n return !currentOpenBracketCount && !currentOpenParensCount;\n};\nconst isMemberExpressionNode = (exp, context) => {\n try {\n let ret = exp.ast || parser.parseExpression(getExpSource(exp), {\n plugins: context.expressionPlugins ? [...context.expressionPlugins, \"typescript\"] : [\"typescript\"]\n });\n ret = unwrapTSNode(ret);\n return ret.type === \"MemberExpression\" || ret.type === \"OptionalMemberExpression\" || ret.type === \"Identifier\" && ret.name !== \"undefined\";\n } catch (e) {\n return false;\n }\n};\nconst isMemberExpression = isMemberExpressionNode;\nconst fnExpRE = /^\\s*(?:async\\s*)?(?:\\([^)]*?\\)|[\\w$_]+)\\s*(?::[^=]+)?=>|^\\s*(?:async\\s+)?function(?:\\s+[\\w$]+)?\\s*\\(/;\nconst isFnExpressionBrowser = (exp) => fnExpRE.test(getExpSource(exp));\nconst isFnExpressionNode = (exp, context) => {\n try {\n let ret = exp.ast || parser.parseExpression(getExpSource(exp), {\n plugins: context.expressionPlugins ? [...context.expressionPlugins, \"typescript\"] : [\"typescript\"]\n });\n if (ret.type === \"Program\") {\n ret = ret.body[0];\n if (ret.type === \"ExpressionStatement\") {\n ret = ret.expression;\n }\n }\n ret = unwrapTSNode(ret);\n return ret.type === \"FunctionExpression\" || ret.type === \"ArrowFunctionExpression\";\n } catch (e) {\n return false;\n }\n};\nconst isFnExpression = isFnExpressionNode;\nfunction advancePositionWithClone(pos, source, numberOfCharacters = source.length) {\n return advancePositionWithMutation(\n {\n offset: pos.offset,\n line: pos.line,\n column: pos.column\n },\n source,\n numberOfCharacters\n );\n}\nfunction advancePositionWithMutation(pos, source, numberOfCharacters = source.length) {\n let linesCount = 0;\n let lastNewLinePos = -1;\n for (let i = 0; i < numberOfCharacters; i++) {\n if (source.charCodeAt(i) === 10) {\n linesCount++;\n lastNewLinePos = i;\n }\n }\n pos.offset += numberOfCharacters;\n pos.line += linesCount;\n pos.column = lastNewLinePos === -1 ? pos.column + numberOfCharacters : numberOfCharacters - lastNewLinePos;\n return pos;\n}\nfunction assert(condition, msg) {\n if (!condition) {\n throw new Error(msg || `unexpected compiler condition`);\n }\n}\nfunction findDir(node, name, allowEmpty = false) {\n for (let i = 0; i < node.props.length; i++) {\n const p = node.props[i];\n if (p.type === 7 && (allowEmpty || p.exp) && (shared.isString(name) ? p.name === name : name.test(p.name))) {\n return p;\n }\n }\n}\nfunction findProp(node, name, dynamicOnly = false, allowEmpty = false) {\n for (let i = 0; i < node.props.length; i++) {\n const p = node.props[i];\n if (p.type === 6) {\n if (dynamicOnly) continue;\n if (p.name === name && (p.value || allowEmpty)) {\n return p;\n }\n } else if (p.name === \"bind\" && (p.exp || allowEmpty) && isStaticArgOf(p.arg, name)) {\n return p;\n }\n }\n}\nfunction isStaticArgOf(arg, name) {\n return !!(arg && isStaticExp(arg) && arg.content === name);\n}\nfunction hasDynamicKeyVBind(node) {\n return node.props.some(\n (p) => p.type === 7 && p.name === \"bind\" && (!p.arg || // v-bind=\"obj\"\n p.arg.type !== 4 || // v-bind:[_ctx.foo]\n !p.arg.isStatic)\n // v-bind:[foo]\n );\n}\nfunction isText$1(node) {\n return node.type === 5 || node.type === 2;\n}\nfunction isVPre(p) {\n return p.type === 7 && p.name === \"pre\";\n}\nfunction isVSlot(p) {\n return p.type === 7 && p.name === \"slot\";\n}\nfunction isTemplateNode(node) {\n return node.type === 1 && node.tagType === 3;\n}\nfunction isSlotOutlet(node) {\n return node.type === 1 && node.tagType === 2;\n}\nconst propsHelperSet = /* @__PURE__ */ new Set([NORMALIZE_PROPS, GUARD_REACTIVE_PROPS]);\nfunction getUnnormalizedProps(props, callPath = []) {\n if (props && !shared.isString(props) && props.type === 14) {\n const callee = props.callee;\n if (!shared.isString(callee) && propsHelperSet.has(callee)) {\n return getUnnormalizedProps(\n props.arguments[0],\n callPath.concat(props)\n );\n }\n }\n return [props, callPath];\n}\nfunction injectProp(node, prop, context) {\n let propsWithInjection;\n let props = node.type === 13 ? node.props : node.arguments[2];\n let callPath = [];\n let parentCall;\n if (props && !shared.isString(props) && props.type === 14) {\n const ret = getUnnormalizedProps(props);\n props = ret[0];\n callPath = ret[1];\n parentCall = callPath[callPath.length - 1];\n }\n if (props == null || shared.isString(props)) {\n propsWithInjection = createObjectExpression([prop]);\n } else if (props.type === 14) {\n const first = props.arguments[0];\n if (!shared.isString(first) && first.type === 15) {\n if (!hasProp(prop, first)) {\n first.properties.unshift(prop);\n }\n } else {\n if (props.callee === TO_HANDLERS) {\n propsWithInjection = createCallExpression(context.helper(MERGE_PROPS), [\n createObjectExpression([prop]),\n props\n ]);\n } else {\n props.arguments.unshift(createObjectExpression([prop]));\n }\n }\n !propsWithInjection && (propsWithInjection = props);\n } else if (props.type === 15) {\n if (!hasProp(prop, props)) {\n props.properties.unshift(prop);\n }\n propsWithInjection = props;\n } else {\n propsWithInjection = createCallExpression(context.helper(MERGE_PROPS), [\n createObjectExpression([prop]),\n props\n ]);\n if (parentCall && parentCall.callee === GUARD_REACTIVE_PROPS) {\n parentCall = callPath[callPath.length - 2];\n }\n }\n if (node.type === 13) {\n if (parentCall) {\n parentCall.arguments[0] = propsWithInjection;\n } else {\n node.props = propsWithInjection;\n }\n } else {\n if (parentCall) {\n parentCall.arguments[0] = propsWithInjection;\n } else {\n node.arguments[2] = propsWithInjection;\n }\n }\n}\nfunction hasProp(prop, props) {\n let result = false;\n if (prop.key.type === 4) {\n const propKeyName = prop.key.content;\n result = props.properties.some(\n (p) => p.key.type === 4 && p.key.content === propKeyName\n );\n }\n return result;\n}\nfunction toValidAssetId(name, type) {\n return `_${type}_${name.replace(/[^\\w]/g, (searchValue, replaceValue) => {\n return searchValue === \"-\" ? \"_\" : name.charCodeAt(replaceValue).toString();\n })}`;\n}\nfunction hasScopeRef(node, ids) {\n if (!node || Object.keys(ids).length === 0) {\n return false;\n }\n switch (node.type) {\n case 1:\n for (let i = 0; i < node.props.length; i++) {\n const p = node.props[i];\n if (p.type === 7 && (hasScopeRef(p.arg, ids) || hasScopeRef(p.exp, ids))) {\n return true;\n }\n }\n return node.children.some((c) => hasScopeRef(c, ids));\n case 11:\n if (hasScopeRef(node.source, ids)) {\n return true;\n }\n return node.children.some((c) => hasScopeRef(c, ids));\n case 9:\n return node.branches.some((b) => hasScopeRef(b, ids));\n case 10:\n if (hasScopeRef(node.condition, ids)) {\n return true;\n }\n return node.children.some((c) => hasScopeRef(c, ids));\n case 4:\n return !node.isStatic && isSimpleIdentifier(node.content) && !!ids[node.content];\n case 8:\n return node.children.some((c) => shared.isObject(c) && hasScopeRef(c, ids));\n case 5:\n case 12:\n return hasScopeRef(node.content, ids);\n case 2:\n case 3:\n case 20:\n return false;\n default:\n return false;\n }\n}\nfunction getMemoedVNodeCall(node) {\n if (node.type === 14 && node.callee === WITH_MEMO) {\n return node.arguments[1].returns;\n } else {\n return node;\n }\n}\nconst forAliasRE = /([\\s\\S]*?)\\s+(?:in|of)\\s+(\\S[\\s\\S]*)/;\n\nconst defaultParserOptions = {\n parseMode: \"base\",\n ns: 0,\n delimiters: [`{{`, `}}`],\n getNamespace: () => 0,\n isVoidTag: shared.NO,\n isPreTag: shared.NO,\n isIgnoreNewlineTag: shared.NO,\n isCustomElement: shared.NO,\n onError: defaultOnError,\n onWarn: defaultOnWarn,\n comments: false,\n prefixIdentifiers: false\n};\nlet currentOptions = defaultParserOptions;\nlet currentRoot = null;\nlet currentInput = \"\";\nlet currentOpenTag = null;\nlet currentProp = null;\nlet currentAttrValue = \"\";\nlet currentAttrStartIndex = -1;\nlet currentAttrEndIndex = -1;\nlet inPre = 0;\nlet inVPre = false;\nlet currentVPreBoundary = null;\nconst stack = [];\nconst tokenizer = new Tokenizer(stack, {\n onerr: emitError,\n ontext(start, end) {\n onText(getSlice(start, end), start, end);\n },\n ontextentity(char, start, end) {\n onText(char, start, end);\n },\n oninterpolation(start, end) {\n if (inVPre) {\n return onText(getSlice(start, end), start, end);\n }\n let innerStart = start + tokenizer.delimiterOpen.length;\n let innerEnd = end - tokenizer.delimiterClose.length;\n while (isWhitespace(currentInput.charCodeAt(innerStart))) {\n innerStart++;\n }\n while (isWhitespace(currentInput.charCodeAt(innerEnd - 1))) {\n innerEnd--;\n }\n let exp = getSlice(innerStart, innerEnd);\n if (exp.includes(\"&\")) {\n {\n exp = decode_js.decodeHTML(exp);\n }\n }\n addNode({\n type: 5,\n content: createExp(exp, false, getLoc(innerStart, innerEnd)),\n loc: getLoc(start, end)\n });\n },\n onopentagname(start, end) {\n const name = getSlice(start, end);\n currentOpenTag = {\n type: 1,\n tag: name,\n ns: currentOptions.getNamespace(name, stack[0], currentOptions.ns),\n tagType: 0,\n // will be refined on tag close\n props: [],\n children: [],\n loc: getLoc(start - 1, end),\n codegenNode: void 0\n };\n },\n onopentagend(end) {\n endOpenTag(end);\n },\n onclosetag(start, end) {\n const name = getSlice(start, end);\n if (!currentOptions.isVoidTag(name)) {\n let found = false;\n for (let i = 0; i < stack.length; i++) {\n const e = stack[i];\n if (e.tag.toLowerCase() === name.toLowerCase()) {\n found = true;\n if (i > 0) {\n emitError(24, stack[0].loc.start.offset);\n }\n for (let j = 0; j <= i; j++) {\n const el = stack.shift();\n onCloseTag(el, end, j < i);\n }\n break;\n }\n }\n if (!found) {\n emitError(23, backTrack(start, 60));\n }\n }\n },\n onselfclosingtag(end) {\n const name = currentOpenTag.tag;\n currentOpenTag.isSelfClosing = true;\n endOpenTag(end);\n if (stack[0] && stack[0].tag === name) {\n onCloseTag(stack.shift(), end);\n }\n },\n onattribname(start, end) {\n currentProp = {\n type: 6,\n name: getSlice(start, end),\n nameLoc: getLoc(start, end),\n value: void 0,\n loc: getLoc(start)\n };\n },\n ondirname(start, end) {\n const raw = getSlice(start, end);\n const name = raw === \".\" || raw === \":\" ? \"bind\" : raw === \"@\" ? \"on\" : raw === \"#\" ? \"slot\" : raw.slice(2);\n if (!inVPre && name === \"\") {\n emitError(26, start);\n }\n if (inVPre || name === \"\") {\n currentProp = {\n type: 6,\n name: raw,\n nameLoc: getLoc(start, end),\n value: void 0,\n loc: getLoc(start)\n };\n } else {\n currentProp = {\n type: 7,\n name,\n rawName: raw,\n exp: void 0,\n arg: void 0,\n modifiers: raw === \".\" ? [createSimpleExpression(\"prop\")] : [],\n loc: getLoc(start)\n };\n if (name === \"pre\") {\n inVPre = tokenizer.inVPre = true;\n currentVPreBoundary = currentOpenTag;\n const props = currentOpenTag.props;\n for (let i = 0; i < props.length; i++) {\n if (props[i].type === 7) {\n props[i] = dirToAttr(props[i]);\n }\n }\n }\n }\n },\n ondirarg(start, end) {\n if (start === end) return;\n const arg = getSlice(start, end);\n if (inVPre && !isVPre(currentProp)) {\n currentProp.name += arg;\n setLocEnd(currentProp.nameLoc, end);\n } else {\n const isStatic = arg[0] !== `[`;\n currentProp.arg = createExp(\n isStatic ? arg : arg.slice(1, -1),\n isStatic,\n getLoc(start, end),\n isStatic ? 3 : 0\n );\n }\n },\n ondirmodifier(start, end) {\n const mod = getSlice(start, end);\n if (inVPre && !isVPre(currentProp)) {\n currentProp.name += \".\" + mod;\n setLocEnd(currentProp.nameLoc, end);\n } else if (currentProp.name === \"slot\") {\n const arg = currentProp.arg;\n if (arg) {\n arg.content += \".\" + mod;\n setLocEnd(arg.loc, end);\n }\n } else {\n const exp = createSimpleExpression(mod, true, getLoc(start, end));\n currentProp.modifiers.push(exp);\n }\n },\n onattribdata(start, end) {\n currentAttrValue += getSlice(start, end);\n if (currentAttrStartIndex < 0) currentAttrStartIndex = start;\n currentAttrEndIndex = end;\n },\n onattribentity(char, start, end) {\n currentAttrValue += char;\n if (currentAttrStartIndex < 0) currentAttrStartIndex = start;\n currentAttrEndIndex = end;\n },\n onattribnameend(end) {\n const start = currentProp.loc.start.offset;\n const name = getSlice(start, end);\n if (currentProp.type === 7) {\n currentProp.rawName = name;\n }\n if (currentOpenTag.props.some(\n (p) => (p.type === 7 ? p.rawName : p.name) === name\n )) {\n emitError(2, start);\n }\n },\n onattribend(quote, end) {\n if (currentOpenTag && currentProp) {\n setLocEnd(currentProp.loc, end);\n if (quote !== 0) {\n if (currentProp.type === 6) {\n if (currentProp.name === \"class\") {\n currentAttrValue = condense(currentAttrValue).trim();\n }\n if (quote === 1 && !currentAttrValue) {\n emitError(13, end);\n }\n currentProp.value = {\n type: 2,\n content: currentAttrValue,\n loc: quote === 1 ? getLoc(currentAttrStartIndex, currentAttrEndIndex) : getLoc(currentAttrStartIndex - 1, currentAttrEndIndex + 1)\n };\n if (tokenizer.inSFCRoot && currentOpenTag.tag === \"template\" && currentProp.name === \"lang\" && currentAttrValue && currentAttrValue !== \"html\") {\n tokenizer.enterRCDATA(toCharCodes(`</template`), 0);\n }\n } else {\n let expParseMode = 0 /* Normal */;\n {\n if (currentProp.name === \"for\") {\n expParseMode = 3 /* Skip */;\n } else if (currentProp.name === \"slot\") {\n expParseMode = 1 /* Params */;\n } else if (currentProp.name === \"on\" && currentAttrValue.includes(\";\")) {\n expParseMode = 2 /* Statements */;\n }\n }\n currentProp.exp = createExp(\n currentAttrValue,\n false,\n getLoc(currentAttrStartIndex, currentAttrEndIndex),\n 0,\n expParseMode\n );\n if (currentProp.name === \"for\") {\n currentProp.forParseResult = parseForExpression(currentProp.exp);\n }\n let syncIndex = -1;\n if (currentProp.name === \"bind\" && (syncIndex = currentProp.modifiers.findIndex(\n (mod) => mod.content === \"sync\"\n )) > -1 && checkCompatEnabled(\n \"COMPILER_V_BIND_SYNC\",\n currentOptions,\n currentProp.loc,\n currentProp.arg.loc.source\n )) {\n currentProp.name = \"model\";\n currentProp.modifiers.splice(syncIndex, 1);\n }\n }\n }\n if (currentProp.type !== 7 || currentProp.name !== \"pre\") {\n currentOpenTag.props.push(currentProp);\n }\n }\n currentAttrValue = \"\";\n currentAttrStartIndex = currentAttrEndIndex = -1;\n },\n oncomment(start, end) {\n if (currentOptions.comments) {\n addNode({\n type: 3,\n content: getSlice(start, end),\n loc: getLoc(start - 4, end + 3)\n });\n }\n },\n onend() {\n const end = currentInput.length;\n if (tokenizer.state !== 1) {\n switch (tokenizer.state) {\n case 5:\n case 8:\n emitError(5, end);\n break;\n case 3:\n case 4:\n emitError(\n 25,\n tokenizer.sectionStart\n );\n break;\n case 28:\n if (tokenizer.currentSequence === Sequences.CdataEnd) {\n emitError(6, end);\n } else {\n emitError(7, end);\n }\n break;\n case 6:\n case 7:\n case 9:\n case 11:\n case 12:\n case 13:\n case 14:\n case 15:\n case 16:\n case 17:\n case 18:\n case 19:\n // \"\n case 20:\n // '\n case 21:\n emitError(9, end);\n break;\n }\n }\n for (let index = 0; index < stack.length; index++) {\n onCloseTag(stack[index], end - 1);\n emitError(24, stack[index].loc.start.offset);\n }\n },\n oncdata(start, end) {\n if (stack[0].ns !== 0) {\n onText(getSlice(start, end), start, end);\n } else {\n emitError(1, start - 9);\n }\n },\n onprocessinginstruction(start) {\n if ((stack[0] ? stack[0].ns : currentOptions.ns) === 0) {\n emitError(\n 21,\n start - 1\n );\n }\n }\n});\nconst forIteratorRE = /,([^,\\}\\]]*)(?:,([^,\\}\\]]*))?$/;\nconst stripParensRE = /^\\(|\\)$/g;\nfunction parseForExpression(input) {\n const loc = input.loc;\n const exp = input.content;\n const inMatch = exp.match(forAliasRE);\n if (!inMatch) return;\n const [, LHS, RHS] = inMatch;\n const createAliasExpression = (content, offset, asParam = false) => {\n const start = loc.start.offset + offset;\n const end = start + content.length;\n return createExp(\n content,\n false,\n getLoc(start, end),\n 0,\n asParam ? 1 /* Params */ : 0 /* Normal */\n );\n };\n const result = {\n source: createAliasExpression(RHS.trim(), exp.indexOf(RHS, LHS.length)),\n value: void 0,\n key: void 0,\n index: void 0,\n finalized: false\n };\n let valueContent = LHS.trim().replace(stripParensRE, \"\").trim();\n const trimmedOffset = LHS.indexOf(valueContent);\n const iteratorMatch = valueContent.match(forIteratorRE);\n if (iteratorMatch) {\n valueContent = valueContent.replace(forIteratorRE, \"\").trim();\n const keyContent = iteratorMatch[1].trim();\n let keyOffset;\n if (keyContent) {\n keyOffset = exp.indexOf(keyContent, trimmedOffset + valueContent.length);\n result.key = createAliasExpression(keyContent, keyOffset, true);\n }\n if (iteratorMatch[2]) {\n const indexContent = iteratorMatch[2].trim();\n if (indexContent) {\n result.index = createAliasExpression(\n indexContent,\n exp.indexOf(\n indexContent,\n result.key ? keyOffset + keyContent.length : trimmedOffset + valueContent.length\n ),\n true\n );\n }\n }\n }\n if (valueContent) {\n result.value = createAliasExpression(valueContent, trimmedOffset, true);\n }\n return result;\n}\nfunction getSlice(start, end) {\n return currentInput.slice(start, end);\n}\nfunction endOpenTag(end) {\n if (tokenizer.inSFCRoot) {\n currentOpenTag.innerLoc = getLoc(end + 1, end + 1);\n }\n addNode(currentOpenTag);\n const { tag, ns } = currentOpenTag;\n if (ns === 0 && currentOptions.isPreTag(tag)) {\n inPre++;\n }\n if (currentOptions.isVoidTag(tag)) {\n onCloseTag(currentOpenTag, end);\n } else {\n stack.unshift(currentOpenTag);\n if (ns === 1 || ns === 2) {\n tokenizer.inXML = true;\n }\n }\n currentOpenTag = null;\n}\nfunction onText(content, start, end) {\n const parent = stack[0] || currentRoot;\n const lastNode = parent.children[parent.children.length - 1];\n if (lastNode && lastNode.type === 2) {\n lastNode.content += content;\n setLocEnd(lastNode.loc, end);\n } else {\n parent.children.push({\n type: 2,\n content,\n loc: getLoc(start, end)\n });\n }\n}\nfunction onCloseTag(el, end, isImplied = false) {\n if (isImplied) {\n setLocEnd(el.loc, backTrack(end, 60));\n } else {\n setLocEnd(el.loc, lookAhead(end, 62) + 1);\n }\n if (tokenizer.inSFCRoot) {\n if (el.children.length) {\n el.innerLoc.end = shared.extend({}, el.children[el.children.length - 1].loc.end);\n } else {\n el.innerLoc.end = shared.extend({}, el.innerLoc.start);\n }\n el.innerLoc.source = getSlice(\n el.innerLoc.start.offset,\n el.innerLoc.end.offset\n );\n }\n const { tag, ns, children } = el;\n if (!inVPre) {\n if (tag === \"slot\") {\n el.tagType = 2;\n } else if (isFragmentTemplate(el)) {\n el.tagType = 3;\n } else if (isComponent(el)) {\n el.tagType = 1;\n }\n }\n if (!tokenizer.inRCDATA) {\n el.children = condenseWhitespace(children);\n }\n if (ns === 0 && currentOptions.isIgnoreNewlineTag(tag)) {\n const first = children[0];\n if (first && first.type === 2) {\n first.content = first.content.replace(/^\\r?\\n/, \"\");\n }\n }\n if (ns === 0 && currentOptions.isPreTag(tag)) {\n inPre--;\n }\n if (currentVPreBoundary === el) {\n inVPre = tokenizer.inVPre = false;\n currentVPreBoundary = null;\n }\n if (tokenizer.inXML && (stack[0] ? stack[0].ns : currentOptions.ns) === 0) {\n tokenizer.inXML = false;\n }\n {\n const props = el.props;\n if (!tokenizer.inSFCRoot && isCompatEnabled(\n \"COMPILER_NATIVE_TEMPLATE\",\n currentOptions\n ) && el.tag === \"template\" && !isFragmentTemplate(el)) {\n const parent = stack[0] || currentRoot;\n const index = parent.children.indexOf(el);\n parent.children.splice(index, 1, ...el.children);\n }\n const inlineTemplateProp = props.find(\n (p) => p.type === 6 && p.name === \"inline-template\"\n );\n if (inlineTemplateProp && checkCompatEnabled(\n \"COMPILER_INLINE_TEMPLATE\",\n currentOptions,\n inlineTemplateProp.loc\n ) && el.children.length) {\n inlineTemplateProp.value = {\n type: 2,\n content: getSlice(\n el.children[0].loc.start.offset,\n el.children[el.children.length - 1].loc.end.offset\n ),\n loc: inlineTemplateProp.loc\n };\n }\n }\n}\nfunction lookAhead(index, c) {\n let i = index;\n while (currentInput.charCodeAt(i) !== c && i < currentInput.length - 1) i++;\n return i;\n}\nfunction backTrack(index, c) {\n let i = index;\n while (currentInput.charCodeAt(i) !== c && i >= 0) i--;\n return i;\n}\nconst specialTemplateDir = /* @__PURE__ */ new Set([\"if\", \"else\", \"else-if\", \"for\", \"slot\"]);\nfunction isFragmentTemplate({ tag, props }) {\n if (tag === \"template\") {\n for (let i = 0; i < props.length; i++) {\n if (props[i].type === 7 && specialTemplateDir.has(props[i].name)) {\n return true;\n }\n }\n }\n return false;\n}\nfunction isComponent({ tag, props }) {\n if (currentOptions.isCustomElement(tag)) {\n return false;\n }\n if (tag === \"component\" || isUpperCase(tag.charCodeAt(0)) || isCoreComponent(tag) || currentOptions.isBuiltInComponent && currentOptions.isBuiltInComponent(tag) || currentOptions.isNativeTag && !currentOptions.isNativeTag(tag)) {\n return true;\n }\n for (let i = 0; i < props.length; i++) {\n const p = props[i];\n if (p.type === 6) {\n if (p.name === \"is\" && p.value) {\n if (p.value.content.startsWith(\"vue:\")) {\n return true;\n } else if (checkCompatEnabled(\n \"COMPILER_IS_ON_ELEMENT\",\n currentOptions,\n p.loc\n )) {\n return true;\n }\n }\n } else if (// :is on plain element - only treat as component in compat mode\n p.name === \"bind\" && isStaticArgOf(p.arg, \"is\") && checkCompatEnabled(\n \"COMPILER_IS_ON_ELEMENT\",\n currentOptions,\n p.loc\n )) {\n return true;\n }\n }\n return false;\n}\nfunction isUpperCase(c) {\n return c > 64 && c < 91;\n}\nconst windowsNewlineRE = /\\r\\n/g;\nfunction condenseWhitespace(nodes) {\n const shouldCondense = currentOptions.whitespace !== \"preserve\";\n let removedWhitespace = false;\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n if (node.type === 2) {\n if (!inPre) {\n if (isAllWhitespace(node.content)) {\n const prev = nodes[i - 1] && nodes[i - 1].type;\n const next = nodes[i + 1] && nodes[i + 1].type;\n if (!prev || !next || shouldCondense && (prev === 3 && (next === 3 || next === 1) || prev === 1 && (next === 3 || next === 1 && hasNewlineChar(node.content)))) {\n removedWhitespace = true;\n nodes[i] = null;\n } else {\n node.content = \" \";\n }\n } else if (shouldCondense) {\n node.content = condense(node.content);\n }\n } else {\n node.content = node.content.replace(windowsNewlineRE, \"\\n\");\n }\n }\n }\n return removedWhitespace ? nodes.filter(Boolean) : nodes;\n}\nfunction isAllWhitespace(str) {\n for (let i = 0; i < str.length; i++) {\n if (!isWhitespace(str.charCodeAt(i))) {\n return false;\n }\n }\n return true;\n}\nfunction hasNewlineChar(str) {\n for (let i = 0; i < str.length; i++) {\n const c = str.charCodeAt(i);\n if (c === 10 || c === 13) {\n return true;\n }\n }\n return false;\n}\nfunction condense(str) {\n let ret = \"\";\n let prevCharIsWhitespace = false;\n for (let i = 0; i < str.length; i++) {\n if (isWhitespace(str.charCodeAt(i))) {\n if (!prevCharIsWhitespace) {\n ret += \" \";\n prevCharIsWhitespace = true;\n }\n } else {\n ret += str[i];\n prevCharIsWhitespace = false;\n }\n }\n return ret;\n}\nfunction addNode(node) {\n (stack[0] || currentRoot).children.push(node);\n}\nfunction getLoc(start, end) {\n return {\n start: tokenizer.getPos(start),\n // @ts-expect-error allow late attachment\n end: end == null ? end : tokenizer.getPos(end),\n // @ts-expect-error allow late attachment\n source: end == null ? end : getSlice(start, end)\n };\n}\nfunction cloneLoc(loc) {\n return getLoc(loc.start.offset, loc.end.offset);\n}\nfunction setLocEnd(loc, end) {\n loc.end = tokenizer.getPos(end);\n loc.source = getSlice(loc.start.offset, end);\n}\nfunction dirToAttr(dir) {\n const attr = {\n type: 6,\n name: dir.rawName,\n nameLoc: getLoc(\n dir.loc.start.offset,\n dir.loc.start.offset + dir.rawName.length\n ),\n value: void 0,\n loc: dir.loc\n };\n if (dir.exp) {\n const loc = dir.exp.loc;\n if (loc.end.offset < dir.loc.end.offset) {\n loc.start.offset--;\n loc.start.column--;\n loc.end.offset++;\n loc.end.column++;\n }\n attr.value = {\n type: 2,\n content: dir.exp.content,\n loc\n };\n }\n return attr;\n}\nfunction createExp(content, isStatic = false, loc, constType = 0, parseMode = 0 /* Normal */) {\n const exp = createSimpleExpression(content, isStatic, loc, constType);\n if (!isStatic && currentOptions.prefixIdentifiers && parseMode !== 3 /* Skip */ && content.trim()) {\n if (isSimpleIdentifier(content)) {\n exp.ast = null;\n return exp;\n }\n try {\n const plugins = currentOptions.expressionPlugins;\n const options = {\n plugins: plugins ? [...plugins, \"typescript\"] : [\"typescript\"]\n };\n if (parseMode === 2 /* Statements */) {\n exp.ast = parser.parse(` ${content} `, options).program;\n } else if (parseMode === 1 /* Params */) {\n exp.ast = parser.parseExpression(`(${content})=>{}`, options);\n } else {\n exp.ast = parser.parseExpression(`(${content})`, options);\n }\n } catch (e) {\n exp.ast = false;\n emitError(45, loc.start.offset, e.message);\n }\n }\n return exp;\n}\nfunction emitError(code, index, message) {\n currentOptions.onError(\n createCompilerError(code, getLoc(index, index), void 0, message)\n );\n}\nfunction reset() {\n tokenizer.reset();\n currentOpenTag = null;\n currentProp = null;\n currentAttrValue = \"\";\n currentAttrStartIndex = -1;\n currentAttrEndIndex = -1;\n stack.length = 0;\n}\nfunction baseParse(input, options) {\n reset();\n currentInput = input;\n currentOptions = shared.extend({}, defaultParserOptions);\n if (options) {\n let key;\n for (key in options) {\n if (options[key] != null) {\n currentOptions[key] = options[key];\n }\n }\n }\n tokenizer.mode = currentOptions.parseMode === \"html\" ? 1 : currentOptions.parseMode === \"sfc\" ? 2 : 0;\n tokenizer.inXML = currentOptions.ns === 1 || currentOptions.ns === 2;\n const delimiters = options && options.delimiters;\n if (delimiters) {\n tokenizer.delimiterOpen = toCharCodes(delimiters[0]);\n tokenizer.delimiterClose = toCharCodes(delimiters[1]);\n }\n const root = currentRoot = createRoot([], input);\n tokenizer.parse(currentInput);\n root.loc = getLoc(0, input.length);\n root.children = condenseWhitespace(root.children);\n currentRoot = null;\n return root;\n}\n\nfunction cacheStatic(root, context) {\n walk(\n root,\n void 0,\n context,\n // Root node is unfortunately non-hoistable due to potential parent\n // fallthrough attributes.\n !!getSingleElementRoot(root)\n );\n}\nfunction getSingleElementRoot(root) {\n const children = root.children.filter((x) => x.type !== 3);\n return children.length === 1 && children[0].type === 1 && !isSlotOutlet(children[0]) ? children[0] : null;\n}\nfunction walk(node, parent, context, doNotHoistNode = false, inFor = false) {\n const { children } = node;\n const toCache = [];\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (child.type === 1 && child.tagType === 0) {\n const constantType = doNotHoistNode ? 0 : getConstantType(child, context);\n if (constantType > 0) {\n if (constantType >= 2) {\n child.codegenNode.patchFlag = -1;\n toCache.push(child);\n continue;\n }\n } else {\n const codegenNode = child.codegenNode;\n if (codegenNode.type === 13) {\n const flag = codegenNode.patchFlag;\n if ((flag === void 0 || flag === 512 || flag === 1) && getGeneratedPropsConstantType(child, context) >= 2) {\n const props = getNodeProps(child);\n if (props) {\n codegenNode.props = context.hoist(props);\n }\n }\n if (codegenNode.dynamicProps) {\n codegenNode.dynamicProps = context.hoist(codegenNode.dynamicProps);\n }\n }\n }\n } else if (child.type === 12) {\n const constantType = doNotHoistNode ? 0 : getConstantType(child, context);\n if (constantType >= 2) {\n if (child.codegenNode.type === 14 && child.codegenNode.arguments.length > 0) {\n child.codegenNode.arguments.push(\n -1 + (``)\n );\n }\n toCache.push(child);\n continue;\n }\n }\n if (child.type === 1) {\n const isComponent = child.tagType === 1;\n if (isComponent) {\n context.scopes.vSlot++;\n }\n walk(child, node, context, false, inFor);\n if (isComponent) {\n context.scopes.vSlot--;\n }\n } else if (child.type === 11) {\n walk(child, node, context, child.children.length === 1, true);\n } else if (child.type === 9) {\n for (let i2 = 0; i2 < child.branches.length; i2++) {\n walk(\n child.branches[i2],\n node,\n context,\n child.branches[i2].children.length === 1,\n inFor\n );\n }\n }\n }\n let cachedAsArray = false;\n if (toCache.length === children.length && node.type === 1) {\n if (node.tagType === 0 && node.codegenNode && node.codegenNode.type === 13 && shared.isArray(node.codegenNode.children)) {\n node.codegenNode.children = getCacheExpression(\n createArrayExpression(node.codegenNode.children)\n );\n cachedAsArray = true;\n } else if (node.tagType === 1 && node.codegenNode && node.codegenNode.type === 13 && node.codegenNode.children && !shared.isArray(node.codegenNode.children) && node.codegenNode.children.type === 15) {\n const slot = getSlotNode(node.codegenNode, \"default\");\n if (slot) {\n slot.returns = getCacheExpression(\n createArrayExpression(slot.returns)\n );\n cachedAsArray = true;\n }\n } else if (node.tagType === 3 && parent && parent.type === 1 && parent.tagType === 1 && parent.codegenNode && parent.codegenNode.type === 13 && parent.codegenNode.children && !shared.isArray(parent.codegenNode.children) && parent.codegenNode.children.type === 15) {\n const slotName = findDir(node, \"slot\", true);\n const slot = slotName && slotName.arg && getSlotNode(parent.codegenNode, slotName.arg);\n if (slot) {\n slot.returns = getCacheExpression(\n createArrayExpression(slot.returns)\n );\n cachedAsArray = true;\n }\n }\n }\n if (!cachedAsArray) {\n for (const child of toCache) {\n child.codegenNode = context.cache(child.codegenNode);\n }\n }\n function getCacheExpression(value) {\n const exp = context.cache(value);\n exp.needArraySpread = true;\n return exp;\n }\n function getSlotNode(node2, name) {\n if (node2.children && !shared.isArray(node2.children) && node2.children.type === 15) {\n const slot = node2.children.properties.find(\n (p) => p.key === name || p.key.content === name\n );\n return slot && slot.value;\n }\n }\n if (toCache.length && context.transformHoist) {\n context.transformHoist(children, context, node);\n }\n}\nfunction getConstantType(node, context) {\n const { constantCache } = context;\n switch (node.type) {\n case 1:\n if (node.tagType !== 0) {\n return 0;\n }\n const cached = constantCache.get(node);\n if (cached !== void 0) {\n return cached;\n }\n const codegenNode = node.codegenNode;\n if (codegenNode.type !== 13) {\n return 0;\n }\n if (codegenNode.isBlock && node.tag !== \"svg\" && node.tag !== \"foreignObject\" && node.tag !== \"math\") {\n return 0;\n }\n if (codegenNode.patchFlag === void 0) {\n let returnType2 = 3;\n const generatedPropsType = getGeneratedPropsConstantType(node, context);\n if (generatedPropsType === 0) {\n constantCache.set(node, 0);\n return 0;\n }\n if (generatedPropsType < returnType2) {\n returnType2 = generatedPropsType;\n }\n for (let i = 0; i < node.children.length; i++) {\n const childType = getConstantType(node.children[i], context);\n if (childType === 0) {\n constantCache.set(node, 0);\n return 0;\n }\n if (childType < returnType2) {\n returnType2 = childType;\n }\n }\n if (returnType2 > 1) {\n for (let i = 0; i < node.props.length; i++) {\n const p = node.props[i];\n if (p.type === 7 && p.name === \"bind\" && p.exp) {\n const expType = getConstantType(p.exp, context);\n if (expType === 0) {\n constantCache.set(node, 0);\n return 0;\n }\n if (expType < returnType2) {\n returnType2 = expType;\n }\n }\n }\n }\n if (codegenNode.isBlock) {\n for (let i = 0; i < node.props.length; i++) {\n const p = node.props[i];\n if (p.type === 7) {\n constantCache.set(node, 0);\n return 0;\n }\n }\n context.removeHelper(OPEN_BLOCK);\n context.removeHelper(\n getVNodeBlockHelper(context.inSSR, codegenNode.isComponent)\n );\n codegenNode.isBlock = false;\n context.helper(getVNodeHelper(context.inSSR, codegenNode.isComponent));\n }\n constantCache.set(node, returnType2);\n return returnType2;\n } else {\n constantCache.set(node, 0);\n return 0;\n }\n case 2:\n case 3:\n return 3;\n case 9:\n case 11:\n case 10:\n return 0;\n case 5:\n case 12:\n return getConstantType(node.content, context);\n case 4:\n return node.constType;\n case 8:\n let returnType = 3;\n for (let i = 0; i < node.children.length; i++) {\n const child = node.children[i];\n if (shared.isString(child) || shared.isSymbol(child)) {\n continue;\n }\n const childType = getConstantType(child, context);\n if (childType === 0) {\n return 0;\n } else if (childType < returnType) {\n returnType = childType;\n }\n }\n return returnType;\n case 20:\n return 2;\n default:\n return 0;\n }\n}\nconst allowHoistedHelperSet = /* @__PURE__ */ new Set([\n NORMALIZE_CLASS,\n NORMALIZE_STYLE,\n NORMALIZE_PROPS,\n GUARD_REACTIVE_PROPS\n]);\nfunction getConstantTypeOfHelperCall(value, context) {\n if (value.type === 14 && !shared.isString(value.callee) && allowHoistedHelperSet.has(value.callee)) {\n const arg = value.arguments[0];\n if (arg.type === 4) {\n return getConstantType(arg, context);\n } else if (arg.type === 14) {\n return getConstantTypeOfHelperCall(arg, context);\n }\n }\n return 0;\n}\nfunction getGeneratedPropsConstantType(node, context) {\n let returnType = 3;\n const props = getNodeProps(node);\n if (props && props.type === 15) {\n const { properties } = props;\n for (let i = 0; i < properties.length; i++) {\n const { key, value } = properties[i];\n const keyType = getConstantType(key, context);\n if (keyType === 0) {\n return keyType;\n }\n if (keyType < returnType) {\n returnType = keyType;\n }\n let valueType;\n if (value.type === 4) {\n valueType = getConstantType(value, context);\n } else if (value.type === 14) {\n valueType = getConstantTypeOfHelperCall(value, context);\n } else {\n valueType = 0;\n }\n if (valueType === 0) {\n return valueType;\n }\n if (valueType < returnType) {\n returnType = valueType;\n }\n }\n }\n return returnType;\n}\nfunction getNodeProps(node) {\n const codegenNode = node.codegenNode;\n if (codegenNode.type === 13) {\n return codegenNode.props;\n }\n}\n\nfunction createTransformContext(root, {\n filename = \"\",\n prefixIdentifiers = false,\n hoistStatic = false,\n hmr = false,\n cacheHandlers = false,\n nodeTransforms = [],\n directiveTransforms = {},\n transformHoist = null,\n isBuiltInComponent = shared.NOOP,\n isCustomElement = shared.NOOP,\n expressionPlugins = [],\n scopeId = null,\n slotted = true,\n ssr = false,\n inSSR = false,\n ssrCssVars = ``,\n bindingMetadata = shared.EMPTY_OBJ,\n inline = false,\n isTS = false,\n onError = defaultOnError,\n onWarn = defaultOnWarn,\n compatConfig\n}) {\n const nameMatch = filename.replace(/\\?.*$/, \"\").match(/([^/\\\\]+)\\.\\w+$/);\n const context = {\n // options\n filename,\n selfName: nameMatch && shared.capitalize(shared.camelize(nameMatch[1])),\n prefixIdentifiers,\n hoistStatic,\n hmr,\n cacheHandlers,\n nodeTransforms,\n directiveTransforms,\n transformHoist,\n isBuiltInComponent,\n isCustomElement,\n expressionPlugins,\n scopeId,\n slotted,\n ssr,\n inSSR,\n ssrCssVars,\n bindingMetadata,\n inline,\n isTS,\n onError,\n onWarn,\n compatConfig,\n // state\n root,\n helpers: /* @__PURE__ */ new Map(),\n components: /* @__PURE__ */ new Set(),\n directives: /* @__PURE__ */ new Set(),\n hoists: [],\n imports: [],\n cached: [],\n constantCache: /* @__PURE__ */ new WeakMap(),\n temps: 0,\n identifiers: /* @__PURE__ */ Object.create(null),\n scopes: {\n vFor: 0,\n vSlot: 0,\n vPre: 0,\n vOnce: 0\n },\n parent: null,\n grandParent: null,\n currentNode: root,\n childIndex: 0,\n inVOnce: false,\n // methods\n helper(name) {\n const count = context.helpers.get(name) || 0;\n context.helpers.set(name, count + 1);\n return name;\n },\n removeHelper(name) {\n const count = context.helpers.get(name);\n if (count) {\n const currentCount = count - 1;\n if (!currentCount) {\n context.helpers.delete(name);\n } else {\n context.helpers.set(name, currentCount);\n }\n }\n },\n helperString(name) {\n return `_${helperNameMap[context.helper(name)]}`;\n },\n replaceNode(node) {\n context.parent.children[context.childIndex] = context.currentNode = node;\n },\n removeNode(node) {\n const list = context.parent.children;\n const removalIndex = node ? list.indexOf(node) : context.currentNode ? context.childIndex : -1;\n if (!node || node === context.currentNode) {\n context.currentNode = null;\n context.onNodeRemoved();\n } else {\n if (context.childIndex > removalIndex) {\n context.childIndex--;\n context.onNodeRemoved();\n }\n }\n context.parent.children.splice(removalIndex, 1);\n },\n onNodeRemoved: shared.NOOP,\n addIdentifiers(exp) {\n {\n if (shared.isString(exp)) {\n addId(exp);\n } else if (exp.identifiers) {\n exp.identifiers.forEach(addId);\n } else if (exp.type === 4) {\n addId(exp.content);\n }\n }\n },\n removeIdentifiers(exp) {\n {\n if (shared.isString(exp)) {\n removeId(exp);\n } else if (exp.identifiers) {\n exp.identifiers.forEach(removeId);\n } else if (exp.type === 4) {\n removeId(exp.content);\n }\n }\n },\n hoist(exp) {\n if (shared.isString(exp)) exp = createSimpleExpression(exp);\n context.hoists.push(exp);\n const identifier = createSimpleExpression(\n `_hoisted_${context.hoists.length}`,\n false,\n exp.loc,\n 2\n );\n identifier.hoisted = exp;\n return identifier;\n },\n cache(exp, isVNode = false, inVOnce = false) {\n const cacheExp = createCacheExpression(\n context.cached.length,\n exp,\n isVNode,\n inVOnce\n );\n context.cached.push(cacheExp);\n return cacheExp;\n }\n };\n {\n context.filters = /* @__PURE__ */ new Set();\n }\n function addId(id) {\n const { identifiers } = context;\n if (identifiers[id] === void 0) {\n identifiers[id] = 0;\n }\n identifiers[id]++;\n }\n function removeId(id) {\n context.identifiers[id]--;\n }\n return context;\n}\nfunction transform(root, options) {\n const context = createTransformContext(root, options);\n traverseNode(root, context);\n if (options.hoistStatic) {\n cacheStatic(root, context);\n }\n if (!options.ssr) {\n createRootCodegen(root, context);\n }\n root.helpers = /* @__PURE__ */ new Set([...context.helpers.keys()]);\n root.components = [...context.components];\n root.directives = [...context.directives];\n root.imports = context.imports;\n root.hoists = context.hoists;\n root.temps = context.temps;\n root.cached = context.cached;\n root.transformed = true;\n {\n root.filters = [...context.filters];\n }\n}\nfunction createRootCodegen(root, context) {\n const { helper } = context;\n const { children } = root;\n if (children.length === 1) {\n const singleElementRootChild = getSingleElementRoot(root);\n if (singleElementRootChild && singleElementRootChild.codegenNode) {\n const codegenNode = singleElementRootChild.codegenNode;\n if (codegenNode.type === 13) {\n convertToBlock(codegenNode, context);\n }\n root.codegenNode = codegenNode;\n } else {\n root.codegenNode = children[0];\n }\n } else if (children.length > 1) {\n let patchFlag = 64;\n root.codegenNode = createVNodeCall(\n context,\n helper(FRAGMENT),\n void 0,\n root.children,\n patchFlag,\n void 0,\n void 0,\n true,\n void 0,\n false\n );\n } else ;\n}\nfunction traverseChildren(parent, context) {\n let i = 0;\n const nodeRemoved = () => {\n i--;\n };\n for (; i < parent.children.length; i++) {\n const child = parent.children[i];\n if (shared.isString(child)) continue;\n context.grandParent = context.parent;\n context.parent = parent;\n context.childIndex = i;\n context.onNodeRemoved = nodeRemoved;\n traverseNode(child, context);\n }\n}\nfunction traverseNode(node, context) {\n context.currentNode = node;\n const { nodeTransforms } = context;\n const exitFns = [];\n for (let i2 = 0; i2 < nodeTransforms.length; i2++) {\n const onExit = nodeTransforms[i2](node, context);\n if (onExit) {\n if (shared.isArray(onExit)) {\n exitFns.push(...onExit);\n } else {\n exitFns.push(onExit);\n }\n }\n if (!context.currentNode) {\n return;\n } else {\n node = context.currentNode;\n }\n }\n switch (node.type) {\n case 3:\n if (!context.ssr) {\n context.helper(CREATE_COMMENT);\n }\n break;\n case 5:\n if (!context.ssr) {\n context.helper(TO_DISPLAY_STRING);\n }\n break;\n // for container types, further traverse downwards\n case 9:\n for (let i2 = 0; i2 < node.branches.length; i2++) {\n traverseNode(node.branches[i2], context);\n }\n break;\n case 10:\n case 11:\n case 1:\n case 0:\n traverseChildren(node, context);\n break;\n }\n context.currentNode = node;\n let i = exitFns.length;\n while (i--) {\n exitFns[i]();\n }\n}\nfunction createStructuralDirectiveTransform(name, fn) {\n const matches = shared.isString(name) ? (n) => n === name : (n) => name.test(n);\n return (node, context) => {\n if (node.type === 1) {\n const { props } = node;\n if (node.tagType === 3 && props.some(isVSlot)) {\n return;\n }\n const exitFns = [];\n for (let i = 0; i < props.length; i++) {\n const prop = props[i];\n if (prop.type === 7 && matches(prop.name)) {\n props.splice(i, 1);\n i--;\n const onExit = fn(node, prop, context);\n if (onExit) exitFns.push(onExit);\n }\n }\n return exitFns;\n }\n };\n}\n\nconst PURE_ANNOTATION = `/*@__PURE__*/`;\nconst aliasHelper = (s) => `${helperNameMap[s]}: _${helperNameMap[s]}`;\nfunction createCodegenContext(ast, {\n mode = \"function\",\n prefixIdentifiers = mode === \"module\",\n sourceMap = false,\n filename = `template.vue.html`,\n scopeId = null,\n optimizeImports = false,\n runtimeGlobalName = `Vue`,\n runtimeModuleName = `vue`,\n ssrRuntimeModuleName = \"vue/server-renderer\",\n ssr = false,\n isTS = false,\n inSSR = false\n}) {\n const context = {\n mode,\n prefixIdentifiers,\n sourceMap,\n filename,\n scopeId,\n optimizeImports,\n runtimeGlobalName,\n runtimeModuleName,\n ssrRuntimeModuleName,\n ssr,\n isTS,\n inSSR,\n source: ast.source,\n code: ``,\n column: 1,\n line: 1,\n offset: 0,\n indentLevel: 0,\n pure: false,\n map: void 0,\n helper(key) {\n return `_${helperNameMap[key]}`;\n },\n push(code, newlineIndex = -2 /* None */, node) {\n context.code += code;\n if (context.map) {\n if (node) {\n let name;\n if (node.type === 4 && !node.isStatic) {\n const content = node.content.replace(/^_ctx\\./, \"\");\n if (content !== node.content && isSimpleIdentifier(content)) {\n name = content;\n }\n }\n if (node.loc.source) {\n addMapping(node.loc.start, name);\n }\n }\n if (newlineIndex === -3 /* Unknown */) {\n advancePositionWithMutation(context, code);\n } else {\n context.offset += code.length;\n if (newlineIndex === -2 /* None */) {\n context.column += code.length;\n } else {\n if (newlineIndex === -1 /* End */) {\n newlineIndex = code.length - 1;\n }\n context.line++;\n context.column = code.length - newlineIndex;\n }\n }\n if (node && node.loc !== locStub && node.loc.source) {\n addMapping(node.loc.end);\n }\n }\n },\n indent() {\n newline(++context.indentLevel);\n },\n deindent(withoutNewLine = false) {\n if (withoutNewLine) {\n --context.indentLevel;\n } else {\n newline(--context.indentLevel);\n }\n },\n newline() {\n newline(context.indentLevel);\n }\n };\n function newline(n) {\n context.push(\"\\n\" + ` `.repeat(n), 0 /* Start */);\n }\n function addMapping(loc, name = null) {\n const { _names, _mappings } = context.map;\n if (name !== null && !_names.has(name)) _names.add(name);\n _mappings.add({\n originalLine: loc.line,\n originalColumn: loc.column - 1,\n // source-map column is 0 based\n generatedLine: context.line,\n generatedColumn: context.column - 1,\n source: filename,\n name\n });\n }\n if (sourceMap) {\n context.map = new sourceMapJs.SourceMapGenerator();\n context.map.setSourceContent(filename, context.source);\n context.map._sources.add(filename);\n }\n return context;\n}\nfunction generate(ast, options = {}) {\n const context = createCodegenContext(ast, options);\n if (options.onContextCreated) options.onContextCreated(context);\n const {\n mode,\n push,\n prefixIdentifiers,\n indent,\n deindent,\n newline,\n scopeId,\n ssr\n } = context;\n const helpers = Array.from(ast.helpers);\n const hasHelpers = helpers.length > 0;\n const useWithBlock = !prefixIdentifiers && mode !== \"module\";\n const genScopeId = scopeId != null && mode === \"module\";\n const isSetupInlined = !!options.inline;\n const preambleContext = isSetupInlined ? createCodegenContext(ast, options) : context;\n if (mode === \"module\") {\n genModulePreamble(ast, preambleContext, genScopeId, isSetupInlined);\n } else {\n genFunctionPreamble(ast, preambleContext);\n }\n const functionName = ssr ? `ssrRender` : `render`;\n const args = ssr ? [\"_ctx\", \"_push\", \"_parent\", \"_attrs\"] : [\"_ctx\", \"_cache\"];\n if (options.bindingMetadata && !options.inline) {\n args.push(\"$props\", \"$setup\", \"$data\", \"$options\");\n }\n const signature = options.isTS ? args.map((arg) => `${arg}: any`).join(\",\") : args.join(\", \");\n if (isSetupInlined) {\n push(`(${signature}) => {`);\n } else {\n push(`function ${functionName}(${signature}) {`);\n }\n indent();\n if (useWithBlock) {\n push(`with (_ctx) {`);\n indent();\n if (hasHelpers) {\n push(\n `const { ${helpers.map(aliasHelper).join(\", \")} } = _Vue\n`,\n -1 /* End */\n );\n newline();\n }\n }\n if (ast.components.length) {\n genAssets(ast.components, \"component\", context);\n if (ast.directives.length || ast.temps > 0) {\n newline();\n }\n }\n if (ast.directives.length) {\n genAssets(ast.directives, \"directive\", context);\n if (ast.temps > 0) {\n newline();\n }\n }\n if (ast.filters && ast.filters.length) {\n newline();\n genAssets(ast.filters, \"filter\", context);\n newline();\n }\n if (ast.temps > 0) {\n push(`let `);\n for (let i = 0; i < ast.temps; i++) {\n push(`${i > 0 ? `, ` : ``}_temp${i}`);\n }\n }\n if (ast.components.length || ast.directives.length || ast.temps) {\n push(`\n`, 0 /* Start */);\n newline();\n }\n if (!ssr) {\n push(`return `);\n }\n if (ast.codegenNode) {\n genNode(ast.codegenNode, context);\n } else {\n push(`null`);\n }\n if (useWithBlock) {\n deindent();\n push(`}`);\n }\n deindent();\n push(`}`);\n return {\n ast,\n code: context.code,\n preamble: isSetupInlined ? preambleContext.code : ``,\n map: context.map ? context.map.toJSON() : void 0\n };\n}\nfunction genFunctionPreamble(ast, context) {\n const {\n ssr,\n prefixIdentifiers,\n push,\n newline,\n runtimeModuleName,\n runtimeGlobalName,\n ssrRuntimeModuleName\n } = context;\n const VueBinding = ssr ? `require(${JSON.stringify(runtimeModuleName)})` : runtimeGlobalName;\n const helpers = Array.from(ast.helpers);\n if (helpers.length > 0) {\n if (prefixIdentifiers) {\n push(\n `const { ${helpers.map(aliasHelper).join(\", \")} } = ${VueBinding}\n`,\n -1 /* End */\n );\n } else {\n push(`const _Vue = ${VueBinding}\n`, -1 /* End */);\n if (ast.hoists.length) {\n const staticHelpers = [\n CREATE_VNODE,\n CREATE_ELEMENT_VNODE,\n CREATE_COMMENT,\n CREATE_TEXT,\n CREATE_STATIC\n ].filter((helper) => helpers.includes(helper)).map(aliasHelper).join(\", \");\n push(`const { ${staticHelpers} } = _Vue\n`, -1 /* End */);\n }\n }\n }\n if (ast.ssrHelpers && ast.ssrHelpers.length) {\n push(\n `const { ${ast.ssrHelpers.map(aliasHelper).join(\", \")} } = require(\"${ssrRuntimeModuleName}\")\n`,\n -1 /* End */\n );\n }\n genHoists(ast.hoists, context);\n newline();\n push(`return `);\n}\nfunction genModulePreamble(ast, context, genScopeId, inline) {\n const {\n push,\n newline,\n optimizeImports,\n runtimeModuleName,\n ssrRuntimeModuleName\n } = context;\n if (ast.helpers.size) {\n const helpers = Array.from(ast.helpers);\n if (optimizeImports) {\n push(\n `import { ${helpers.map((s) => helperNameMap[s]).join(\", \")} } from ${JSON.stringify(runtimeModuleName)}\n`,\n -1 /* End */\n );\n push(\n `\n// Binding optimization for webpack code-split\nconst ${helpers.map((s) => `_${helperNameMap[s]} = ${helperNameMap[s]}`).join(\", \")}\n`,\n -1 /* End */\n );\n } else {\n push(\n `import { ${helpers.map((s) => `${helperNameMap[s]} as _${helperNameMap[s]}`).join(\", \")} } from ${JSON.stringify(runtimeModuleName)}\n`,\n -1 /* End */\n );\n }\n }\n if (ast.ssrHelpers && ast.ssrHelpers.length) {\n push(\n `import { ${ast.ssrHelpers.map((s) => `${helperNameMap[s]} as _${helperNameMap[s]}`).join(\", \")} } from \"${ssrRuntimeModuleName}\"\n`,\n -1 /* End */\n );\n }\n if (ast.imports.length) {\n genImports(ast.imports, context);\n newline();\n }\n genHoists(ast.hoists, context);\n newline();\n if (!inline) {\n push(`export `);\n }\n}\nfunction genAssets(assets, type, { helper, push, newline, isTS }) {\n const resolver = helper(\n type === \"filter\" ? RESOLVE_FILTER : type === \"component\" ? RESOLVE_COMPONENT : RESOLVE_DIRECTIVE\n );\n for (let i = 0; i < assets.length; i++) {\n let id = assets[i];\n const maybeSelfReference = id.endsWith(\"__self\");\n if (maybeSelfReference) {\n id = id.slice(0, -6);\n }\n push(\n `const ${toValidAssetId(id, type)} = ${resolver}(${JSON.stringify(id)}${maybeSelfReference ? `, true` : ``})${isTS ? `!` : ``}`\n );\n if (i < assets.length - 1) {\n newline();\n }\n }\n}\nfunction genHoists(hoists, context) {\n if (!hoists.length) {\n return;\n }\n context.pure = true;\n const { push, newline } = context;\n newline();\n for (let i = 0; i < hoists.length; i++) {\n const exp = hoists[i];\n if (exp) {\n push(`const _hoisted_${i + 1} = `);\n genNode(exp, context);\n newline();\n }\n }\n context.pure = false;\n}\nfunction genImports(importsOptions, context) {\n if (!importsOptions.length) {\n return;\n }\n importsOptions.forEach((imports) => {\n context.push(`import `);\n genNode(imports.exp, context);\n context.push(` from '${imports.path}'`);\n context.newline();\n });\n}\nfunction isText(n) {\n return shared.isString(n) || n.type === 4 || n.type === 2 || n.type === 5 || n.type === 8;\n}\nfunction genNodeListAsArray(nodes, context) {\n const multilines = nodes.length > 3 || nodes.some((n) => shared.isArray(n) || !isText(n));\n context.push(`[`);\n multilines && context.indent();\n genNodeList(nodes, context, multilines);\n multilines && context.deindent();\n context.push(`]`);\n}\nfunction genNodeList(nodes, context, multilines = false, comma = true) {\n const { push, newline } = context;\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n if (shared.isString(node)) {\n push(node, -3 /* Unknown */);\n } else if (shared.isArray(node)) {\n genNodeListAsArray(node, context);\n } else {\n genNode(node, context);\n }\n if (i < nodes.length - 1) {\n if (multilines) {\n comma && push(\",\");\n newline();\n } else {\n comma && push(\", \");\n }\n }\n }\n}\nfunction genNode(node, context) {\n if (shared.isString(node)) {\n context.push(node, -3 /* Unknown */);\n return;\n }\n if (shared.isSymbol(node)) {\n context.push(context.helper(node));\n return;\n }\n switch (node.type) {\n case 1:\n case 9:\n case 11:\n genNode(node.codegenNode, context);\n break;\n case 2:\n genText(node, context);\n break;\n case 4:\n genExpression(node, context);\n break;\n case 5:\n genInterpolation(node, context);\n break;\n case 12:\n genNode(node.codegenNode, context);\n break;\n case 8:\n genCompoundExpression(node, context);\n break;\n case 3:\n genComment(node, context);\n break;\n case 13:\n genVNodeCall(node, context);\n break;\n case 14:\n genCallExpression(node, context);\n break;\n case 15:\n genObjectExpression(node, context);\n break;\n case 17:\n genArrayExpression(node, context);\n break;\n case 18:\n genFunctionExpression(node, context);\n break;\n case 19:\n genConditionalExpression(node, context);\n break;\n case 20:\n genCacheExpression(node, context);\n break;\n case 21:\n genNodeList(node.body, context, true, false);\n break;\n // SSR only types\n case 22:\n genTemplateLiteral(node, context);\n break;\n case 23:\n genIfStatement(node, context);\n break;\n case 24:\n genAssignmentExpression(node, context);\n break;\n case 25:\n genSequenceExpression(node, context);\n break;\n case 26:\n genReturnStatement(node, context);\n break;\n }\n}\nfunction genText(node, context) {\n context.push(JSON.stringify(node.content), -3 /* Unknown */, node);\n}\nfunction genExpression(node, context) {\n const { content, isStatic } = node;\n context.push(\n isStatic ? JSON.stringify(content) : content,\n -3 /* Unknown */,\n node\n );\n}\nfunction genInterpolation(node, context) {\n const { push, helper, pure } = context;\n if (pure) push(PURE_ANNOTATION);\n push(`${helper(TO_DISPLAY_STRING)}(`);\n genNode(node.content, context);\n push(`)`);\n}\nfunction genCompoundExpression(node, context) {\n for (let i = 0; i < node.children.length; i++) {\n const child = node.children[i];\n if (shared.isString(child)) {\n context.push(child, -3 /* Unknown */);\n } else {\n genNode(child, context);\n }\n }\n}\nfunction genExpressionAsPropertyKey(node, context) {\n const { push } = context;\n if (node.type === 8) {\n push(`[`);\n genCompoundExpression(node, context);\n push(`]`);\n } else if (node.isStatic) {\n const text = isSimpleIdentifier(node.content) ? node.content : JSON.stringify(node.content);\n push(text, -2 /* None */, node);\n } else {\n push(`[${node.content}]`, -3 /* Unknown */, node);\n }\n}\nfunction genComment(node, context) {\n const { push, helper, pure } = context;\n if (pure) {\n push(PURE_ANNOTATION);\n }\n push(\n `${helper(CREATE_COMMENT)}(${JSON.stringify(node.content)})`,\n -3 /* Unknown */,\n node\n );\n}\nfunction genVNodeCall(node, context) {\n const { push, helper, pure } = context;\n const {\n tag,\n props,\n children,\n patchFlag,\n dynamicProps,\n directives,\n isBlock,\n disableTracking,\n isComponent\n } = node;\n let patchFlagString;\n if (patchFlag) {\n {\n patchFlagString = String(patchFlag);\n }\n }\n if (directives) {\n push(helper(WITH_DIRECTIVES) + `(`);\n }\n if (isBlock) {\n push(`(${helper(OPEN_BLOCK)}(${disableTracking ? `true` : ``}), `);\n }\n if (pure) {\n push(PURE_ANNOTATION);\n }\n const callHelper = isBlock ? getVNodeBlockHelper(context.inSSR, isComponent) : getVNodeHelper(context.inSSR, isComponent);\n push(helper(callHelper) + `(`, -2 /* None */, node);\n genNodeList(\n genNullableArgs([tag, props, children, patchFlagString, dynamicProps]),\n context\n );\n push(`)`);\n if (isBlock) {\n push(`)`);\n }\n if (directives) {\n push(`, `);\n genNode(directives, context);\n push(`)`);\n }\n}\nfunction genNullableArgs(args) {\n let i = args.length;\n while (i--) {\n if (args[i] != null) break;\n }\n return args.slice(0, i + 1).map((arg) => arg || `null`);\n}\nfunction genCallExpression(node, context) {\n const { push, helper, pure } = context;\n const callee = shared.isString(node.callee) ? node.callee : helper(node.callee);\n if (pure) {\n push(PURE_ANNOTATION);\n }\n push(callee + `(`, -2 /* None */, node);\n genNodeList(node.arguments, context);\n push(`)`);\n}\nfunction genObjectExpression(node, context) {\n const { push, indent, deindent, newline } = context;\n const { properties } = node;\n if (!properties.length) {\n push(`{}`, -2 /* None */, node);\n return;\n }\n const multilines = properties.length > 1 || properties.some((p) => p.value.type !== 4);\n push(multilines ? `{` : `{ `);\n multilines && indent();\n for (let i = 0; i < properties.length; i++) {\n const { key, value } = properties[i];\n genExpressionAsPropertyKey(key, context);\n push(`: `);\n genNode(value, context);\n if (i < properties.length - 1) {\n push(`,`);\n newline();\n }\n }\n multilines && deindent();\n push(multilines ? `}` : ` }`);\n}\nfunction genArrayExpression(node, context) {\n genNodeListAsArray(node.elements, context);\n}\nfunction genFunctionExpression(node, context) {\n const { push, indent, deindent } = context;\n const { params, returns, body, newline, isSlot } = node;\n if (isSlot) {\n push(`_${helperNameMap[WITH_CTX]}(`);\n }\n push(`(`, -2 /* None */, node);\n if (shared.isArray(params)) {\n genNodeList(params, context);\n } else if (params) {\n genNode(params, context);\n }\n push(`) => `);\n if (newline || body) {\n push(`{`);\n indent();\n }\n if (returns) {\n if (newline) {\n push(`return `);\n }\n if (shared.isArray(returns)) {\n genNodeListAsArray(returns, context);\n } else {\n genNode(returns, context);\n }\n } else if (body) {\n genNode(body, context);\n }\n if (newline || body) {\n deindent();\n push(`}`);\n }\n if (isSlot) {\n if (node.isNonScopedSlot) {\n push(`, undefined, true`);\n }\n push(`)`);\n }\n}\nfunction genConditionalExpression(node, context) {\n const { test, consequent, alternate, newline: needNewline } = node;\n const { push, indent, deindent, newline } = context;\n if (test.type === 4) {\n const needsParens = !isSimpleIdentifier(test.content);\n needsParens && push(`(`);\n genExpression(test, context);\n needsParens && push(`)`);\n } else {\n push(`(`);\n genNode(test, context);\n push(`)`);\n }\n needNewline && indent();\n context.indentLevel++;\n needNewline || push(` `);\n push(`? `);\n genNode(consequent, context);\n context.indentLevel--;\n needNewline && newline();\n needNewline || push(` `);\n push(`: `);\n const isNested = alternate.type === 19;\n if (!isNested) {\n context.indentLevel++;\n }\n genNode(alternate, context);\n if (!isNested) {\n context.indentLevel--;\n }\n needNewline && deindent(\n true\n /* without newline */\n );\n}\nfunction genCacheExpression(node, context) {\n const { push, helper, indent, deindent, newline } = context;\n const { needPauseTracking, needArraySpread } = node;\n if (needArraySpread) {\n push(`[...(`);\n }\n push(`_cache[${node.index}] || (`);\n if (needPauseTracking) {\n indent();\n push(`${helper(SET_BLOCK_TRACKING)}(-1`);\n if (node.inVOnce) push(`, true`);\n push(`),`);\n newline();\n push(`(`);\n }\n push(`_cache[${node.index}] = `);\n genNode(node.value, context);\n if (needPauseTracking) {\n push(`).cacheIndex = ${node.index},`);\n newline();\n push(`${helper(SET_BLOCK_TRACKING)}(1),`);\n newline();\n push(`_cache[${node.index}]`);\n deindent();\n }\n push(`)`);\n if (needArraySpread) {\n push(`)]`);\n }\n}\nfunction genTemplateLiteral(node, context) {\n const { push, indent, deindent } = context;\n push(\"`\");\n const l = node.elements.length;\n const multilines = l > 3;\n for (let i = 0; i < l; i++) {\n const e = node.elements[i];\n if (shared.isString(e)) {\n push(e.replace(/(`|\\$|\\\\)/g, \"\\\\$1\"), -3 /* Unknown */);\n } else {\n push(\"${\");\n if (multilines) indent();\n genNode(e, context);\n if (multilines) deindent();\n push(\"}\");\n }\n }\n push(\"`\");\n}\nfunction genIfStatement(node, context) {\n const { push, indent, deindent } = context;\n const { test, consequent, alternate } = node;\n push(`if (`);\n genNode(test, context);\n push(`) {`);\n indent();\n genNode(consequent, context);\n deindent();\n push(`}`);\n if (alternate) {\n push(` else `);\n if (alternate.type === 23) {\n genIfStatement(alternate, context);\n } else {\n push(`{`);\n indent();\n genNode(alternate, context);\n deindent();\n push(`}`);\n }\n }\n}\nfunction genAssignmentExpression(node, context) {\n genNode(node.left, context);\n context.push(` = `);\n genNode(node.right, context);\n}\nfunction genSequenceExpression(node, context) {\n context.push(`(`);\n genNodeList(node.expressions, context);\n context.push(`)`);\n}\nfunction genReturnStatement({ returns }, context) {\n context.push(`return `);\n if (shared.isArray(returns)) {\n genNodeListAsArray(returns, context);\n } else {\n genNode(returns, context);\n }\n}\n\nconst isLiteralWhitelisted = /* @__PURE__ */ shared.makeMap(\"true,false,null,this\");\nconst transformExpression = (node, context) => {\n if (node.type === 5) {\n node.content = processExpression(\n node.content,\n context\n );\n } else if (node.type === 1) {\n const memo = findDir(node, \"memo\");\n for (let i = 0; i < node.props.length; i++) {\n const dir = node.props[i];\n if (dir.type === 7 && dir.name !== \"for\") {\n const exp = dir.exp;\n const arg = dir.arg;\n if (exp && exp.type === 4 && !(dir.name === \"on\" && arg) && // key has been processed in transformFor(vMemo + vFor)\n !(memo && arg && arg.type === 4 && arg.content === \"key\")) {\n dir.exp = processExpression(\n exp,\n context,\n // slot args must be processed as function params\n dir.name === \"slot\"\n );\n }\n if (arg && arg.type === 4 && !arg.isStatic) {\n dir.arg = processExpression(arg, context);\n }\n }\n }\n }\n};\nfunction processExpression(node, context, asParams = false, asRawStatements = false, localVars = Object.create(context.identifiers)) {\n if (!context.prefixIdentifiers || !node.content.trim()) {\n return node;\n }\n const { inline, bindingMetadata } = context;\n const rewriteIdentifier = (raw, parent, id) => {\n const type = shared.hasOwn(bindingMetadata, raw) && bindingMetadata[raw];\n if (inline) {\n const isAssignmentLVal = parent && parent.type === \"AssignmentExpression\" && parent.left === id;\n const isUpdateArg = parent && parent.type === \"UpdateExpression\" && parent.argument === id;\n const isDestructureAssignment = parent && isInDestructureAssignment(parent, parentStack);\n const isNewExpression = parent && isInNewExpression(parentStack);\n const wrapWithUnref = (raw2) => {\n const wrapped = `${context.helperString(UNREF)}(${raw2})`;\n return isNewExpression ? `(${wrapped})` : wrapped;\n };\n if (isConst(type) || type === \"setup-reactive-const\" || localVars[raw]) {\n return raw;\n } else if (type === \"setup-ref\") {\n return `${raw}.value`;\n } else if (type === \"setup-maybe-ref\") {\n return isAssignmentLVal || isUpdateArg || isDestructureAssignment ? `${raw}.value` : wrapWithUnref(raw);\n } else if (type === \"setup-let\") {\n if (isAssignmentLVal) {\n const { right: rVal, operator } = parent;\n const rExp = rawExp.slice(rVal.start - 1, rVal.end - 1);\n const rExpString = stringifyExpression(\n processExpression(\n createSimpleExpression(rExp, false),\n context,\n false,\n false,\n knownIds\n )\n );\n return `${context.helperString(IS_REF)}(${raw})${context.isTS ? ` //@ts-ignore\n` : ``} ? ${raw}.value ${operator} ${rExpString} : ${raw}`;\n } else if (isUpdateArg) {\n id.start = parent.start;\n id.end = parent.end;\n const { prefix: isPrefix, operator } = parent;\n const prefix = isPrefix ? operator : ``;\n const postfix = isPrefix ? `` : operator;\n return `${context.helperString(IS_REF)}(${raw})${context.isTS ? ` //@ts-ignore\n` : ``} ? ${prefix}${raw}.value${postfix} : ${prefix}${raw}${postfix}`;\n } else if (isDestructureAssignment) {\n return raw;\n } else {\n return wrapWithUnref(raw);\n }\n } else if (type === \"props\") {\n return shared.genPropsAccessExp(raw);\n } else if (type === \"props-aliased\") {\n return shared.genPropsAccessExp(bindingMetadata.__propsAliases[raw]);\n }\n } else {\n if (type && type.startsWith(\"setup\") || type === \"literal-const\") {\n return `$setup.${raw}`;\n } else if (type === \"props-aliased\") {\n return `$props['${bindingMetadata.__propsAliases[raw]}']`;\n } else if (type) {\n return `$${type}.${raw}`;\n }\n }\n return `_ctx.${raw}`;\n };\n const rawExp = node.content;\n let ast = node.ast;\n if (ast === false) {\n return node;\n }\n if (ast === null || !ast && isSimpleIdentifier(rawExp)) {\n const isScopeVarReference = context.identifiers[rawExp];\n const isAllowedGlobal = shared.isGloballyAllowed(rawExp);\n const isLiteral = isLiteralWhitelisted(rawExp);\n if (!asParams && !isScopeVarReference && !isLiteral && (!isAllowedGlobal || bindingMetadata[rawExp])) {\n if (isConst(bindingMetadata[rawExp])) {\n node.constType = 1;\n }\n node.content = rewriteIdentifier(rawExp);\n } else if (!isScopeVarReference) {\n if (isLiteral) {\n node.constType = 3;\n } else {\n node.constType = 2;\n }\n }\n return node;\n }\n if (!ast) {\n const source = asRawStatements ? ` ${rawExp} ` : `(${rawExp})${asParams ? `=>{}` : ``}`;\n try {\n ast = parser.parseExpression(source, {\n sourceType: \"module\",\n plugins: context.expressionPlugins\n });\n } catch (e) {\n context.onError(\n createCompilerError(\n 45,\n node.loc,\n void 0,\n e.message\n )\n );\n return node;\n }\n }\n const ids = [];\n const parentStack = [];\n const knownIds = Object.create(context.identifiers);\n walkIdentifiers(\n ast,\n (node2, parent, _, isReferenced, isLocal) => {\n if (isStaticPropertyKey(node2, parent)) {\n return;\n }\n if (node2.name.startsWith(\"_filter_\")) {\n return;\n }\n const needPrefix = isReferenced && canPrefix(node2);\n if (needPrefix && !isLocal) {\n if (isStaticProperty(parent) && parent.shorthand) {\n node2.prefix = `${node2.name}: `;\n }\n node2.name = rewriteIdentifier(node2.name, parent, node2);\n ids.push(node2);\n } else {\n if (!(needPrefix && isLocal) && (!parent || parent.type !== \"CallExpression\" && parent.type !== \"NewExpression\" && parent.type !== \"MemberExpression\")) {\n node2.isConstant = true;\n }\n ids.push(node2);\n }\n },\n true,\n // invoke on ALL identifiers\n parentStack,\n knownIds\n );\n const children = [];\n ids.sort((a, b) => a.start - b.start);\n ids.forEach((id, i) => {\n const start = id.start - 1;\n const end = id.end - 1;\n const last = ids[i - 1];\n const leadingText = rawExp.slice(last ? last.end - 1 : 0, start);\n if (leadingText.length || id.prefix) {\n children.push(leadingText + (id.prefix || ``));\n }\n const source = rawExp.slice(start, end);\n children.push(\n createSimpleExpression(\n id.name,\n false,\n {\n start: advancePositionWithClone(node.loc.start, source, start),\n end: advancePositionWithClone(node.loc.start, source, end),\n source\n },\n id.isConstant ? 3 : 0\n )\n );\n if (i === ids.length - 1 && end < rawExp.length) {\n children.push(rawExp.slice(end));\n }\n });\n let ret;\n if (children.length) {\n ret = createCompoundExpression(children, node.loc);\n ret.ast = ast;\n } else {\n ret = node;\n ret.constType = 3;\n }\n ret.identifiers = Object.keys(knownIds);\n return ret;\n}\nfunction canPrefix(id) {\n if (shared.isGloballyAllowed(id.name)) {\n return false;\n }\n if (id.name === \"require\") {\n return false;\n }\n return true;\n}\nfunction stringifyExpression(exp) {\n if (shared.isString(exp)) {\n return exp;\n } else if (exp.type === 4) {\n return exp.content;\n } else {\n return exp.children.map(stringifyExpression).join(\"\");\n }\n}\nfunction isConst(type) {\n return type === \"setup-const\" || type === \"literal-const\";\n}\n\nconst transformIf = createStructuralDirectiveTransform(\n /^(?:if|else|else-if)$/,\n (node, dir, context) => {\n return processIf(node, dir, context, (ifNode, branch, isRoot) => {\n const siblings = context.parent.children;\n let i = siblings.indexOf(ifNode);\n let key = 0;\n while (i-- >= 0) {\n const sibling = siblings[i];\n if (sibling && sibling.type === 9) {\n key += sibling.branches.length;\n }\n }\n return () => {\n if (isRoot) {\n ifNode.codegenNode = createCodegenNodeForBranch(\n branch,\n key,\n context\n );\n } else {\n const parentCondition = getParentCondition(ifNode.codegenNode);\n parentCondition.alternate = createCodegenNodeForBranch(\n branch,\n key + ifNode.branches.length - 1,\n context\n );\n }\n };\n });\n }\n);\nfunction processIf(node, dir, context, processCodegen) {\n if (dir.name !== \"else\" && (!dir.exp || !dir.exp.content.trim())) {\n const loc = dir.exp ? dir.exp.loc : node.loc;\n context.onError(\n createCompilerError(28, dir.loc)\n );\n dir.exp = createSimpleExpression(`true`, false, loc);\n }\n if (context.prefixIdentifiers && dir.exp) {\n dir.exp = processExpression(dir.exp, context);\n }\n if (dir.name === \"if\") {\n const branch = createIfBranch(node, dir);\n const ifNode = {\n type: 9,\n loc: cloneLoc(node.loc),\n branches: [branch]\n };\n context.replaceNode(ifNode);\n if (processCodegen) {\n return processCodegen(ifNode, branch, true);\n }\n } else {\n const siblings = context.parent.children;\n let i = siblings.indexOf(node);\n while (i-- >= -1) {\n const sibling = siblings[i];\n if (sibling && sibling.type === 3) {\n context.removeNode(sibling);\n continue;\n }\n if (sibling && sibling.type === 2 && !sibling.content.trim().length) {\n context.removeNode(sibling);\n continue;\n }\n if (sibling && sibling.type === 9) {\n if ((dir.name === \"else-if\" || dir.name === \"else\") && sibling.branches[sibling.branches.length - 1].condition === void 0) {\n context.onError(\n createCompilerError(30, node.loc)\n );\n }\n context.removeNode();\n const branch = createIfBranch(node, dir);\n {\n const key = branch.userKey;\n if (key) {\n sibling.branches.forEach(({ userKey }) => {\n if (isSameKey(userKey, key)) {\n context.onError(\n createCompilerError(\n 29,\n branch.userKey.loc\n )\n );\n }\n });\n }\n }\n sibling.branches.push(branch);\n const onExit = processCodegen && processCodegen(sibling, branch, false);\n traverseNode(branch, context);\n if (onExit) onExit();\n context.currentNode = null;\n } else {\n context.onError(\n createCompilerError(30, node.loc)\n );\n }\n break;\n }\n }\n}\nfunction createIfBranch(node, dir) {\n const isTemplateIf = node.tagType === 3;\n return {\n type: 10,\n loc: node.loc,\n condition: dir.name === \"else\" ? void 0 : dir.exp,\n children: isTemplateIf && !findDir(node, \"for\") ? node.children : [node],\n userKey: findProp(node, `key`),\n isTemplateIf\n };\n}\nfunction createCodegenNodeForBranch(branch, keyIndex, context) {\n if (branch.condition) {\n return createConditionalExpression(\n branch.condition,\n createChildrenCodegenNode(branch, keyIndex, context),\n // make sure to pass in asBlock: true so that the comment node call\n // closes the current block.\n createCallExpression(context.helper(CREATE_COMMENT), [\n '\"\"',\n \"true\"\n ])\n );\n } else {\n return createChildrenCodegenNode(branch, keyIndex, context);\n }\n}\nfunction createChildrenCodegenNode(branch, keyIndex, context) {\n const { helper } = context;\n const keyProperty = createObjectProperty(\n `key`,\n createSimpleExpression(\n `${keyIndex}`,\n false,\n locStub,\n 2\n )\n );\n const { children } = branch;\n const firstChild = children[0];\n const needFragmentWrapper = children.length !== 1 || firstChild.type !== 1;\n if (needFragmentWrapper) {\n if (children.length === 1 && firstChild.type === 11) {\n const vnodeCall = firstChild.codegenNode;\n injectProp(vnodeCall, keyProperty, context);\n return vnodeCall;\n } else {\n let patchFlag = 64;\n return createVNodeCall(\n context,\n helper(FRAGMENT),\n createObjectExpression([keyProperty]),\n children,\n patchFlag,\n void 0,\n void 0,\n true,\n false,\n false,\n branch.loc\n );\n }\n } else {\n const ret = firstChild.codegenNode;\n const vnodeCall = getMemoedVNodeCall(ret);\n if (vnodeCall.type === 13) {\n convertToBlock(vnodeCall, context);\n }\n injectProp(vnodeCall, keyProperty, context);\n return ret;\n }\n}\nfunction isSameKey(a, b) {\n if (!a || a.type !== b.type) {\n return false;\n }\n if (a.type === 6) {\n if (a.value.content !== b.value.content) {\n return false;\n }\n } else {\n const exp = a.exp;\n const branchExp = b.exp;\n if (exp.type !== branchExp.type) {\n return false;\n }\n if (exp.type !== 4 || exp.isStatic !== branchExp.isStatic || exp.content !== branchExp.content) {\n return false;\n }\n }\n return true;\n}\nfunction getParentCondition(node) {\n while (true) {\n if (node.type === 19) {\n if (node.alternate.type === 19) {\n node = node.alternate;\n } else {\n return node;\n }\n } else if (node.type === 20) {\n node = node.value;\n }\n }\n}\n\nconst transformFor = createStructuralDirectiveTransform(\n \"for\",\n (node, dir, context) => {\n const { helper, removeHelper } = context;\n return processFor(node, dir, context, (forNode) => {\n const renderExp = createCallExpression(helper(RENDER_LIST), [\n forNode.source\n ]);\n const isTemplate = isTemplateNode(node);\n const memo = findDir(node, \"memo\");\n const keyProp = findProp(node, `key`, false, true);\n const isDirKey = keyProp && keyProp.type === 7;\n let keyExp = keyProp && (keyProp.type === 6 ? keyProp.value ? createSimpleExpression(keyProp.value.content, true) : void 0 : keyProp.exp);\n if (memo && keyExp && isDirKey) {\n {\n keyProp.exp = keyExp = processExpression(\n keyExp,\n context\n );\n }\n }\n const keyProperty = keyProp && keyExp ? createObjectProperty(`key`, keyExp) : null;\n if (isTemplate) {\n if (memo) {\n memo.exp = processExpression(\n memo.exp,\n context\n );\n }\n if (keyProperty && keyProp.type !== 6) {\n keyProperty.value = processExpression(\n keyProperty.value,\n context\n );\n }\n }\n const isStableFragment = forNode.source.type === 4 && forNode.source.constType > 0;\n const fragmentFlag = isStableFragment ? 64 : keyProp ? 128 : 256;\n forNode.codegenNode = createVNodeCall(\n context,\n helper(FRAGMENT),\n void 0,\n renderExp,\n fragmentFlag,\n void 0,\n void 0,\n true,\n !isStableFragment,\n false,\n node.loc\n );\n return () => {\n let childBlock;\n const { children } = forNode;\n if (isTemplate) {\n node.children.some((c) => {\n if (c.type === 1) {\n const key = findProp(c, \"key\");\n if (key) {\n context.onError(\n createCompilerError(\n 33,\n key.loc\n )\n );\n return true;\n }\n }\n });\n }\n const needFragmentWrapper = children.length !== 1 || children[0].type !== 1;\n const slotOutlet = isSlotOutlet(node) ? node : isTemplate && node.children.length === 1 && isSlotOutlet(node.children[0]) ? node.children[0] : null;\n if (slotOutlet) {\n childBlock = slotOutlet.codegenNode;\n if (isTemplate && keyProperty) {\n injectProp(childBlock, keyProperty, context);\n }\n } else if (needFragmentWrapper) {\n childBlock = createVNodeCall(\n context,\n helper(FRAGMENT),\n keyProperty ? createObjectExpression([keyProperty]) : void 0,\n node.children,\n 64,\n void 0,\n void 0,\n true,\n void 0,\n false\n );\n } else {\n childBlock = children[0].codegenNode;\n if (isTemplate && keyProperty) {\n injectProp(childBlock, keyProperty, context);\n }\n if (childBlock.isBlock !== !isStableFragment) {\n if (childBlock.isBlock) {\n removeHelper(OPEN_BLOCK);\n removeHelper(\n getVNodeBlockHelper(context.inSSR, childBlock.isComponent)\n );\n } else {\n removeHelper(\n getVNodeHelper(context.inSSR, childBlock.isComponent)\n );\n }\n }\n childBlock.isBlock = !isStableFragment;\n if (childBlock.isBlock) {\n helper(OPEN_BLOCK);\n helper(getVNodeBlockHelper(context.inSSR, childBlock.isComponent));\n } else {\n helper(getVNodeHelper(context.inSSR, childBlock.isComponent));\n }\n }\n if (memo) {\n const loop = createFunctionExpression(\n createForLoopParams(forNode.parseResult, [\n createSimpleExpression(`_cached`)\n ])\n );\n loop.body = createBlockStatement([\n createCompoundExpression([`const _memo = (`, memo.exp, `)`]),\n createCompoundExpression([\n `if (_cached`,\n ...keyExp ? [` && _cached.key === `, keyExp] : [],\n ` && ${context.helperString(\n IS_MEMO_SAME\n )}(_cached, _memo)) return _cached`\n ]),\n createCompoundExpression([`const _item = `, childBlock]),\n createSimpleExpression(`_item.memo = _memo`),\n createSimpleExpression(`return _item`)\n ]);\n renderExp.arguments.push(\n loop,\n createSimpleExpression(`_cache`),\n createSimpleExpression(String(context.cached.length))\n );\n context.cached.push(null);\n } else {\n renderExp.arguments.push(\n createFunctionExpression(\n createForLoopParams(forNode.parseResult),\n childBlock,\n true\n )\n );\n }\n };\n });\n }\n);\nfunction processFor(node, dir, context, processCodegen) {\n if (!dir.exp) {\n context.onError(\n createCompilerError(31, dir.loc)\n );\n return;\n }\n const parseResult = dir.forParseResult;\n if (!parseResult) {\n context.onError(\n createCompilerError(32, dir.loc)\n );\n return;\n }\n finalizeForParseResult(parseResult, context);\n const { addIdentifiers, removeIdentifiers, scopes } = context;\n const { source, value, key, index } = parseResult;\n const forNode = {\n type: 11,\n loc: dir.loc,\n source,\n valueAlias: value,\n keyAlias: key,\n objectIndexAlias: index,\n parseResult,\n children: isTemplateNode(node) ? node.children : [node]\n };\n context.replaceNode(forNode);\n scopes.vFor++;\n if (context.prefixIdentifiers) {\n value && addIdentifiers(value);\n key && addIdentifiers(key);\n index && addIdentifiers(index);\n }\n const onExit = processCodegen && processCodegen(forNode);\n return () => {\n scopes.vFor--;\n if (context.prefixIdentifiers) {\n value && removeIdentifiers(value);\n key && removeIdentifiers(key);\n index && removeIdentifiers(index);\n }\n if (onExit) onExit();\n };\n}\nfunction finalizeForParseResult(result, context) {\n if (result.finalized) return;\n if (context.prefixIdentifiers) {\n result.source = processExpression(\n result.source,\n context\n );\n if (result.key) {\n result.key = processExpression(\n result.key,\n context,\n true\n );\n }\n if (result.index) {\n result.index = processExpression(\n result.index,\n context,\n true\n );\n }\n if (result.value) {\n result.value = processExpression(\n result.value,\n context,\n true\n );\n }\n }\n result.finalized = true;\n}\nfunction createForLoopParams({ value, key, index }, memoArgs = []) {\n return createParamsList([value, key, index, ...memoArgs]);\n}\nfunction createParamsList(args) {\n let i = args.length;\n while (i--) {\n if (args[i]) break;\n }\n return args.slice(0, i + 1).map((arg, i2) => arg || createSimpleExpression(`_`.repeat(i2 + 1), false));\n}\n\nconst defaultFallback = createSimpleExpression(`undefined`, false);\nconst trackSlotScopes = (node, context) => {\n if (node.type === 1 && (node.tagType === 1 || node.tagType === 3)) {\n const vSlot = findDir(node, \"slot\");\n if (vSlot) {\n const slotProps = vSlot.exp;\n if (context.prefixIdentifiers) {\n slotProps && context.addIdentifiers(slotProps);\n }\n context.scopes.vSlot++;\n return () => {\n if (context.prefixIdentifiers) {\n slotProps && context.removeIdentifiers(slotProps);\n }\n context.scopes.vSlot--;\n };\n }\n }\n};\nconst trackVForSlotScopes = (node, context) => {\n let vFor;\n if (isTemplateNode(node) && node.props.some(isVSlot) && (vFor = findDir(node, \"for\"))) {\n const result = vFor.forParseResult;\n if (result) {\n finalizeForParseResult(result, context);\n const { value, key, index } = result;\n const { addIdentifiers, removeIdentifiers } = context;\n value && addIdentifiers(value);\n key && addIdentifiers(key);\n index && addIdentifiers(index);\n return () => {\n value && removeIdentifiers(value);\n key && removeIdentifiers(key);\n index && removeIdentifiers(index);\n };\n }\n }\n};\nconst buildClientSlotFn = (props, _vForExp, children, loc) => createFunctionExpression(\n props,\n children,\n false,\n true,\n children.length ? children[0].loc : loc\n);\nfunction buildSlots(node, context, buildSlotFn = buildClientSlotFn) {\n context.helper(WITH_CTX);\n const { children, loc } = node;\n const slotsProperties = [];\n const dynamicSlots = [];\n let hasDynamicSlots = context.scopes.vSlot > 0 || context.scopes.vFor > 0;\n if (!context.ssr && context.prefixIdentifiers) {\n hasDynamicSlots = node.props.some(\n (prop) => isVSlot(prop) && (hasScopeRef(prop.arg, context.identifiers) || hasScopeRef(prop.exp, context.identifiers))\n ) || children.some((child) => hasScopeRef(child, context.identifiers));\n }\n const onComponentSlot = findDir(node, \"slot\", true);\n if (onComponentSlot) {\n const { arg, exp } = onComponentSlot;\n if (arg && !isStaticExp(arg)) {\n hasDynamicSlots = true;\n }\n slotsProperties.push(\n createObjectProperty(\n arg || createSimpleExpression(\"default\", true),\n buildSlotFn(exp, void 0, children, loc)\n )\n );\n }\n let hasTemplateSlots = false;\n let hasNamedDefaultSlot = false;\n const implicitDefaultChildren = [];\n const seenSlotNames = /* @__PURE__ */ new Set();\n let conditionalBranchIndex = 0;\n for (let i = 0; i < children.length; i++) {\n const slotElement = children[i];\n let slotDir;\n if (!isTemplateNode(slotElement) || !(slotDir = findDir(slotElement, \"slot\", true))) {\n if (slotElement.type !== 3) {\n implicitDefaultChildren.push(slotElement);\n }\n continue;\n }\n if (onComponentSlot) {\n context.onError(\n createCompilerError(37, slotDir.loc)\n );\n break;\n }\n hasTemplateSlots = true;\n const { children: slotChildren, loc: slotLoc } = slotElement;\n const {\n arg: slotName = createSimpleExpression(`default`, true),\n exp: slotProps,\n loc: dirLoc\n } = slotDir;\n let staticSlotName;\n if (isStaticExp(slotName)) {\n staticSlotName = slotName ? slotName.content : `default`;\n } else {\n hasDynamicSlots = true;\n }\n const vFor = findDir(slotElement, \"for\");\n const slotFunction = buildSlotFn(slotProps, vFor, slotChildren, slotLoc);\n let vIf;\n let vElse;\n if (vIf = findDir(slotElement, \"if\")) {\n hasDynamicSlots = true;\n dynamicSlots.push(\n createConditionalExpression(\n vIf.exp,\n buildDynamicSlot(slotName, slotFunction, conditionalBranchIndex++),\n defaultFallback\n )\n );\n } else if (vElse = findDir(\n slotElement,\n /^else(?:-if)?$/,\n true\n /* allowEmpty */\n )) {\n let j = i;\n let prev;\n while (j--) {\n prev = children[j];\n if (prev.type !== 3 && isNonWhitespaceContent(prev)) {\n break;\n }\n }\n if (prev && isTemplateNode(prev) && findDir(prev, /^(?:else-)?if$/)) {\n let conditional = dynamicSlots[dynamicSlots.length - 1];\n while (conditional.alternate.type === 19) {\n conditional = conditional.alternate;\n }\n conditional.alternate = vElse.exp ? createConditionalExpression(\n vElse.exp,\n buildDynamicSlot(\n slotName,\n slotFunction,\n conditionalBranchIndex++\n ),\n defaultFallback\n ) : buildDynamicSlot(slotName, slotFunction, conditionalBranchIndex++);\n } else {\n context.onError(\n createCompilerError(30, vElse.loc)\n );\n }\n } else if (vFor) {\n hasDynamicSlots = true;\n const parseResult = vFor.forParseResult;\n if (parseResult) {\n finalizeForParseResult(parseResult, context);\n dynamicSlots.push(\n createCallExpression(context.helper(RENDER_LIST), [\n parseResult.source,\n createFunctionExpression(\n createForLoopParams(parseResult),\n buildDynamicSlot(slotName, slotFunction),\n true\n )\n ])\n );\n } else {\n context.onError(\n createCompilerError(\n 32,\n vFor.loc\n )\n );\n }\n } else {\n if (staticSlotName) {\n if (seenSlotNames.has(staticSlotName)) {\n context.onError(\n createCompilerError(\n 38,\n dirLoc\n )\n );\n continue;\n }\n seenSlotNames.add(staticSlotName);\n if (staticSlotName === \"default\") {\n hasNamedDefaultSlot = true;\n }\n }\n slotsProperties.push(createObjectProperty(slotName, slotFunction));\n }\n }\n if (!onComponentSlot) {\n const buildDefaultSlotProperty = (props, children2) => {\n const fn = buildSlotFn(props, void 0, children2, loc);\n if (context.compatConfig) {\n fn.isNonScopedSlot = true;\n }\n return createObjectProperty(`default`, fn);\n };\n if (!hasTemplateSlots) {\n slotsProperties.push(buildDefaultSlotProperty(void 0, children));\n } else if (implicitDefaultChildren.length && // #3766\n // with whitespace: 'preserve', whitespaces between slots will end up in\n // implicitDefaultChildren. Ignore if all implicit children are whitespaces.\n implicitDefaultChildren.some((node2) => isNonWhitespaceContent(node2))) {\n if (hasNamedDefaultSlot) {\n context.onError(\n createCompilerError(\n 39,\n implicitDefaultChildren[0].loc\n )\n );\n } else {\n slotsProperties.push(\n buildDefaultSlotProperty(void 0, implicitDefaultChildren)\n );\n }\n }\n }\n const slotFlag = hasDynamicSlots ? 2 : hasForwardedSlots(node.children) ? 3 : 1;\n let slots = createObjectExpression(\n slotsProperties.concat(\n createObjectProperty(\n `_`,\n // 2 = compiled but dynamic = can skip normalization, but must run diff\n // 1 = compiled and static = can skip normalization AND diff as optimized\n createSimpleExpression(\n slotFlag + (``),\n false\n )\n )\n ),\n loc\n );\n if (dynamicSlots.length) {\n slots = createCallExpression(context.helper(CREATE_SLOTS), [\n slots,\n createArrayExpression(dynamicSlots)\n ]);\n }\n return {\n slots,\n hasDynamicSlots\n };\n}\nfunction buildDynamicSlot(name, fn, index) {\n const props = [\n createObjectProperty(`name`, name),\n createObjectProperty(`fn`, fn)\n ];\n if (index != null) {\n props.push(\n createObjectProperty(`key`, createSimpleExpression(String(index), true))\n );\n }\n return createObjectExpression(props);\n}\nfunction hasForwardedSlots(children) {\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n switch (child.type) {\n case 1:\n if (child.tagType === 2 || hasForwardedSlots(child.children)) {\n return true;\n }\n break;\n case 9:\n if (hasForwardedSlots(child.branches)) return true;\n break;\n case 10:\n case 11:\n if (hasForwardedSlots(child.children)) return true;\n break;\n }\n }\n return false;\n}\nfunction isNonWhitespaceContent(node) {\n if (node.type !== 2 && node.type !== 12)\n return true;\n return node.type === 2 ? !!node.content.trim() : isNonWhitespaceContent(node.content);\n}\n\nconst directiveImportMap = /* @__PURE__ */ new WeakMap();\nconst transformElement = (node, context) => {\n return function postTransformElement() {\n node = context.currentNode;\n if (!(node.type === 1 && (node.tagType === 0 || node.tagType === 1))) {\n return;\n }\n const { tag, props } = node;\n const isComponent = node.tagType === 1;\n let vnodeTag = isComponent ? resolveComponentType(node, context) : `\"${tag}\"`;\n const isDynamicComponent = shared.isObject(vnodeTag) && vnodeTag.callee === RESOLVE_DYNAMIC_COMPONENT;\n let vnodeProps;\n let vnodeChildren;\n let patchFlag = 0;\n let vnodeDynamicProps;\n let dynamicPropNames;\n let vnodeDirectives;\n let shouldUseBlock = (\n // dynamic component may resolve to plain elements\n isDynamicComponent || vnodeTag === TELEPORT || vnodeTag === SUSPENSE || !isComponent && // <svg> and <foreignObject> must be forced into blocks so that block\n // updates inside get proper isSVG flag at runtime. (#639, #643)\n // This is technically web-specific, but splitting the logic out of core\n // leads to too much unnecessary complexity.\n (tag === \"svg\" || tag === \"foreignObject\" || tag === \"math\")\n );\n if (props.length > 0) {\n const propsBuildResult = buildProps(\n node,\n context,\n void 0,\n isComponent,\n isDynamicComponent\n );\n vnodeProps = propsBuildResult.props;\n patchFlag = propsBuildResult.patchFlag;\n dynamicPropNames = propsBuildResult.dynamicPropNames;\n const directives = propsBuildResult.directives;\n vnodeDirectives = directives && directives.length ? createArrayExpression(\n directives.map((dir) => buildDirectiveArgs(dir, context))\n ) : void 0;\n if (propsBuildResult.shouldUseBlock) {\n shouldUseBlock = true;\n }\n }\n if (node.children.length > 0) {\n if (vnodeTag === KEEP_ALIVE) {\n shouldUseBlock = true;\n patchFlag |= 1024;\n }\n const shouldBuildAsSlots = isComponent && // Teleport is not a real component and has dedicated runtime handling\n vnodeTag !== TELEPORT && // explained above.\n vnodeTag !== KEEP_ALIVE;\n if (shouldBuildAsSlots) {\n const { slots, hasDynamicSlots } = buildSlots(node, context);\n vnodeChildren = slots;\n if (hasDynamicSlots) {\n patchFlag |= 1024;\n }\n } else if (node.children.length === 1 && vnodeTag !== TELEPORT) {\n const child = node.children[0];\n const type = child.type;\n const hasDynamicTextChild = type === 5 || type === 8;\n if (hasDynamicTextChild && getConstantType(child, context) === 0) {\n patchFlag |= 1;\n }\n if (hasDynamicTextChild || type === 2) {\n vnodeChildren = child;\n } else {\n vnodeChildren = node.children;\n }\n } else {\n vnodeChildren = node.children;\n }\n }\n if (dynamicPropNames && dynamicPropNames.length) {\n vnodeDynamicProps = stringifyDynamicPropNames(dynamicPropNames);\n }\n node.codegenNode = createVNodeCall(\n context,\n vnodeTag,\n vnodeProps,\n vnodeChildren,\n patchFlag === 0 ? void 0 : patchFlag,\n vnodeDynamicProps,\n vnodeDirectives,\n !!shouldUseBlock,\n false,\n isComponent,\n node.loc\n );\n };\n};\nfunction resolveComponentType(node, context, ssr = false) {\n let { tag } = node;\n const isExplicitDynamic = isComponentTag(tag);\n const isProp = findProp(\n node,\n \"is\",\n false,\n true\n /* allow empty */\n );\n if (isProp) {\n if (isExplicitDynamic || isCompatEnabled(\n \"COMPILER_IS_ON_ELEMENT\",\n context\n )) {\n let exp;\n if (isProp.type === 6) {\n exp = isProp.value && createSimpleExpression(isProp.value.content, true);\n } else {\n exp = isProp.exp;\n if (!exp) {\n exp = createSimpleExpression(`is`, false, isProp.arg.loc);\n {\n exp = isProp.exp = processExpression(exp, context);\n }\n }\n }\n if (exp) {\n return createCallExpression(context.helper(RESOLVE_DYNAMIC_COMPONENT), [\n exp\n ]);\n }\n } else if (isProp.type === 6 && isProp.value.content.startsWith(\"vue:\")) {\n tag = isProp.value.content.slice(4);\n }\n }\n const builtIn = isCoreComponent(tag) || context.isBuiltInComponent(tag);\n if (builtIn) {\n if (!ssr) context.helper(builtIn);\n return builtIn;\n }\n {\n const fromSetup = resolveSetupReference(tag, context);\n if (fromSetup) {\n return fromSetup;\n }\n const dotIndex = tag.indexOf(\".\");\n if (dotIndex > 0) {\n const ns = resolveSetupReference(tag.slice(0, dotIndex), context);\n if (ns) {\n return ns + tag.slice(dotIndex);\n }\n }\n }\n if (context.selfName && shared.capitalize(shared.camelize(tag)) === context.selfName) {\n context.helper(RESOLVE_COMPONENT);\n context.components.add(tag + `__self`);\n return toValidAssetId(tag, `component`);\n }\n context.helper(RESOLVE_COMPONENT);\n context.components.add(tag);\n return toValidAssetId(tag, `component`);\n}\nfunction resolveSetupReference(name, context) {\n const bindings = context.bindingMetadata;\n if (!bindings || bindings.__isScriptSetup === false) {\n return;\n }\n const camelName = shared.camelize(name);\n const PascalName = shared.capitalize(camelName);\n const checkType = (type) => {\n if (bindings[name] === type) {\n return name;\n }\n if (bindings[camelName] === type) {\n return camelName;\n }\n if (bindings[PascalName] === type) {\n return PascalName;\n }\n };\n const fromConst = checkType(\"setup-const\") || checkType(\"setup-reactive-const\") || checkType(\"literal-const\");\n if (fromConst) {\n return context.inline ? (\n // in inline mode, const setup bindings (e.g. imports) can be used as-is\n fromConst\n ) : `$setup[${JSON.stringify(fromConst)}]`;\n }\n const fromMaybeRef = checkType(\"setup-let\") || checkType(\"setup-ref\") || checkType(\"setup-maybe-ref\");\n if (fromMaybeRef) {\n return context.inline ? (\n // setup scope bindings that may be refs need to be unrefed\n `${context.helperString(UNREF)}(${fromMaybeRef})`\n ) : `$setup[${JSON.stringify(fromMaybeRef)}]`;\n }\n const fromProps = checkType(\"props\");\n if (fromProps) {\n return `${context.helperString(UNREF)}(${context.inline ? \"__props\" : \"$props\"}[${JSON.stringify(fromProps)}])`;\n }\n}\nfunction buildProps(node, context, props = node.props, isComponent, isDynamicComponent, ssr = false) {\n const { tag, loc: elementLoc, children } = node;\n let properties = [];\n const mergeArgs = [];\n const runtimeDirectives = [];\n const hasChildren = children.length > 0;\n let shouldUseBlock = false;\n let patchFlag = 0;\n let hasRef = false;\n let hasClassBinding = false;\n let hasStyleBinding = false;\n let hasHydrationEventBinding = false;\n let hasDynamicKeys = false;\n let hasVnodeHook = false;\n const dynamicPropNames = [];\n const pushMergeArg = (arg) => {\n if (properties.length) {\n mergeArgs.push(\n createObjectExpression(dedupeProperties(properties), elementLoc)\n );\n properties = [];\n }\n if (arg) mergeArgs.push(arg);\n };\n const pushRefVForMarker = () => {\n if (context.scopes.vFor > 0) {\n properties.push(\n createObjectProperty(\n createSimpleExpression(\"ref_for\", true),\n createSimpleExpression(\"true\")\n )\n );\n }\n };\n const analyzePatchFlag = ({ key, value }) => {\n if (isStaticExp(key)) {\n const name = key.content;\n const isEventHandler = shared.isOn(name);\n if (isEventHandler && (!isComponent || isDynamicComponent) && // omit the flag for click handlers because hydration gives click\n // dedicated fast path.\n name.toLowerCase() !== \"onclick\" && // omit v-model handlers\n name !== \"onUpdate:modelValue\" && // omit onVnodeXXX hooks\n !shared.isReservedProp(name)) {\n hasHydrationEventBinding = true;\n }\n if (isEventHandler && shared.isReservedProp(name)) {\n hasVnodeHook = true;\n }\n if (isEventHandler && value.type === 14) {\n value = value.arguments[0];\n }\n if (value.type === 20 || (value.type === 4 || value.type === 8) && getConstantType(value, context) > 0) {\n return;\n }\n if (name === \"ref\") {\n hasRef = true;\n } else if (name === \"class\") {\n hasClassBinding = true;\n } else if (name === \"style\") {\n hasStyleBinding = true;\n } else if (name !== \"key\" && !dynamicPropNames.includes(name)) {\n dynamicPropNames.push(name);\n }\n if (isComponent && (name === \"class\" || name === \"style\") && !dynamicPropNames.includes(name)) {\n dynamicPropNames.push(name);\n }\n } else {\n hasDynamicKeys = true;\n }\n };\n for (let i = 0; i < props.length; i++) {\n const prop = props[i];\n if (prop.type === 6) {\n const { loc, name, nameLoc, value } = prop;\n let isStatic = true;\n if (name === \"ref\") {\n hasRef = true;\n pushRefVForMarker();\n if (value && context.inline) {\n const binding = context.bindingMetadata[value.content];\n if (binding === \"setup-let\" || binding === \"setup-ref\" || binding === \"setup-maybe-ref\") {\n isStatic = false;\n properties.push(\n createObjectProperty(\n createSimpleExpression(\"ref_key\", true),\n createSimpleExpression(value.content, true, value.loc)\n )\n );\n }\n }\n }\n if (name === \"is\" && (isComponentTag(tag) || value && value.content.startsWith(\"vue:\") || isCompatEnabled(\n \"COMPILER_IS_ON_ELEMENT\",\n context\n ))) {\n continue;\n }\n properties.push(\n createObjectProperty(\n createSimpleExpression(name, true, nameLoc),\n createSimpleExpression(\n value ? value.content : \"\",\n isStatic,\n value ? value.loc : loc\n )\n )\n );\n } else {\n const { name, arg, exp, loc, modifiers } = prop;\n const isVBind = name === \"bind\";\n const isVOn = name === \"on\";\n if (name === \"slot\") {\n if (!isComponent) {\n context.onError(\n createCompilerError(40, loc)\n );\n }\n continue;\n }\n if (name === \"once\" || name === \"memo\") {\n continue;\n }\n if (name === \"is\" || isVBind && isStaticArgOf(arg, \"is\") && (isComponentTag(tag) || isCompatEnabled(\n \"COMPILER_IS_ON_ELEMENT\",\n context\n ))) {\n continue;\n }\n if (isVOn && ssr) {\n continue;\n }\n if (\n // #938: elements with dynamic keys should be forced into blocks\n isVBind && isStaticArgOf(arg, \"key\") || // inline before-update hooks need to force block so that it is invoked\n // before children\n isVOn && hasChildren && isStaticArgOf(arg, \"vue:before-update\")\n ) {\n shouldUseBlock = true;\n }\n if (isVBind && isStaticArgOf(arg, \"ref\")) {\n pushRefVForMarker();\n }\n if (!arg && (isVBind || isVOn)) {\n hasDynamicKeys = true;\n if (exp) {\n if (isVBind) {\n {\n pushMergeArg();\n if (isCompatEnabled(\n \"COMPILER_V_BIND_OBJECT_ORDER\",\n context\n )) {\n mergeArgs.unshift(exp);\n continue;\n }\n }\n pushRefVForMarker();\n pushMergeArg();\n mergeArgs.push(exp);\n } else {\n pushMergeArg({\n type: 14,\n loc,\n callee: context.helper(TO_HANDLERS),\n arguments: isComponent ? [exp] : [exp, `true`]\n });\n }\n } else {\n context.onError(\n createCompilerError(\n isVBind ? 34 : 35,\n loc\n )\n );\n }\n continue;\n }\n if (isVBind && modifiers.some((mod) => mod.content === \"prop\")) {\n patchFlag |= 32;\n }\n const directiveTransform = context.directiveTransforms[name];\n if (directiveTransform) {\n const { props: props2, needRuntime } = directiveTransform(prop, node, context);\n !ssr && props2.forEach(analyzePatchFlag);\n if (isVOn && arg && !isStaticExp(arg)) {\n pushMergeArg(createObjectExpression(props2, elementLoc));\n } else {\n properties.push(...props2);\n }\n if (needRuntime) {\n runtimeDirectives.push(prop);\n if (shared.isSymbol(needRuntime)) {\n directiveImportMap.set(prop, needRuntime);\n }\n }\n } else if (!shared.isBuiltInDirective(name)) {\n runtimeDirectives.push(prop);\n if (hasChildren) {\n shouldUseBlock = true;\n }\n }\n }\n }\n let propsExpression = void 0;\n if (mergeArgs.length) {\n pushMergeArg();\n if (mergeArgs.length > 1) {\n propsExpression = createCallExpression(\n context.helper(MERGE_PROPS),\n mergeArgs,\n elementLoc\n );\n } else {\n propsExpression = mergeArgs[0];\n }\n } else if (properties.length) {\n propsExpression = createObjectExpression(\n dedupeProperties(properties),\n elementLoc\n );\n }\n if (hasDynamicKeys) {\n patchFlag |= 16;\n } else {\n if (hasClassBinding && !isComponent) {\n patchFlag |= 2;\n }\n if (hasStyleBinding && !isComponent) {\n patchFlag |= 4;\n }\n if (dynamicPropNames.length) {\n patchFlag |= 8;\n }\n if (hasHydrationEventBinding) {\n patchFlag |= 32;\n }\n }\n if (!shouldUseBlock && (patchFlag === 0 || patchFlag === 32) && (hasRef || hasVnodeHook || runtimeDirectives.length > 0)) {\n patchFlag |= 512;\n }\n if (!context.inSSR && propsExpression) {\n switch (propsExpression.type) {\n case 15:\n let classKeyIndex = -1;\n let styleKeyIndex = -1;\n let hasDynamicKey = false;\n for (let i = 0; i < propsExpression.properties.length; i++) {\n const key = propsExpression.properties[i].key;\n if (isStaticExp(key)) {\n if (key.content === \"class\") {\n classKeyIndex = i;\n } else if (key.content === \"style\") {\n styleKeyIndex = i;\n }\n } else if (!key.isHandlerKey) {\n hasDynamicKey = true;\n }\n }\n const classProp = propsExpression.properties[classKeyIndex];\n const styleProp = propsExpression.properties[styleKeyIndex];\n if (!hasDynamicKey) {\n if (classProp && !isStaticExp(classProp.value)) {\n classProp.value = createCallExpression(\n context.helper(NORMALIZE_CLASS),\n [classProp.value]\n );\n }\n if (styleProp && // the static style is compiled into an object,\n // so use `hasStyleBinding` to ensure that it is a dynamic style binding\n (hasStyleBinding || styleProp.value.type === 4 && styleProp.value.content.trim()[0] === `[` || // v-bind:style and style both exist,\n // v-bind:style with static literal object\n styleProp.value.type === 17)) {\n styleProp.value = createCallExpression(\n context.helper(NORMALIZE_STYLE),\n [styleProp.value]\n );\n }\n } else {\n propsExpression = createCallExpression(\n context.helper(NORMALIZE_PROPS),\n [propsExpression]\n );\n }\n break;\n case 14:\n break;\n default:\n propsExpression = createCallExpression(\n context.helper(NORMALIZE_PROPS),\n [\n createCallExpression(context.helper(GUARD_REACTIVE_PROPS), [\n propsExpression\n ])\n ]\n );\n break;\n }\n }\n return {\n props: propsExpression,\n directives: runtimeDirectives,\n patchFlag,\n dynamicPropNames,\n shouldUseBlock\n };\n}\nfunction dedupeProperties(properties) {\n const knownProps = /* @__PURE__ */ new Map();\n const deduped = [];\n for (let i = 0; i < properties.length; i++) {\n const prop = properties[i];\n if (prop.key.type === 8 || !prop.key.isStatic) {\n deduped.push(prop);\n continue;\n }\n const name = prop.key.content;\n const existing = knownProps.get(name);\n if (existing) {\n if (name === \"style\" || name === \"class\" || shared.isOn(name)) {\n mergeAsArray(existing, prop);\n }\n } else {\n knownProps.set(name, prop);\n deduped.push(prop);\n }\n }\n return deduped;\n}\nfunction mergeAsArray(existing, incoming) {\n if (existing.value.type === 17) {\n existing.value.elements.push(incoming.value);\n } else {\n existing.value = createArrayExpression(\n [existing.value, incoming.value],\n existing.loc\n );\n }\n}\nfunction buildDirectiveArgs(dir, context) {\n const dirArgs = [];\n const runtime = directiveImportMap.get(dir);\n if (runtime) {\n dirArgs.push(context.helperString(runtime));\n } else {\n const fromSetup = resolveSetupReference(\"v-\" + dir.name, context);\n if (fromSetup) {\n dirArgs.push(fromSetup);\n } else {\n context.helper(RESOLVE_DIRECTIVE);\n context.directives.add(dir.name);\n dirArgs.push(toValidAssetId(dir.name, `directive`));\n }\n }\n const { loc } = dir;\n if (dir.exp) dirArgs.push(dir.exp);\n if (dir.arg) {\n if (!dir.exp) {\n dirArgs.push(`void 0`);\n }\n dirArgs.push(dir.arg);\n }\n if (Object.keys(dir.modifiers).length) {\n if (!dir.arg) {\n if (!dir.exp) {\n dirArgs.push(`void 0`);\n }\n dirArgs.push(`void 0`);\n }\n const trueExpression = createSimpleExpression(`true`, false, loc);\n dirArgs.push(\n createObjectExpression(\n dir.modifiers.map(\n (modifier) => createObjectProperty(modifier, trueExpression)\n ),\n loc\n )\n );\n }\n return createArrayExpression(dirArgs, dir.loc);\n}\nfunction stringifyDynamicPropNames(props) {\n let propsNamesString = `[`;\n for (let i = 0, l = props.length; i < l; i++) {\n propsNamesString += JSON.stringify(props[i]);\n if (i < l - 1) propsNamesString += \", \";\n }\n return propsNamesString + `]`;\n}\nfunction isComponentTag(tag) {\n return tag === \"component\" || tag === \"Component\";\n}\n\nconst transformSlotOutlet = (node, context) => {\n if (isSlotOutlet(node)) {\n const { children, loc } = node;\n const { slotName, slotProps } = processSlotOutlet(node, context);\n const slotArgs = [\n context.prefixIdentifiers ? `_ctx.$slots` : `$slots`,\n slotName,\n \"{}\",\n \"undefined\",\n \"true\"\n ];\n let expectedLen = 2;\n if (slotProps) {\n slotArgs[2] = slotProps;\n expectedLen = 3;\n }\n if (children.length) {\n slotArgs[3] = createFunctionExpression([], children, false, false, loc);\n expectedLen = 4;\n }\n if (context.scopeId && !context.slotted) {\n expectedLen = 5;\n }\n slotArgs.splice(expectedLen);\n node.codegenNode = createCallExpression(\n context.helper(RENDER_SLOT),\n slotArgs,\n loc\n );\n }\n};\nfunction processSlotOutlet(node, context) {\n let slotName = `\"default\"`;\n let slotProps = void 0;\n const nonNameProps = [];\n for (let i = 0; i < node.props.length; i++) {\n const p = node.props[i];\n if (p.type === 6) {\n if (p.value) {\n if (p.name === \"name\") {\n slotName = JSON.stringify(p.value.content);\n } else {\n p.name = shared.camelize(p.name);\n nonNameProps.push(p);\n }\n }\n } else {\n if (p.name === \"bind\" && isStaticArgOf(p.arg, \"name\")) {\n if (p.exp) {\n slotName = p.exp;\n } else if (p.arg && p.arg.type === 4) {\n const name = shared.camelize(p.arg.content);\n slotName = p.exp = createSimpleExpression(name, false, p.arg.loc);\n {\n slotName = p.exp = processExpression(p.exp, context);\n }\n }\n } else {\n if (p.name === \"bind\" && p.arg && isStaticExp(p.arg)) {\n p.arg.content = shared.camelize(p.arg.content);\n }\n nonNameProps.push(p);\n }\n }\n }\n if (nonNameProps.length > 0) {\n const { props, directives } = buildProps(\n node,\n context,\n nonNameProps,\n false,\n false\n );\n slotProps = props;\n if (directives.length) {\n context.onError(\n createCompilerError(\n 36,\n directives[0].loc\n )\n );\n }\n }\n return {\n slotName,\n slotProps\n };\n}\n\nconst transformOn = (dir, node, context, augmentor) => {\n const { loc, modifiers, arg } = dir;\n if (!dir.exp && !modifiers.length) {\n context.onError(createCompilerError(35, loc));\n }\n let eventName;\n if (arg.type === 4) {\n if (arg.isStatic) {\n let rawName = arg.content;\n if (rawName.startsWith(\"vue:\")) {\n rawName = `vnode-${rawName.slice(4)}`;\n }\n const eventString = node.tagType !== 0 || rawName.startsWith(\"vnode\") || !/[A-Z]/.test(rawName) ? (\n // for non-element and vnode lifecycle event listeners, auto convert\n // it to camelCase. See issue #2249\n shared.toHandlerKey(shared.camelize(rawName))\n ) : (\n // preserve case for plain element listeners that have uppercase\n // letters, as these may be custom elements' custom events\n `on:${rawName}`\n );\n eventName = createSimpleExpression(eventString, true, arg.loc);\n } else {\n eventName = createCompoundExpression([\n `${context.helperString(TO_HANDLER_KEY)}(`,\n arg,\n `)`\n ]);\n }\n } else {\n eventName = arg;\n eventName.children.unshift(`${context.helperString(TO_HANDLER_KEY)}(`);\n eventName.children.push(`)`);\n }\n let exp = dir.exp;\n if (exp && !exp.content.trim()) {\n exp = void 0;\n }\n let shouldCache = context.cacheHandlers && !exp && !context.inVOnce;\n if (exp) {\n const isMemberExp = isMemberExpression(exp, context);\n const isInlineStatement = !(isMemberExp || isFnExpression(exp, context));\n const hasMultipleStatements = exp.content.includes(`;`);\n if (context.prefixIdentifiers) {\n isInlineStatement && context.addIdentifiers(`$event`);\n exp = dir.exp = processExpression(\n exp,\n context,\n false,\n hasMultipleStatements\n );\n isInlineStatement && context.removeIdentifiers(`$event`);\n shouldCache = context.cacheHandlers && // unnecessary to cache inside v-once\n !context.inVOnce && // runtime constants don't need to be cached\n // (this is analyzed by compileScript in SFC <script setup>)\n !(exp.type === 4 && exp.constType > 0) && // #1541 bail if this is a member exp handler passed to a component -\n // we need to use the original function to preserve arity,\n // e.g. <transition> relies on checking cb.length to determine\n // transition end handling. Inline function is ok since its arity\n // is preserved even when cached.\n !(isMemberExp && node.tagType === 1) && // bail if the function references closure variables (v-for, v-slot)\n // it must be passed fresh to avoid stale values.\n !hasScopeRef(exp, context.identifiers);\n if (shouldCache && isMemberExp) {\n if (exp.type === 4) {\n exp.content = `${exp.content} && ${exp.content}(...args)`;\n } else {\n exp.children = [...exp.children, ` && `, ...exp.children, `(...args)`];\n }\n }\n }\n if (isInlineStatement || shouldCache && isMemberExp) {\n exp = createCompoundExpression([\n `${isInlineStatement ? context.isTS ? `($event: any)` : `$event` : `${context.isTS ? `\n//@ts-ignore\n` : ``}(...args)`} => ${hasMultipleStatements ? `{` : `(`}`,\n exp,\n hasMultipleStatements ? `}` : `)`\n ]);\n }\n }\n let ret = {\n props: [\n createObjectProperty(\n eventName,\n exp || createSimpleExpression(`() => {}`, false, loc)\n )\n ]\n };\n if (augmentor) {\n ret = augmentor(ret);\n }\n if (shouldCache) {\n ret.props[0].value = context.cache(ret.props[0].value);\n }\n ret.props.forEach((p) => p.key.isHandlerKey = true);\n return ret;\n};\n\nconst transformBind = (dir, _node, context) => {\n const { modifiers, loc } = dir;\n const arg = dir.arg;\n let { exp } = dir;\n if (exp && exp.type === 4 && !exp.content.trim()) {\n {\n context.onError(\n createCompilerError(34, loc)\n );\n return {\n props: [\n createObjectProperty(arg, createSimpleExpression(\"\", true, loc))\n ]\n };\n }\n }\n if (arg.type !== 4) {\n arg.children.unshift(`(`);\n arg.children.push(`) || \"\"`);\n } else if (!arg.isStatic) {\n arg.content = arg.content ? `${arg.content} || \"\"` : `\"\"`;\n }\n if (modifiers.some((mod) => mod.content === \"camel\")) {\n if (arg.type === 4) {\n if (arg.isStatic) {\n arg.content = shared.camelize(arg.content);\n } else {\n arg.content = `${context.helperString(CAMELIZE)}(${arg.content})`;\n }\n } else {\n arg.children.unshift(`${context.helperString(CAMELIZE)}(`);\n arg.children.push(`)`);\n }\n }\n if (!context.inSSR) {\n if (modifiers.some((mod) => mod.content === \"prop\")) {\n injectPrefix(arg, \".\");\n }\n if (modifiers.some((mod) => mod.content === \"attr\")) {\n injectPrefix(arg, \"^\");\n }\n }\n return {\n props: [createObjectProperty(arg, exp)]\n };\n};\nconst injectPrefix = (arg, prefix) => {\n if (arg.type === 4) {\n if (arg.isStatic) {\n arg.content = prefix + arg.content;\n } else {\n arg.content = `\\`${prefix}\\${${arg.content}}\\``;\n }\n } else {\n arg.children.unshift(`'${prefix}' + (`);\n arg.children.push(`)`);\n }\n};\n\nconst transformText = (node, context) => {\n if (node.type === 0 || node.type === 1 || node.type === 11 || node.type === 10) {\n return () => {\n const children = node.children;\n let currentContainer = void 0;\n let hasText = false;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (isText$1(child)) {\n hasText = true;\n for (let j = i + 1; j < children.length; j++) {\n const next = children[j];\n if (isText$1(next)) {\n if (!currentContainer) {\n currentContainer = children[i] = createCompoundExpression(\n [child],\n child.loc\n );\n }\n currentContainer.children.push(` + `, next);\n children.splice(j, 1);\n j--;\n } else {\n currentContainer = void 0;\n break;\n }\n }\n }\n }\n if (!hasText || // if this is a plain element with a single text child, leave it\n // as-is since the runtime has dedicated fast path for this by directly\n // setting textContent of the element.\n // for component root it's always normalized anyway.\n children.length === 1 && (node.type === 0 || node.type === 1 && node.tagType === 0 && // #3756\n // custom directives can potentially add DOM elements arbitrarily,\n // we need to avoid setting textContent of the element at runtime\n // to avoid accidentally overwriting the DOM elements added\n // by the user through custom directives.\n !node.props.find(\n (p) => p.type === 7 && !context.directiveTransforms[p.name]\n ) && // in compat mode, <template> tags with no special directives\n // will be rendered as a fragment so its children must be\n // converted into vnodes.\n !(node.tag === \"template\"))) {\n return;\n }\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (isText$1(child) || child.type === 8) {\n const callArgs = [];\n if (child.type !== 2 || child.content !== \" \") {\n callArgs.push(child);\n }\n if (!context.ssr && getConstantType(child, context) === 0) {\n callArgs.push(\n 1 + (``)\n );\n }\n children[i] = {\n type: 12,\n content: child,\n loc: child.loc,\n codegenNode: createCallExpression(\n context.helper(CREATE_TEXT),\n callArgs\n )\n };\n }\n }\n };\n }\n};\n\nconst seen$1 = /* @__PURE__ */ new WeakSet();\nconst transformOnce = (node, context) => {\n if (node.type === 1 && findDir(node, \"once\", true)) {\n if (seen$1.has(node) || context.inVOnce || context.inSSR) {\n return;\n }\n seen$1.add(node);\n context.inVOnce = true;\n context.helper(SET_BLOCK_TRACKING);\n return () => {\n context.inVOnce = false;\n const cur = context.currentNode;\n if (cur.codegenNode) {\n cur.codegenNode = context.cache(\n cur.codegenNode,\n true,\n true\n );\n }\n };\n }\n};\n\nconst transformModel = (dir, node, context) => {\n const { exp, arg } = dir;\n if (!exp) {\n context.onError(\n createCompilerError(41, dir.loc)\n );\n return createTransformProps();\n }\n const rawExp = exp.loc.source.trim();\n const expString = exp.type === 4 ? exp.content : rawExp;\n const bindingType = context.bindingMetadata[rawExp];\n if (bindingType === \"props\" || bindingType === \"props-aliased\") {\n context.onError(createCompilerError(44, exp.loc));\n return createTransformProps();\n }\n const maybeRef = context.inline && (bindingType === \"setup-let\" || bindingType === \"setup-ref\" || bindingType === \"setup-maybe-ref\");\n if (!expString.trim() || !isMemberExpression(exp, context) && !maybeRef) {\n context.onError(\n createCompilerError(42, exp.loc)\n );\n return createTransformProps();\n }\n if (context.prefixIdentifiers && isSimpleIdentifier(expString) && context.identifiers[expString]) {\n context.onError(\n createCompilerError(43, exp.loc)\n );\n return createTransformProps();\n }\n const propName = arg ? arg : createSimpleExpression(\"modelValue\", true);\n const eventName = arg ? isStaticExp(arg) ? `onUpdate:${shared.camelize(arg.content)}` : createCompoundExpression(['\"onUpdate:\" + ', arg]) : `onUpdate:modelValue`;\n let assignmentExp;\n const eventArg = context.isTS ? `($event: any)` : `$event`;\n if (maybeRef) {\n if (bindingType === \"setup-ref\") {\n assignmentExp = createCompoundExpression([\n `${eventArg} => ((`,\n createSimpleExpression(rawExp, false, exp.loc),\n `).value = $event)`\n ]);\n } else {\n const altAssignment = bindingType === \"setup-let\" ? `${rawExp} = $event` : `null`;\n assignmentExp = createCompoundExpression([\n `${eventArg} => (${context.helperString(IS_REF)}(${rawExp}) ? (`,\n createSimpleExpression(rawExp, false, exp.loc),\n `).value = $event : ${altAssignment})`\n ]);\n }\n } else {\n assignmentExp = createCompoundExpression([\n `${eventArg} => ((`,\n exp,\n `) = $event)`\n ]);\n }\n const props = [\n // modelValue: foo\n createObjectProperty(propName, dir.exp),\n // \"onUpdate:modelValue\": $event => (foo = $event)\n createObjectProperty(eventName, assignmentExp)\n ];\n if (context.prefixIdentifiers && !context.inVOnce && context.cacheHandlers && !hasScopeRef(exp, context.identifiers)) {\n props[1].value = context.cache(props[1].value);\n }\n if (dir.modifiers.length && node.tagType === 1) {\n const modifiers = dir.modifiers.map((m) => m.content).map((m) => (isSimpleIdentifier(m) ? m : JSON.stringify(m)) + `: true`).join(`, `);\n const modifiersKey = arg ? isStaticExp(arg) ? `${arg.content}Modifiers` : createCompoundExpression([arg, ' + \"Modifiers\"']) : `modelModifiers`;\n props.push(\n createObjectProperty(\n modifiersKey,\n createSimpleExpression(\n `{ ${modifiers} }`,\n false,\n dir.loc,\n 2\n )\n )\n );\n }\n return createTransformProps(props);\n};\nfunction createTransformProps(props = []) {\n return { props };\n}\n\nconst validDivisionCharRE = /[\\w).+\\-_$\\]]/;\nconst transformFilter = (node, context) => {\n if (!isCompatEnabled(\"COMPILER_FILTERS\", context)) {\n return;\n }\n if (node.type === 5) {\n rewriteFilter(node.content, context);\n } else if (node.type === 1) {\n node.props.forEach((prop) => {\n if (prop.type === 7 && prop.name !== \"for\" && prop.exp) {\n rewriteFilter(prop.exp, context);\n }\n });\n }\n};\nfunction rewriteFilter(node, context) {\n if (node.type === 4) {\n parseFilter(node, context);\n } else {\n for (let i = 0; i < node.children.length; i++) {\n const child = node.children[i];\n if (typeof child !== \"object\") continue;\n if (child.type === 4) {\n parseFilter(child, context);\n } else if (child.type === 8) {\n rewriteFilter(node, context);\n } else if (child.type === 5) {\n rewriteFilter(child.content, context);\n }\n }\n }\n}\nfunction parseFilter(node, context) {\n const exp = node.content;\n let inSingle = false;\n let inDouble = false;\n let inTemplateString = false;\n let inRegex = false;\n let curly = 0;\n let square = 0;\n let paren = 0;\n let lastFilterIndex = 0;\n let c, prev, i, expression, filters = [];\n for (i = 0; i < exp.length; i++) {\n prev = c;\n c = exp.charCodeAt(i);\n if (inSingle) {\n if (c === 39 && prev !== 92) inSingle = false;\n } else if (inDouble) {\n if (c === 34 && prev !== 92) inDouble = false;\n } else if (inTemplateString) {\n if (c === 96 && prev !== 92) inTemplateString = false;\n } else if (inRegex) {\n if (c === 47 && prev !== 92) inRegex = false;\n } else if (c === 124 && // pipe\n exp.charCodeAt(i + 1) !== 124 && exp.charCodeAt(i - 1) !== 124 && !curly && !square && !paren) {\n if (expression === void 0) {\n lastFilterIndex = i + 1;\n expression = exp.slice(0, i).trim();\n } else {\n pushFilter();\n }\n } else {\n switch (c) {\n case 34:\n inDouble = true;\n break;\n // \"\n case 39:\n inSingle = true;\n break;\n // '\n case 96:\n inTemplateString = true;\n break;\n // `\n case 40:\n paren++;\n break;\n // (\n case 41:\n paren--;\n break;\n // )\n case 91:\n square++;\n break;\n // [\n case 93:\n square--;\n break;\n // ]\n case 123:\n curly++;\n break;\n // {\n case 125:\n curly--;\n break;\n }\n if (c === 47) {\n let j = i - 1;\n let p;\n for (; j >= 0; j--) {\n p = exp.charAt(j);\n if (p !== \" \") break;\n }\n if (!p || !validDivisionCharRE.test(p)) {\n inRegex = true;\n }\n }\n }\n }\n if (expression === void 0) {\n expression = exp.slice(0, i).trim();\n } else if (lastFilterIndex !== 0) {\n pushFilter();\n }\n function pushFilter() {\n filters.push(exp.slice(lastFilterIndex, i).trim());\n lastFilterIndex = i + 1;\n }\n if (filters.length) {\n for (i = 0; i < filters.length; i++) {\n expression = wrapFilter(expression, filters[i], context);\n }\n node.content = expression;\n node.ast = void 0;\n }\n}\nfunction wrapFilter(exp, filter, context) {\n context.helper(RESOLVE_FILTER);\n const i = filter.indexOf(\"(\");\n if (i < 0) {\n context.filters.add(filter);\n return `${toValidAssetId(filter, \"filter\")}(${exp})`;\n } else {\n const name = filter.slice(0, i);\n const args = filter.slice(i + 1);\n context.filters.add(name);\n return `${toValidAssetId(name, \"filter\")}(${exp}${args !== \")\" ? \",\" + args : args}`;\n }\n}\n\nconst seen = /* @__PURE__ */ new WeakSet();\nconst transformMemo = (node, context) => {\n if (node.type === 1) {\n const dir = findDir(node, \"memo\");\n if (!dir || seen.has(node) || context.inSSR) {\n return;\n }\n seen.add(node);\n return () => {\n const codegenNode = node.codegenNode || context.currentNode.codegenNode;\n if (codegenNode && codegenNode.type === 13) {\n if (node.tagType !== 1) {\n convertToBlock(codegenNode, context);\n }\n node.codegenNode = createCallExpression(context.helper(WITH_MEMO), [\n dir.exp,\n createFunctionExpression(void 0, codegenNode),\n `_cache`,\n String(context.cached.length)\n ]);\n context.cached.push(null);\n }\n };\n }\n};\n\nconst transformVBindShorthand = (node, context) => {\n if (node.type === 1) {\n for (const prop of node.props) {\n if (prop.type === 7 && prop.name === \"bind\" && !prop.exp) {\n const arg = prop.arg;\n if (arg.type !== 4 || !arg.isStatic) {\n context.onError(\n createCompilerError(\n 52,\n arg.loc\n )\n );\n prop.exp = createSimpleExpression(\"\", true, arg.loc);\n } else {\n const propName = shared.camelize(arg.content);\n if (validFirstIdentCharRE.test(propName[0]) || // allow hyphen first char for https://github.com/vuejs/language-tools/pull/3424\n propName[0] === \"-\") {\n prop.exp = createSimpleExpression(propName, false, arg.loc);\n }\n }\n }\n }\n }\n};\n\nfunction getBaseTransformPreset(prefixIdentifiers) {\n return [\n [\n transformVBindShorthand,\n transformOnce,\n transformIf,\n transformMemo,\n transformFor,\n ...[transformFilter] ,\n ...prefixIdentifiers ? [\n // order is important\n trackVForSlotScopes,\n transformExpression\n ] : [],\n transformSlotOutlet,\n transformElement,\n trackSlotScopes,\n transformText\n ],\n {\n on: transformOn,\n bind: transformBind,\n model: transformModel\n }\n ];\n}\nfunction baseCompile(source, options = {}) {\n const onError = options.onError || defaultOnError;\n const isModuleMode = options.mode === \"module\";\n const prefixIdentifiers = options.prefixIdentifiers === true || isModuleMode;\n if (!prefixIdentifiers && options.cacheHandlers) {\n onError(createCompilerError(49));\n }\n if (options.scopeId && !isModuleMode) {\n onError(createCompilerError(50));\n }\n const resolvedOptions = shared.extend({}, options, {\n prefixIdentifiers\n });\n const ast = shared.isString(source) ? baseParse(source, resolvedOptions) : source;\n const [nodeTransforms, directiveTransforms] = getBaseTransformPreset(prefixIdentifiers);\n if (options.isTS) {\n const { expressionPlugins } = options;\n if (!expressionPlugins || !expressionPlugins.includes(\"typescript\")) {\n options.expressionPlugins = [...expressionPlugins || [], \"typescript\"];\n }\n }\n transform(\n ast,\n shared.extend({}, resolvedOptions, {\n nodeTransforms: [\n ...nodeTransforms,\n ...options.nodeTransforms || []\n // user transforms\n ],\n directiveTransforms: shared.extend(\n {},\n directiveTransforms,\n options.directiveTransforms || {}\n // user transforms\n )\n })\n );\n return generate(ast, resolvedOptions);\n}\n\nconst BindingTypes = {\n \"DATA\": \"data\",\n \"PROPS\": \"props\",\n \"PROPS_ALIASED\": \"props-aliased\",\n \"SETUP_LET\": \"setup-let\",\n \"SETUP_CONST\": \"setup-const\",\n \"SETUP_REACTIVE_CONST\": \"setup-reactive-const\",\n \"SETUP_MAYBE_REF\": \"setup-maybe-ref\",\n \"SETUP_REF\": \"setup-ref\",\n \"OPTIONS\": \"options\",\n \"LITERAL_CONST\": \"literal-const\"\n};\n\nconst noopDirectiveTransform = () => ({ props: [] });\n\nexports.generateCodeFrame = shared.generateCodeFrame;\nexports.BASE_TRANSITION = BASE_TRANSITION;\nexports.BindingTypes = BindingTypes;\nexports.CAMELIZE = CAMELIZE;\nexports.CAPITALIZE = CAPITALIZE;\nexports.CREATE_BLOCK = CREATE_BLOCK;\nexports.CREATE_COMMENT = CREATE_COMMENT;\nexports.CREATE_ELEMENT_BLOCK = CREATE_ELEMENT_BLOCK;\nexports.CREATE_ELEMENT_VNODE = CREATE_ELEMENT_VNODE;\nexports.CREATE_SLOTS = CREATE_SLOTS;\nexports.CREATE_STATIC = CREATE_STATIC;\nexports.CREATE_TEXT = CREATE_TEXT;\nexports.CREATE_VNODE = CREATE_VNODE;\nexports.CompilerDeprecationTypes = CompilerDeprecationTypes;\nexports.ConstantTypes = ConstantTypes;\nexports.ElementTypes = ElementTypes;\nexports.ErrorCodes = ErrorCodes;\nexports.FRAGMENT = FRAGMENT;\nexports.GUARD_REACTIVE_PROPS = GUARD_REACTIVE_PROPS;\nexports.IS_MEMO_SAME = IS_MEMO_SAME;\nexports.IS_REF = IS_REF;\nexports.KEEP_ALIVE = KEEP_ALIVE;\nexports.MERGE_PROPS = MERGE_PROPS;\nexports.NORMALIZE_CLASS = NORMALIZE_CLASS;\nexports.NORMALIZE_PROPS = NORMALIZE_PROPS;\nexports.NORMALIZE_STYLE = NORMALIZE_STYLE;\nexports.Namespaces = Namespaces;\nexports.NodeTypes = NodeTypes;\nexports.OPEN_BLOCK = OPEN_BLOCK;\nexports.POP_SCOPE_ID = POP_SCOPE_ID;\nexports.PUSH_SCOPE_ID = PUSH_SCOPE_ID;\nexports.RENDER_LIST = RENDER_LIST;\nexports.RENDER_SLOT = RENDER_SLOT;\nexports.RESOLVE_COMPONENT = RESOLVE_COMPONENT;\nexports.RESOLVE_DIRECTIVE = RESOLVE_DIRECTIVE;\nexports.RESOLVE_DYNAMIC_COMPONENT = RESOLVE_DYNAMIC_COMPONENT;\nexports.RESOLVE_FILTER = RESOLVE_FILTER;\nexports.SET_BLOCK_TRACKING = SET_BLOCK_TRACKING;\nexports.SUSPENSE = SUSPENSE;\nexports.TELEPORT = TELEPORT;\nexports.TO_DISPLAY_STRING = TO_DISPLAY_STRING;\nexports.TO_HANDLERS = TO_HANDLERS;\nexports.TO_HANDLER_KEY = TO_HANDLER_KEY;\nexports.TS_NODE_TYPES = TS_NODE_TYPES;\nexports.UNREF = UNREF;\nexports.WITH_CTX = WITH_CTX;\nexports.WITH_DIRECTIVES = WITH_DIRECTIVES;\nexports.WITH_MEMO = WITH_MEMO;\nexports.advancePositionWithClone = advancePositionWithClone;\nexports.advancePositionWithMutation = advancePositionWithMutation;\nexports.assert = assert;\nexports.baseCompile = baseCompile;\nexports.baseParse = baseParse;\nexports.buildDirectiveArgs = buildDirectiveArgs;\nexports.buildProps = buildProps;\nexports.buildSlots = buildSlots;\nexports.checkCompatEnabled = checkCompatEnabled;\nexports.convertToBlock = convertToBlock;\nexports.createArrayExpression = createArrayExpression;\nexports.createAssignmentExpression = createAssignmentExpression;\nexports.createBlockStatement = createBlockStatement;\nexports.createCacheExpression = createCacheExpression;\nexports.createCallExpression = createCallExpression;\nexports.createCompilerError = createCompilerError;\nexports.createCompoundExpression = createCompoundExpression;\nexports.createConditionalExpression = createConditionalExpression;\nexports.createForLoopParams = createForLoopParams;\nexports.createFunctionExpression = createFunctionExpression;\nexports.createIfStatement = createIfStatement;\nexports.createInterpolation = createInterpolation;\nexports.createObjectExpression = createObjectExpression;\nexports.createObjectProperty = createObjectProperty;\nexports.createReturnStatement = createReturnStatement;\nexports.createRoot = createRoot;\nexports.createSequenceExpression = createSequenceExpression;\nexports.createSimpleExpression = createSimpleExpression;\nexports.createStructuralDirectiveTransform = createStructuralDirectiveTransform;\nexports.createTemplateLiteral = createTemplateLiteral;\nexports.createTransformContext = createTransformContext;\nexports.createVNodeCall = createVNodeCall;\nexports.errorMessages = errorMessages;\nexports.extractIdentifiers = extractIdentifiers;\nexports.findDir = findDir;\nexports.findProp = findProp;\nexports.forAliasRE = forAliasRE;\nexports.generate = generate;\nexports.getBaseTransformPreset = getBaseTransformPreset;\nexports.getConstantType = getConstantType;\nexports.getMemoedVNodeCall = getMemoedVNodeCall;\nexports.getVNodeBlockHelper = getVNodeBlockHelper;\nexports.getVNodeHelper = getVNodeHelper;\nexports.hasDynamicKeyVBind = hasDynamicKeyVBind;\nexports.hasScopeRef = hasScopeRef;\nexports.helperNameMap = helperNameMap;\nexports.injectProp = injectProp;\nexports.isCoreComponent = isCoreComponent;\nexports.isFnExpression = isFnExpression;\nexports.isFnExpressionBrowser = isFnExpressionBrowser;\nexports.isFnExpressionNode = isFnExpressionNode;\nexports.isFunctionType = isFunctionType;\nexports.isInDestructureAssignment = isInDestructureAssignment;\nexports.isInNewExpression = isInNewExpression;\nexports.isMemberExpression = isMemberExpression;\nexports.isMemberExpressionBrowser = isMemberExpressionBrowser;\nexports.isMemberExpressionNode = isMemberExpressionNode;\nexports.isReferencedIdentifier = isReferencedIdentifier;\nexports.isSimpleIdentifier = isSimpleIdentifier;\nexports.isSlotOutlet = isSlotOutlet;\nexports.isStaticArgOf = isStaticArgOf;\nexports.isStaticExp = isStaticExp;\nexports.isStaticProperty = isStaticProperty;\nexports.isStaticPropertyKey = isStaticPropertyKey;\nexports.isTemplateNode = isTemplateNode;\nexports.isText = isText$1;\nexports.isVPre = isVPre;\nexports.isVSlot = isVSlot;\nexports.locStub = locStub;\nexports.noopDirectiveTransform = noopDirectiveTransform;\nexports.processExpression = processExpression;\nexports.processFor = processFor;\nexports.processIf = processIf;\nexports.processSlotOutlet = processSlotOutlet;\nexports.registerRuntimeHelpers = registerRuntimeHelpers;\nexports.resolveComponentType = resolveComponentType;\nexports.stringifyExpression = stringifyExpression;\nexports.toValidAssetId = toValidAssetId;\nexports.trackSlotScopes = trackSlotScopes;\nexports.trackVForSlotScopes = trackVForSlotScopes;\nexports.transform = transform;\nexports.transformBind = transformBind;\nexports.transformElement = transformElement;\nexports.transformExpression = transformExpression;\nexports.transformModel = transformModel;\nexports.transformOn = transformOn;\nexports.transformVBindShorthand = transformVBindShorthand;\nexports.traverseNode = traverseNode;\nexports.unwrapTSNode = unwrapTSNode;\nexports.validFirstIdentCharRE = validFirstIdentCharRE;\nexports.walkBlockDeclarations = walkBlockDeclarations;\nexports.walkFunctionParams = walkFunctionParams;\nexports.walkIdentifiers = walkIdentifiers;\nexports.warnDeprecation = warnDeprecation;\n"],"x_google_ignoreList":[0],"mappings":"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"}