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.
- package/dist/cjs/_virtual/rolldown_runtime.cjs +0 -15
- package/dist/cjs/packages/@intlayer/dictionaries-entry/dist/esm/index.cjs +1 -1
- package/dist/cjs/packages/@intlayer/dictionaries-entry/dist/esm/index.cjs.map +1 -1
- package/dist/cjs/runtime/intlayer-plugin.cjs +4 -3
- package/dist/cjs/runtime/intlayer-plugin.cjs.map +1 -1
- package/dist/esm/packages/@intlayer/dictionaries-entry/dist/esm/index.mjs +2 -2
- package/dist/esm/packages/@intlayer/dictionaries-entry/dist/esm/index.mjs.map +1 -1
- package/dist/esm/runtime/intlayer-plugin.mjs +3 -3
- package/dist/esm/runtime/intlayer-plugin.mjs.map +1 -1
- package/package.json +16 -14
- package/dist/cjs/node_modules/.bun/@babel_parser@7.28.4/node_modules/@babel/parser/lib/index.cjs +0 -12494
- package/dist/cjs/node_modules/.bun/@babel_parser@7.28.4/node_modules/@babel/parser/lib/index.cjs.map +0 -1
- package/dist/cjs/node_modules/.bun/@vue_compiler-core@3.5.22/node_modules/@vue/compiler-core/dist/compiler-core.cjs.cjs +0 -2353
- 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
- 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
- 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
- package/dist/cjs/node_modules/.bun/@vue_compiler-core@3.5.22/node_modules/@vue/compiler-core/index.cjs +0 -18
- package/dist/cjs/node_modules/.bun/@vue_compiler-core@3.5.22/node_modules/@vue/compiler-core/index.cjs.map +0 -1
- package/dist/cjs/node_modules/.bun/@vue_compiler-dom@3.5.22/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.cjs +0 -660
- 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
- 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
- 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
- package/dist/cjs/node_modules/.bun/@vue_compiler-dom@3.5.22/node_modules/@vue/compiler-dom/index.cjs +0 -18
- package/dist/cjs/node_modules/.bun/@vue_compiler-dom@3.5.22/node_modules/@vue/compiler-dom/index.cjs.map +0 -1
- package/dist/cjs/node_modules/.bun/@vue_reactivity@3.5.22/node_modules/@vue/reactivity/dist/reactivity.cjs.cjs +0 -22
- package/dist/cjs/node_modules/.bun/@vue_reactivity@3.5.22/node_modules/@vue/reactivity/dist/reactivity.cjs.cjs.map +0 -1
- package/dist/cjs/node_modules/.bun/@vue_reactivity@3.5.22/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.cjs +0 -1457
- package/dist/cjs/node_modules/.bun/@vue_reactivity@3.5.22/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.cjs.map +0 -1
- package/dist/cjs/node_modules/.bun/@vue_reactivity@3.5.22/node_modules/@vue/reactivity/index.cjs +0 -18
- package/dist/cjs/node_modules/.bun/@vue_reactivity@3.5.22/node_modules/@vue/reactivity/index.cjs.map +0 -1
- package/dist/cjs/node_modules/.bun/@vue_runtime-core@3.5.22/node_modules/@vue/runtime-core/dist/runtime-core.cjs.cjs +0 -870
- 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
- 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
- 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
- package/dist/cjs/node_modules/.bun/@vue_runtime-core@3.5.22/node_modules/@vue/runtime-core/index.cjs +0 -18
- package/dist/cjs/node_modules/.bun/@vue_runtime-core@3.5.22/node_modules/@vue/runtime-core/index.cjs.map +0 -1
- package/dist/cjs/node_modules/.bun/@vue_runtime-dom@3.5.22/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.cjs +0 -1373
- 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
- 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
- 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
- package/dist/cjs/node_modules/.bun/@vue_runtime-dom@3.5.22/node_modules/@vue/runtime-dom/index.cjs +0 -18
- package/dist/cjs/node_modules/.bun/@vue_runtime-dom@3.5.22/node_modules/@vue/runtime-dom/index.cjs.map +0 -1
- package/dist/cjs/node_modules/.bun/@vue_shared@3.5.22/node_modules/@vue/shared/dist/shared.cjs.cjs +0 -44
- package/dist/cjs/node_modules/.bun/@vue_shared@3.5.22/node_modules/@vue/shared/dist/shared.cjs.cjs.map +0 -1
- package/dist/cjs/node_modules/.bun/@vue_shared@3.5.22/node_modules/@vue/shared/dist/shared.cjs.prod.cjs +0 -491
- package/dist/cjs/node_modules/.bun/@vue_shared@3.5.22/node_modules/@vue/shared/dist/shared.cjs.prod.cjs.map +0 -1
- package/dist/cjs/node_modules/.bun/@vue_shared@3.5.22/node_modules/@vue/shared/index.cjs +0 -18
- package/dist/cjs/node_modules/.bun/@vue_shared@3.5.22/node_modules/@vue/shared/index.cjs.map +0 -1
- package/dist/cjs/node_modules/.bun/entities@4.5.0/node_modules/entities/lib/decode.cjs +0 -474
- package/dist/cjs/node_modules/.bun/entities@4.5.0/node_modules/entities/lib/decode.cjs.map +0 -1
- package/dist/cjs/node_modules/.bun/entities@4.5.0/node_modules/entities/lib/decode_codepoint.cjs +0 -82
- package/dist/cjs/node_modules/.bun/entities@4.5.0/node_modules/entities/lib/decode_codepoint.cjs.map +0 -1
- package/dist/cjs/node_modules/.bun/entities@4.5.0/node_modules/entities/lib/generated/decode-data-html.cjs +0 -18
- package/dist/cjs/node_modules/.bun/entities@4.5.0/node_modules/entities/lib/generated/decode-data-html.cjs.map +0 -1
- package/dist/cjs/node_modules/.bun/entities@4.5.0/node_modules/entities/lib/generated/decode-data-xml.cjs +0 -18
- package/dist/cjs/node_modules/.bun/entities@4.5.0/node_modules/entities/lib/generated/decode-data-xml.cjs.map +0 -1
- package/dist/cjs/node_modules/.bun/estree-walker@2.0.2/node_modules/estree-walker/dist/umd/estree-walker.cjs +0 -255
- package/dist/cjs/node_modules/.bun/estree-walker@2.0.2/node_modules/estree-walker/dist/umd/estree-walker.cjs.map +0 -1
- package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/array-set.cjs +0 -103
- package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/array-set.cjs.map +0 -1
- package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/base64-vlq.cjs +0 -76
- package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/base64-vlq.cjs.map +0 -1
- package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/base64.cjs +0 -44
- package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/base64.cjs.map +0 -1
- package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/binary-search.cjs +0 -71
- package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/binary-search.cjs.map +0 -1
- package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/mapping-list.cjs +0 -80
- package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/mapping-list.cjs.map +0 -1
- package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/quick-sort.cjs +0 -92
- package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/quick-sort.cjs.map +0 -1
- package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/source-map-consumer.cjs +0 -791
- 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
- package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/source-map-generator.cjs +0 -298
- 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
- package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/source-node.cjs +0 -296
- package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/source-node.cjs.map +0 -1
- package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/util.cjs +0 -355
- package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/util.cjs.map +0 -1
- package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/source-map.cjs +0 -20
- package/dist/cjs/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/source-map.cjs.map +0 -1
- package/dist/cjs/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist-node/native.cjs +0 -10
- package/dist/cjs/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist-node/native.cjs.map +0 -1
- package/dist/cjs/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist-node/rng.cjs +0 -18
- package/dist/cjs/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist-node/rng.cjs.map +0 -1
- package/dist/cjs/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist-node/stringify.cjs +0 -11
- package/dist/cjs/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist-node/stringify.cjs.map +0 -1
- package/dist/cjs/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist-node/v4.cjs +0 -28
- package/dist/cjs/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist-node/v4.cjs.map +0 -1
- package/dist/cjs/node_modules/.bun/vue@3.5.22_e72aefb0f8d0b841/node_modules/vue/dist/vue.cjs.cjs +0 -65
- package/dist/cjs/node_modules/.bun/vue@3.5.22_e72aefb0f8d0b841/node_modules/vue/dist/vue.cjs.cjs.map +0 -1
- package/dist/cjs/node_modules/.bun/vue@3.5.22_e72aefb0f8d0b841/node_modules/vue/dist/vue.cjs.prod.cjs +0 -55
- package/dist/cjs/node_modules/.bun/vue@3.5.22_e72aefb0f8d0b841/node_modules/vue/dist/vue.cjs.prod.cjs.map +0 -1
- package/dist/cjs/node_modules/.bun/vue@3.5.22_e72aefb0f8d0b841/node_modules/vue/index.cjs +0 -18
- package/dist/cjs/node_modules/.bun/vue@3.5.22_e72aefb0f8d0b841/node_modules/vue/index.cjs.map +0 -1
- package/dist/cjs/node_modules/.bun/vue@3.5.22_e72aefb0f8d0b841/node_modules/vue/index2.cjs +0 -15
- package/dist/cjs/node_modules/.bun/vue@3.5.22_e72aefb0f8d0b841/node_modules/vue/index2.cjs.map +0 -1
- package/dist/esm/node_modules/.bun/@babel_parser@7.28.4/node_modules/@babel/parser/lib/index.mjs +0 -12491
- package/dist/esm/node_modules/.bun/@babel_parser@7.28.4/node_modules/@babel/parser/lib/index.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/@vue_compiler-core@3.5.22/node_modules/@vue/compiler-core/dist/compiler-core.cjs.mjs +0 -2350
- 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
- 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
- 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
- package/dist/esm/node_modules/.bun/@vue_compiler-core@3.5.22/node_modules/@vue/compiler-core/index.mjs +0 -15
- package/dist/esm/node_modules/.bun/@vue_compiler-core@3.5.22/node_modules/@vue/compiler-core/index.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/@vue_compiler-dom@3.5.22/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.mjs +0 -657
- 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
- 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
- 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
- package/dist/esm/node_modules/.bun/@vue_compiler-dom@3.5.22/node_modules/@vue/compiler-dom/index.mjs +0 -15
- package/dist/esm/node_modules/.bun/@vue_compiler-dom@3.5.22/node_modules/@vue/compiler-dom/index.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/@vue_reactivity@3.5.22/node_modules/@vue/reactivity/dist/reactivity.cjs.mjs +0 -19
- package/dist/esm/node_modules/.bun/@vue_reactivity@3.5.22/node_modules/@vue/reactivity/dist/reactivity.cjs.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/@vue_reactivity@3.5.22/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.mjs +0 -1454
- package/dist/esm/node_modules/.bun/@vue_reactivity@3.5.22/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/@vue_reactivity@3.5.22/node_modules/@vue/reactivity/dist/reactivity.esm-bundler.mjs +0 -1312
- package/dist/esm/node_modules/.bun/@vue_reactivity@3.5.22/node_modules/@vue/reactivity/dist/reactivity.esm-bundler.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/@vue_reactivity@3.5.22/node_modules/@vue/reactivity/index.mjs +0 -15
- package/dist/esm/node_modules/.bun/@vue_reactivity@3.5.22/node_modules/@vue/reactivity/index.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/@vue_runtime-core@3.5.22/node_modules/@vue/runtime-core/dist/runtime-core.cjs.mjs +0 -867
- 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
- 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
- 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
- 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
- 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
- package/dist/esm/node_modules/.bun/@vue_runtime-core@3.5.22/node_modules/@vue/runtime-core/index.mjs +0 -15
- package/dist/esm/node_modules/.bun/@vue_runtime-core@3.5.22/node_modules/@vue/runtime-core/index.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/@vue_runtime-dom@3.5.22/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.mjs +0 -1370
- 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
- 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
- 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
- package/dist/esm/node_modules/.bun/@vue_runtime-dom@3.5.22/node_modules/@vue/runtime-dom/index.mjs +0 -15
- package/dist/esm/node_modules/.bun/@vue_runtime-dom@3.5.22/node_modules/@vue/runtime-dom/index.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/@vue_shared@3.5.22/node_modules/@vue/shared/dist/shared.cjs.mjs +0 -41
- package/dist/esm/node_modules/.bun/@vue_shared@3.5.22/node_modules/@vue/shared/dist/shared.cjs.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/@vue_shared@3.5.22/node_modules/@vue/shared/dist/shared.cjs.prod.mjs +0 -488
- package/dist/esm/node_modules/.bun/@vue_shared@3.5.22/node_modules/@vue/shared/dist/shared.cjs.prod.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/@vue_shared@3.5.22/node_modules/@vue/shared/dist/shared.esm-bundler.mjs +0 -77
- package/dist/esm/node_modules/.bun/@vue_shared@3.5.22/node_modules/@vue/shared/dist/shared.esm-bundler.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/@vue_shared@3.5.22/node_modules/@vue/shared/index.mjs +0 -15
- package/dist/esm/node_modules/.bun/@vue_shared@3.5.22/node_modules/@vue/shared/index.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/entities@4.5.0/node_modules/entities/lib/decode.mjs +0 -471
- package/dist/esm/node_modules/.bun/entities@4.5.0/node_modules/entities/lib/decode.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/entities@4.5.0/node_modules/entities/lib/decode_codepoint.mjs +0 -79
- package/dist/esm/node_modules/.bun/entities@4.5.0/node_modules/entities/lib/decode_codepoint.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/entities@4.5.0/node_modules/entities/lib/generated/decode-data-html.mjs +0 -15
- package/dist/esm/node_modules/.bun/entities@4.5.0/node_modules/entities/lib/generated/decode-data-html.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/entities@4.5.0/node_modules/entities/lib/generated/decode-data-xml.mjs +0 -15
- package/dist/esm/node_modules/.bun/entities@4.5.0/node_modules/entities/lib/generated/decode-data-xml.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/estree-walker@2.0.2/node_modules/estree-walker/dist/umd/estree-walker.mjs +0 -252
- package/dist/esm/node_modules/.bun/estree-walker@2.0.2/node_modules/estree-walker/dist/umd/estree-walker.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/array-set.mjs +0 -100
- package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/array-set.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/base64-vlq.mjs +0 -73
- package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/base64-vlq.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/base64.mjs +0 -41
- package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/base64.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/binary-search.mjs +0 -68
- package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/binary-search.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/mapping-list.mjs +0 -77
- package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/mapping-list.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/quick-sort.mjs +0 -89
- package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/quick-sort.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/source-map-consumer.mjs +0 -788
- 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
- package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/source-map-generator.mjs +0 -295
- 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
- package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/source-node.mjs +0 -293
- package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/source-node.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/util.mjs +0 -352
- package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/lib/util.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/source-map.mjs +0 -17
- package/dist/esm/node_modules/.bun/source-map-js@1.2.1/node_modules/source-map-js/source-map.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist/native.mjs +0 -7
- package/dist/esm/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist/native.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist/rng.mjs +0 -14
- package/dist/esm/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist/rng.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist/stringify.mjs +0 -10
- package/dist/esm/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist/stringify.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist/v4.mjs +0 -28
- package/dist/esm/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist/v4.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist-node/native.mjs +0 -8
- package/dist/esm/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist-node/native.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist-node/rng.mjs +0 -16
- package/dist/esm/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist-node/rng.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist-node/stringify.mjs +0 -10
- package/dist/esm/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist-node/stringify.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist-node/v4.mjs +0 -28
- package/dist/esm/node_modules/.bun/uuid@13.0.0/node_modules/uuid/dist-node/v4.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/vue@3.5.22_e72aefb0f8d0b841/node_modules/vue/dist/vue.cjs.mjs +0 -62
- package/dist/esm/node_modules/.bun/vue@3.5.22_e72aefb0f8d0b841/node_modules/vue/dist/vue.cjs.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/vue@3.5.22_e72aefb0f8d0b841/node_modules/vue/dist/vue.cjs.prod.mjs +0 -52
- package/dist/esm/node_modules/.bun/vue@3.5.22_e72aefb0f8d0b841/node_modules/vue/dist/vue.cjs.prod.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/vue@3.5.22_e72aefb0f8d0b841/node_modules/vue/dist/vue.runtime.esm-bundler.mjs +0 -12
- package/dist/esm/node_modules/.bun/vue@3.5.22_e72aefb0f8d0b841/node_modules/vue/dist/vue.runtime.esm-bundler.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/vue@3.5.22_e72aefb0f8d0b841/node_modules/vue/index.mjs +0 -15
- package/dist/esm/node_modules/.bun/vue@3.5.22_e72aefb0f8d0b841/node_modules/vue/index.mjs.map +0 -1
- package/dist/esm/node_modules/.bun/vue@3.5.22_e72aefb0f8d0b841/node_modules/vue/index2.mjs +0 -10
- 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.cjs","names":["isComponent","stack","isReferenced"],"sources":["../../../../../../../../../../../node_modules/.bun/@vue+compiler-core@3.5.22/node_modules/@vue/compiler-core/dist/compiler-core.cjs.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(`Fragment` );\nconst TELEPORT = Symbol(`Teleport` );\nconst SUSPENSE = Symbol(`Suspense` );\nconst KEEP_ALIVE = Symbol(`KeepAlive` );\nconst BASE_TRANSITION = Symbol(\n `BaseTransition` \n);\nconst OPEN_BLOCK = Symbol(`openBlock` );\nconst CREATE_BLOCK = Symbol(`createBlock` );\nconst CREATE_ELEMENT_BLOCK = Symbol(\n `createElementBlock` \n);\nconst CREATE_VNODE = Symbol(`createVNode` );\nconst CREATE_ELEMENT_VNODE = Symbol(\n `createElementVNode` \n);\nconst CREATE_COMMENT = Symbol(\n `createCommentVNode` \n);\nconst CREATE_TEXT = Symbol(\n `createTextVNode` \n);\nconst CREATE_STATIC = Symbol(\n `createStaticVNode` \n);\nconst RESOLVE_COMPONENT = Symbol(\n `resolveComponent` \n);\nconst RESOLVE_DYNAMIC_COMPONENT = Symbol(\n `resolveDynamicComponent` \n);\nconst RESOLVE_DIRECTIVE = Symbol(\n `resolveDirective` \n);\nconst RESOLVE_FILTER = Symbol(\n `resolveFilter` \n);\nconst WITH_DIRECTIVES = Symbol(\n `withDirectives` \n);\nconst RENDER_LIST = Symbol(`renderList` );\nconst RENDER_SLOT = Symbol(`renderSlot` );\nconst CREATE_SLOTS = Symbol(`createSlots` );\nconst TO_DISPLAY_STRING = Symbol(\n `toDisplayString` \n);\nconst MERGE_PROPS = Symbol(`mergeProps` );\nconst NORMALIZE_CLASS = Symbol(\n `normalizeClass` \n);\nconst NORMALIZE_STYLE = Symbol(\n `normalizeStyle` \n);\nconst NORMALIZE_PROPS = Symbol(\n `normalizeProps` \n);\nconst GUARD_REACTIVE_PROPS = Symbol(\n `guardReactiveProps` \n);\nconst TO_HANDLERS = Symbol(`toHandlers` );\nconst CAMELIZE = Symbol(`camelize` );\nconst CAPITALIZE = Symbol(`capitalize` );\nconst TO_HANDLER_KEY = Symbol(\n `toHandlerKey` \n);\nconst SET_BLOCK_TRACKING = Symbol(\n `setBlockTracking` \n);\nconst PUSH_SCOPE_ID = Symbol(`pushScopeId` );\nconst POP_SCOPE_ID = Symbol(`popScopeId` );\nconst WITH_CTX = Symbol(`withCtx` );\nconst UNREF = Symbol(`unref` );\nconst IS_REF = Symbol(`isRef` );\nconst WITH_MEMO = Symbol(`withMemo` );\nconst IS_MEMO_SAME = Symbol(`isMemoSame` );\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 if (enabled) {\n warnDeprecation(key, context, loc, ...args);\n }\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 console.warn(`[Vue warn] ${msg.message}`);\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 '<' 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: true,\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 (isCompatEnabled(\n \"COMPILER_V_IF_V_FOR_PRECEDENCE\",\n currentOptions\n )) {\n let hasIf = false;\n let hasFor = false;\n for (let i = 0; i < props.length; i++) {\n const p = props[i];\n if (p.type === 7) {\n if (p.name === \"if\") {\n hasIf = true;\n } else if (p.name === \"for\") {\n hasFor = true;\n }\n }\n if (hasIf && hasFor) {\n warnDeprecation(\n \"COMPILER_V_IF_V_FOR_PRECEDENCE\",\n currentOptions,\n el.loc\n );\n break;\n }\n }\n }\n if (!tokenizer.inSFCRoot && isCompatEnabled(\n \"COMPILER_NATIVE_TEMPLATE\",\n currentOptions\n ) && el.tag === \"template\" && !isFragmentTemplate(el)) {\n warnDeprecation(\n \"COMPILER_NATIVE_TEMPLATE\",\n currentOptions,\n el.loc\n );\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 {\n if (currentOptions.decodeEntities) {\n console.warn(\n `[@vue/compiler-core] decodeEntities option is passed but will be ignored in non-browser builds.`\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 + (` /* ${shared.PatchFlagNames[-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 {\n if (!context.currentNode) {\n throw new Error(`Node being replaced is already removed.`);\n }\n if (!context.parent) {\n throw new Error(`Cannot replace root node.`);\n }\n }\n context.parent.children[context.childIndex] = context.currentNode = node;\n },\n removeNode(node) {\n if (!context.parent) {\n throw new Error(`Cannot remove root node.`);\n }\n const list = context.parent.children;\n const removalIndex = node ? list.indexOf(node) : context.currentNode ? context.childIndex : -1;\n if (removalIndex < 0) {\n throw new Error(`node being removed is not a child of current parent`);\n }\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 if (children.filter((c) => c.type !== 3).length === 1) {\n patchFlag |= 2048;\n }\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 assert(\n node.codegenNode != null,\n `Codegen node is missing for element/if/for node. Apply appropriate transforms first.`\n );\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 /* v8 ignore start */\n case 10:\n break;\n default:\n {\n assert(false, `unhandled codegen node type: ${node.type}`);\n const exhaustiveCheck = node;\n return exhaustiveCheck;\n }\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 if (patchFlag < 0) {\n patchFlagString = patchFlag + ` /* ${shared.PatchFlagNames[patchFlag]} */`;\n } else {\n const flagNames = Object.keys(shared.PatchFlagNames).map(Number).filter((n) => n > 0 && patchFlag & n).map((n) => shared.PatchFlagNames[n]).join(`, `);\n patchFlagString = patchFlag + ` /* ${flagNames} */`;\n }\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 const comments = [];\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 comments.unshift(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 if (comments.length && // #3619 ignore comments if the v-if is direct child of <transition>\n !(context.parent && context.parent.type === 1 && (context.parent.tag === \"transition\" || context.parent.tag === \"Transition\"))) {\n branch.children = [...comments, ...branch.children];\n }\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 '\"v-if\"' ,\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 if (!branch.isTemplateIf && children.filter((c) => c.type !== 3).length === 1) {\n patchFlag |= 2048;\n }\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 + (` /* ${shared.slotFlagsText[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 if (node.children.length > 1) {\n context.onError(\n createCompilerError(46, {\n start: node.children[0].loc.start,\n end: node.children[node.children.length - 1].loc.end,\n source: \"\"\n })\n );\n }\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 {\n const hasOverridableKeys = mergeArgs.some((arg2) => {\n if (arg2.type === 15) {\n return arg2.properties.some(({ key }) => {\n if (key.type !== 4 || !key.isStatic) {\n return true;\n }\n return key.content !== \"class\" && key.content !== \"style\" && !shared.isOn(key.content);\n });\n } else {\n return true;\n }\n });\n if (hasOverridableKeys) {\n checkCompatEnabled(\n \"COMPILER_V_BIND_OBJECT_ORDER\",\n context,\n loc\n );\n }\n }\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(\"vnode\")) {\n context.onError(createCompilerError(51, arg.loc));\n }\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 + (` /* ${shared.PatchFlagNames[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 warnDeprecation(\n \"COMPILER_FILTERS\",\n context,\n node.loc\n );\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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"}
|