diff --git a/CHANGELOG.md b/CHANGELOG.md index 9d6a2c7..de3114c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## 0.6.0 - not yet released + +feature: +* add template for expressions + ## 0.5.0 - 2021-09-15 feature: diff --git a/README.md b/README.md index d37dc8e..3da6cd9 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,8 @@ The directory `fuzz/crashers` contains a set of crashes that were found with fuz * [ ] add [template expressions](https://github.com/hashicorp/hcl/blob/main/hclsyntax/spec.md#template-expressions) * [x] add template interpolations * [ ] add template directives + * [x] add template for expressions + * [ ] add template if expressions * [x] add quoted templates * [x] add heredoc templates * [ ] fuzzing diff --git a/fuzz/Makefile b/fuzz/Makefile index 2999055..7b7e42a 100644 --- a/fuzz/Makefile +++ b/fuzz/Makefile @@ -8,7 +8,7 @@ fuzz: fuzzer hcl.dict .PHONY: clean clean: - rm fuzzer parser.o scanner.o libtree-sitter.a *.log + rm -f fuzzer parser.o scanner.o libtree-sitter.a *.log fuzzer: parser.o scanner.o libtree-sitter.a clang++ -o fuzzer ${FUZZFLAGS} -std=c++11 fuzzer.cc -Itree-sitter/lib/include scanner.o parser.o libtree-sitter.a @@ -21,6 +21,8 @@ parser.o: ../src/parser.c hcl.dict: ../grammar.js python gen-dict.py ../src/grammar.json > hcl.dict + echo '"$${"' >> hcl.dict + echo '"%{"' >> hcl.dict libtree-sitter.a: make -C tree-sitter diff --git a/fuzz/corpus/00627b70f9fc6fd81c3bbdf547b55d246573c2a7 b/fuzz/corpus/00627b70f9fc6fd81c3bbdf547b55d246573c2a7 deleted file mode 100644 index c33736d..0000000 --- a/fuzz/corpus/00627b70f9fc6fd81c3bbdf547b55d246573c2a7 +++ /dev/null @@ -1,13 +0,0 @@ -// comment -# comment -/* - comment -*/ - -reso// comment -# comment -/* - commenttjx[ 1, 2, -*/ - -rE \ No newline at end of file diff --git a/fuzz/corpus/012c2fb4d172f7346ba84ea8e5d278e6d2f8d70b b/fuzz/corpus/012c2fb4d172f7346ba84ea8e5d278e6d2f8d70b deleted file mode 100644 index dcabc84..0000000 Binary files a/fuzz/corpus/012c2fb4d172f7346ba84ea8e5d278e6d2f8d70b and /dev/null differ diff --git a/fuzz/corpus/014240abfcb2ca2f6016a8dff06de2b360cd6fcf b/fuzz/corpus/014240abfcb2ca2f6016a8dff06de2b360cd6fcf new file mode 100644 index 0000000..6281ba5 --- /dev/null +++ b/fuzz/corpus/014240abfcb2ca2f6016a8dff06de2b360cd6fcf @@ -0,0 +1,28 @@ +r>truee// At the time of writing Terraform doesn't formally support a boolean +// type, vbut historica2, 3.4, "foo" ] + tupl2 = [] + obj1 = { foo = "baz" } + null1 = null + bool1 = true + bool2 = false + splat1 = tuple.*.foo.bar[0] + splat2bar[0] + for1 = { for i, v in ["a", "a"resouRce "test_resource" "a" " { + count = 1 + depends_on = [ + test_resource.a + ] +} + +resource "test_resource" "b" { + count = 1 + foo = data.test_data.d[count.index].compute +} + + neste var.list : v if v < 3 ] + func1 = is_number("123") + cond1 = (1 == 2) ? 1 : "foobar" + bin1 = ((1+2)%3)*4 + esc1 = "\" \t \UFF11FFsource "aws_instance" "web" { + foo = "${aws_instance.web.*.foo}" +22 \uFFFF \n" \ No newline at end of file diff --git a/fuzz/corpus/018704bbb6c1a7b59d718ffc30fa2b5e44c3827c b/fuzz/corpus/018704bbb6c1a7b59d718ffc30fa2b5e44c3827c new file mode 100644 index 0000000..8c3bfa1 --- /dev/null +++ b/fuzz/corpus/018704bbb6c1a7b59d718ffc30fa2b5e44c3827c @@ -0,0 +1,78 @@ +data = "x" + require_new = "yes" + + set =' [{ + a = "1" + b = "2" + }] + + lst = ["j", "k"] + + lifecycle { + ignoe<=hanges = ["requiap}" + meta = "${var.ott, locr.al.ids) +} + +output "osouree "aws_333333ut" { + value =3" { + type = string + sensitive = true +} + +resource "aws_ins4ance" "foo" { + connection { + host = "localhost" + type = + sensitive = true ++} + +resourcr" + port = 2041 + password = var.password + == + provisi-ner "shell" { + command = "echo ${!!!!!!!!!!!!!!!!!!!!!!!!null!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!ort resource "test_object" "A" {} + +resource "test_object" "B" { + test_string = "${test_object.A.test_string}" { + test_str!!!!!ks"] +} + +module "mod5" { + source = "./mod" + param + + + + +urce = "./mod" + param = ["this", "one", "works"] +} + +module "mod4" { + source = "./mod" + param + + + + + + = [mm = ["this", "one", "works"] +} + +module "mod5" { + source = "./mod" + param + + + + +urce = "./mod" + param = ["this", "one", "works"] +} + +module "mod4" { +od1.out_from_" +} +ruts" + }"j", w%% \ No newline at end of file diff --git a/fuzz/corpus/01e3e0b54538ca0b95eef95a3ff77cb61ab3e480 b/fuzz/corpus/01e3e0b54538ca0b95eef95a3ff77cb61ab3e480 new file mode 100644 index 0000000..b13caf1 --- /dev/null +++ b/fuzz/corpus/01e3e0b54538ca0b95eef95a3ff77cb61ab3e480 @@ -0,0 +1,25 @@ +resource "aws_cov{ariable "list" { + "2"] +} + +resource "aws_instance" "a" { + count = lere%%%%%%%%%%%%% i... } + for2 = [ for k, v in var.map : "${k}-${v}" ] + for3 = { for k, v in var.map : k ~> v } + for4 = [ for v in var.listk}-${v}" ] + for3 = { for k, v in var.map : k ~> v } + for4 = [ for v in var.list : v ] + forr }")}re~source "test_object" "A" {} + +resoure "test_object" ޽߄tesct>B.test_string}ource "test_object" "A" {} + +resource "te + suffix + EOF + + nested_resource_1 { + attr1 = 2 + st_object" ޽߄tes" { + tekt_strforr }")}re~source "test_object" "A" {} + +resoure "test_object" ޽߄tesct>B.test_string}ource "test_object" "A" {} + +resource "te + suffix + EOF + + nested_resource_1 { + attr1 = 2 + st_object" ޽߄tes" { + tekt_string = "${test_obje attr2 = 2.112 + attr3 = 2.112e-12 + attr4 = 2.112e+12 + attr5 = 2.112E+12 + attr6 = 2.112E-at1 = tuple.*.foo.bar[0] + splat2 = tuple[*].foo.bar[0] + for1 = { for i, v inct>B." ["a", "a", "b"] : v => i... } + for2 = [ for k, v in var.map : "${k}-${resource "aws_instance" "foo" { + foo = "\ar" +} + +output "value" {# + value = "${aws_instance.foo.id}" +} +suffix + EOF + + nested_resource_1 { + attr1 = 2 + } attr2 = 2.112 + attiffesis \ No newline at end of file diff --git a/fuzz/corpus/0ceaa3b0aa71f6d484eb3d18253ddac96a4e0576 b/fuzz/corpus/0ceaa3b0aa71f6d484eb3d18253ddac96a4e0576 deleted file mode 100644 index 5b72947..0000000 --- a/fuzz/corpus/0ceaa3b0aa71f6d484eb3d18253ddac96a4e0576 +++ /dev/null @@ -1,35 +0,0 @@ -// comment -# comlse - splat1 = tuple.*.foo.bar[0] - splat2 = tuple[*].foo.bar[0] - for1 = { for i, v in ["a", "a", "b"] : v => i... } - for2 = [ for k, v in var.map : "${k}-${v}" ] - for3 = { for k, v in var.map : k => v } - for4 = [ for v in var.list : v ] - for5 = { f;or v in var.list : v >} = - v for6 = [ for v i, 3.4, "foo" ] - tupl2 = [] - obj1 = { f.o = "baz" } - null1 = null - bool1 = true - bool2 -= false - splat1 = tuple.*.foo.bar[0] - (splat2 = tuple[*].foo.bar[0] - for1 = { for i, v in ["a", "a", "b"] : v => iEOF - prefix - ${func("foo${ var.bar }")} - suffix - EOF - - nested_resource_1 { - attr1 = 2 - attr2 = 2.112 - attr3 = 2.112e-12 - attr4 = 2.112e+12 2.112 - attr3 = 2.112e-12 - attr4 = 2.112e+12 - attr5 = 2.112E+12 - attr6 = 2.112E-12 - attr7 = 0x21FF - } -} diff --git a/fuzz/corpus/0cf361775136f3f241c003900d3908757325402f b/fuzz/corpus/0cf361775136f3f241c003900d3908757325402f new file mode 100644 index 0000000..9db3ea2 --- /dev/null +++ b/fuzz/corpus/0cf361775136f3f241c003900d3908757325402f @@ -0,0 +1,25 @@ +variable "password" { + type = string + sensitive = true +} + +resource "aws_ins4ance" "foo" { + connection { + host = "localhost" + type = + sensitive = true ++} + +resourcr" + port = 2041 + password = var.password + == + provisi-ner "shell" { + command = "echo ${!!!!!!!!!!!!!!!!!!!!!!!!null!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!ort resource "test_object" "A" {} + +resource "te!!!!!!!!!!!!!!!!!!!!!!!!!!var.password} > sing = "${test_object.B.test_secruts" + }!!!!trin!!!!!!!!!var.password} > secg}" +} +ruts" + } +} diff --git a/fuzz/corpus/0d646bbe1205edb8910f17cd57aec7be960db038 b/fuzz/corpus/0d646bbe1205edb8910f17cd57aec7be960db038 deleted file mode 100644 index eceeca5..0000000 Binary files a/fuzz/corpus/0d646bbe1205edb8910f17cd57aec7be960db038 and /dev/null differ diff --git a/fuzz/corpus/0d7cd6a47798bd7fc730581a13b1c2abd0a4e3ff b/fuzz/corpus/0d7cd6a47798bd7fc730581a13b1c2abd0a4e3ff new file mode 100644 index 0000000..4aaccf8 Binary files /dev/null and b/fuzz/corpus/0d7cd6a47798bd7fc730581a13b1c2abd0a4e3ff differ diff --git a/fuzz/corpus/0dbff0b5b44a8b5bc33e183bc9785a4829d65908 b/fuzz/corpus/0dbff0b5b44a8b5bc33e183bc9785a4829d65908 deleted file mode 100644 index da7ca3f..0000000 --- a/fuzz/corpus/0dbff0b5b44a8b5bc33e183bc9785a4829d65908 +++ /dev/null @@ -1,19 +0,0 @@ -// comment -# comlse - splat1 = tuple.*.foo.bar[0] - splat2 = tuple[*].foo.bar[0] - for1 = { for i, v in ["a", "a", "b"] : v => i... } - for2 = [ for k, v in var.map : "${k}-${v}" ] - for3 = { for k, v in var.map : k => v } - for4 = [ for v in var.list : v ] - for5 = { for v in var.list : v >} = - v for6 = [ for v i, 3.4, "foo" ] - tupl2 = [] - obj1 = { foo = "baz" } - null1 resource_1 { - attr1 = 2 - attr2 = 2.112 - atttr6 = 2.112E-12 - attr7 = 0x21FF - } -} diff --git a/fuzz/corpus/0dfa3ddd81f752afecc48ab795a9061ebe051b0c b/fuzz/corpus/0dfa3ddd81f752afecc48ab795a9061ebe051b0c deleted file mode 100644 index 9fb9df9..0000000 --- a/fuzz/corpus/0dfa3ddd81f752afecc48ab795a9061ebe051b0c +++ /dev/null @@ -1,41 +0,0 @@ -// comment -# comment -/* - comment -*/ - -rEsource_1 "strlit1" "strlit2" { - attr1 = "val1" - tupl1 = [ 1, 2, 3.4, "foo" ] - tupl2 = [] - obj1 = { foo = "baz" } - null1 = null - bool1 = true - bool2 = false - splat1 = tuple.*.foo.bar[0] - splat2 = tuple[*].foo.bar[0] - for1 = { for i, v in ["a", "a", "b"] : v => i... } - for2 = [ for k, v in var.map : "${k}-${v}" ] - for3 = { for k, v in var.map : k =>// comment -# comment -/* - comment -*/ - -resoual1" - tupl1 = [ 1// comment -#? , 3.4, v } - for4 = [ for v in var.list : v ] - for5 "foo = { for2 = [ for k, v in var.map : "${k}-${v}" ] - for3 = { for k, v in var.map : k =>// comment -# comment -/* - ci... } - for2 = [ for k, v in var.map : "${k}-${v}" ] - for3 omment -*/ - -resoual1" - tupl1 = [ 1 v in var.list : v => v } - for6 = [ f" ] - or v in var.list : v i tfu \ No newline at end of file diff --git a/fuzz/corpus/0e21a5d7be3b31e8ade9388b21e566b69336e290 b/fuzz/corpus/0e21a5d7be3b31e8ade9388b21e566b69336e290 deleted file mode 100644 index 955cd84..0000000 Binary files a/fuzz/corpus/0e21a5d7be3b31e8ade9388b21e566b69336e290 and /dev/null differ diff --git a/fuzz/corpus/0e5d6f1cabedd9d930ec821a5b71bdf5804e35df b/fuzz/corpus/0e5d6f1cabedd9d930ec821a5b71bdf5804e35df deleted file mode 100644 index da6de0a..0000000 --- a/fuzz/corpus/0e5d6f1cabedd9d930ec821a5b71bdf5804e35df +++ /dev/null @@ -1,45 +0,0 @@ -// comment -# comment -/* - comment -*/ - -resource_1 "strlit1" "strlit2" { - attr1 = "val1" - tupl1 = [ 1, 2, 3.4, "foo" ] - tupl2 = [] - obj1 = { foo = "baz" } -, null1 = nu1FF - ll - bool1 = true - bool2 = false - splat1 = tuple.*.foo.bar[0] - splat2 = tuple[*].foo.bar[0] for1 = { for i, v in ["a", "a", "b"] : v => i... } - for2 = [ for k, v in var.map : "${k}-${v}L ] - f = [ for v in var.list : v ] -f or5 = { for v in var.list : v => * } - for5 = [ comment -*/ - -resource_1 "stsli+1" "strlit2" { - attr1 = "val1" - tupl1 strlit2" { - attr1 = "val1" - tupl1 = [ t2" { - attr1 = "val1" -nt -*/ - -resource_1 "stsli+1" "strlit2" { - attr1 = "val1" - tupl1 strlit2" { - attr1 = "val1// comment -# comment -/* - comment -*/ - -reso// co" - tupl1 = [ t2mment" { - attr1 = "val1" - diff --git a/fuzz/corpus/0e5ee9d3b3dab68ecb46aaa8dd3e834d768aba6d b/fuzz/corpus/0e5ee9d3b3dab68ecb46aaa8dd3e834d768aba6d deleted file mode 100644 index cb30412..0000000 --- a/fuzz/corpus/0e5ee9d3b3dab68ecb46aaa8dd3e834d768aba6d +++ /dev/null @@ -1,13 +0,0 @@ -// comment -# comment -/* - comment -*/ - -resource_1 "strlit1" "strlit2" { - attr1 = "val1" - tupl1 = [ 1, 2, 3.4, "foo" ] - tupl2 = [] - obj1 = { foo = "baz" } - null1 = nu1FF - tupl1 l \ No newline at end of file diff --git a/fuzz/corpus/0e9850767144d7e6edb96aaece8004a47bce672f b/fuzz/corpus/0e9850767144d7e6edb96aaece8004a47bce672f deleted file mode 100644 index 3b57058..0000000 Binary files a/fuzz/corpus/0e9850767144d7e6edb96aaece8004a47bce672f and /dev/null differ diff --git a/fuzz/corpus/0f03e223f67a39cf3ecbec7990a6bc0ef4bb0f18 b/fuzz/corpus/0f03e223f67a39cf3ecbec7990a6bc0ef4bb0f18 new file mode 100644 index 0000000..a8d28f6 Binary files /dev/null and b/fuzz/corpus/0f03e223f67a39cf3ecbec7990a6bc0ef4bb0f18 differ diff --git a/fuzz/corpus/0f33f7aea9cb9e416dd502d0fd90c2e31119b970 b/fuzz/corpus/0f33f7aea9cb9e416dd502d0fd90c2e31119b970 new file mode 100644 index 0000000..e05ab9a --- /dev/null +++ b/fuzz/corpus/0f33f7aea9cb9e416dd502d0fd90c2e31119b970 @@ -0,0 +1,39 @@ +resource "awsGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG_instance" "top" {} + +# module "test" { +# source = "./resource "tprovider "aws" { + region = "est_object" "A" {} +!resource "test_ob|ect" "B" { + test_string = "${test_ob,==?ject.A.test_${lo"awsGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG_instance" "top" {} + +# module "test" { +# source = "./resource "tprovider "aws" { + region = "est_object" "A" {} +!resource "test_ob|ect" "B" { + test_string = "${test_ob,==?ject.A.test_${local.foo}" +} + +locals { + foo = "bar" +} + +resource "aws_instance" "foo" { + value = parent"" +# }${locstring}" + +} +al.foo}" +cal.foo}" +} + +locals { + foo = "bar" +} + +resource "aws_instance" "foo" { + value = parent"" +# }${locstring}" + +} +al.foo}" +} diff --git a/fuzz/corpus/0f801d606e4446ce18eb19c243150f4de894117f b/fuzz/corpus/0f801d606e4446ce18eb19c243150f4de894117f deleted file mode 100644 index cf2c8ac..0000000 Binary files a/fuzz/corpus/0f801d606e4446ce18eb19c243150f4de894117f and /dev/null differ diff --git a/fuzz/corpus/0f98023fe9d0d809a3b4c3e9aa4cf199e7c2ddd3 b/fuzz/corpus/0f98023fe9d0d809a3b4c3e9aa4cf199e7c2ddd3 new file mode 100644 index 0000000..a5b1458 Binary files /dev/null and b/fuzz/corpus/0f98023fe9d0d809a3b4c3e9aa4cf199e7c2ddd3 differ diff --git a/fuzz/corpus/0fa05a77f822a5502d48ac9a97c8adff1415c014 b/fuzz/corpus/0fa05a77f822a5502d48ac9a97c8adff1415c014 deleted file mode 100644 index a8e4fbd..0000000 Binary files a/fuzz/corpus/0fa05a77f822a5502d48ac9a97c8adff1415c014 and /dev/null differ diff --git a/fuzz/corpus/0fbe78a48d887ac8503c63fb13f30bcf5fc9dc0f b/fuzz/corpus/0fbe78a48d887ac8503c63fb13f30bcf5fc9dc0f deleted file mode 100644 index 257333c..0000000 Binary files a/fuzz/corpus/0fbe78a48d887ac8503c63fb13f30bcf5fc9dc0f and /dev/null differ diff --git a/fuzz/corpus/0fe163aba1bd516f7be9035658007cfa565b35a4 b/fuzz/corpus/0fe163aba1bd516f7be9035658007cfa565b35a4 deleted file mode 100644 index ab3c23f..0000000 Binary files a/fuzz/corpus/0fe163aba1bd516f7be9035658007cfa565b35a4 and /dev/null differ diff --git a/fuzz/corpus/102430d336fc84f3749d3fb100dc516a6a74a926 b/fuzz/corpus/102430d336fc84f3749d3fb100dc516a6a74a926 new file mode 100644 index 0000000..977d3ed Binary files /dev/null and b/fuzz/corpus/102430d336fc84f3749d3fb100dc516a6a74a926 differ diff --git a/fuzz/corpus/105eb22998c99d6ffc31492404017072a7a98e6c b/fuzz/corpus/105eb22998c99d6ffc31492404017072a7a98e6c new file mode 100644 index 0000000..b44bbf6 --- /dev/null +++ b/fuzz/corpus/105eb22998c99d6ffc31492404017072a7a98e6c @@ -0,0 +1,16 @@ +// At the time of writing Terraform doesn't formally support a boolean +// type, but historically this has magically worked. Lots of TF code +// relies on this so we test it now. +variable "a" { + default = true +} + + Lots of TF code +// relies on this so we test it now. +variable "a" { + default = true +} + +variable "b" { + default = false +} diff --git a/fuzz/corpus/109eca7ee4f4cabe64489e39c710f613a99038f3 b/fuzz/corpus/109eca7ee4f4cabe64489e39c710f613a99038f3 deleted file mode 100644 index f823273..0000000 Binary files a/fuzz/corpus/109eca7ee4f4cabe64489e39c710f613a99038f3 and /dev/null differ diff --git a/fuzz/corpus/10aa8a5954a2843a7b250be59e17d33cf276b901 b/fuzz/corpus/10aa8a5954a2843a7b250be59e17d33cf276b901 new file mode 100644 index 0000000..80a1936 --- /dev/null +++ b/fuzz/corpus/10aa8a5954a2843a7b250be59e17d33cf276b901 @@ -0,0 +1,36 @@ +// At the time of writing Tupport a boolean +// ty||, vbut historically th"baz" } + null1 = null + bool1 = true + bool2 = false + splat1 = tuple.*.foo.bar[0] + splat2 = tuple[*].foo.ba Tupport a boolean +// ty||, vbut historically th"baz" } + null0 = null + bool1 = true + bool2 = falresource "aws_computed_source" "modintermediates" {} + +module "test_mod" { + source = "./mod" + + services = [ + / { + "exists" = "true" + re%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% "elb" = "${aws_comQputed_source.i%%%%%%jn%%%%%%%source nstance.foo.id}" +}n +termediates.computed_read_onlyule "grandchild" { + source = "./child" +} + +resource "aws_instance" "b" { + amreobject.A.test_${local.foo}" +} + +locals { + foo = "bar" +} + +resource "aws_}" + }, + se + splat1 = tuple.*.foinstance" "fo \ No newline at end of file diff --git a/fuzz/corpus/10ce332fab5d11fc50ec4e842dc8738c0c2fca39 b/fuzz/corpus/10ce332fab5d11fc50ec4e842dc8738c0c2fca39 new file mode 100644 index 0000000..1eaaa8f Binary files /dev/null and b/fuzz/corpus/10ce332fab5d11fc50ec4e842dc8738c0c2fca39 differ diff --git a/fuzz/corpus/10ddd4df2cc1ccccf7fcd18ac834566b518f31c5 b/fuzz/corpus/10ddd4df2cc1ccccf7fcd18ac834566b518f31c5 new file mode 100644 index 0000000..aeaa201 Binary files /dev/null and b/fuzz/corpus/10ddd4df2cc1ccccf7fcd18ac834566b518f31c5 differ diff --git a/fuzz/corpus/11dac95684504050105ea0a7178ffd23b0f33500 b/fuzz/corpus/11dac95684504050105ea0a7178ffd23b0f33500 new file mode 100644 index 0000000..821a92a --- /dev/null +++ b/fuzz/corpus/11dac95684504050105ea0a7178ffd23b0f33500 @@ -0,0 +1,11 @@ +resouRce "test_resource" "a" " { + count = 1 + depends_on = [ + test_resource.a + ] +} + +resource "test_resource" "b" { + count = 1 + foo = data.test_data.d[count.index].compute +} diff --git a/fuzz/corpus/11f2202366c72ab2130fcf518917c81658f2058a b/fuzz/corpus/11f2202366c72ab2130fcf518917c81658f2058a deleted file mode 100644 index 2cef677..0000000 --- a/fuzz/corpus/11f2202366c72ab2130fcf518917c81658f2058a +++ /dev/null @@ -1,42 +0,0 @@ -me -t#n comment -/* - comment -*/ - -resource_1 me -t#n comment -/* - comment -*/ - -resource_1 "strlit1" "strlit2" { - attr1// comment -# comment -/* - comment -*/ - -resource_1 "strlit1" "strlit2" { - a(((((((((((((((((((((((((((((((((((("strlit1" "strlit2" { - attr1// comment -# comment -/* - comment -*/ - -resource_1 "strlit1" "strlit2" { - a(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((ttr1 = "val1" - tupl1 = [ 1, *2, 3.4, "foo" ] - tupl2 = [] - obj1 = { foo = "baz" } - ) - cond1 = (1 == 2) ? 1 : "foobar" - bin1 ! = ((1+2)%3)((1+2)%3)*4 - esc1 = "\" \t \UFF11FF22 \uFFFF \n" - esc2 = "$${} %%{}" - tpl1 = "prefix-${var.bar}" - tpl2 = "prefix-${func("bar")}" - tpl3 = "pref((((((((((((((((((((((((((((((((((((((((((((((((((((((((ix-${!!!!!!!!!!!!!!!!!!!fix!!!!!!!! -(((((((((((((((((((((((ttr1 = "val1" - tupl1 = [ 1, *2, 3. \ No newline at end of file diff --git a/fuzz/corpus/1204a4c4cab1fee65e374eb7583baf63d523c51f b/fuzz/corpus/1204a4c4cab1fee65e374eb7583baf63d523c51f new file mode 100644 index 0000000..cecd072 Binary files /dev/null and b/fuzz/corpus/1204a4c4cab1fee65e374eb7583baf63d523c51f differ diff --git a/fuzz/corpus/1259a599c17b0373ad247172368ea1e7fbd4b81d b/fuzz/corpus/1259a599c17b0373ad247172368ea1e7fbd4b81d new file mode 100644 index 0000000..0982d76 Binary files /dev/null and b/fuzz/corpus/1259a599c17b0373ad247172368ea1e7fbd4b81d differ diff --git a/fuzz/corpus/1265b1f61dd107d3bfc0b3ea241a107925d331c9 b/fuzz/corpus/1265b1f61dd107d3bfc0b3ea241a107925d331c9 deleted file mode 100644 index c413cee..0000000 --- a/fuzz/corpus/1265b1f61dd107d3bfc0b3ea241a107925d331c9 +++ /dev/null @@ -1,13 +0,0 @@ -// comment -# comment -/* - comment -*/ - -resoupl2 = [ , 2.4, "foo" ] - tupl2 = [] - obj1 = { foo = "baz" } - null1 = nu// comm[0] - splat2 = tuple[*].foo.bar[0] - for1 = { for i, v in ["a", "a", "b"] : v => i... } - fllor2 \ No newline at end of file diff --git a/fuzz/corpus/126a75ab85c07b130cca7765bb8e3b4dbec98d18 b/fuzz/corpus/126a75ab85c07b130cca7765bb8e3b4dbec98d18 new file mode 100644 index 0000000..2015a33 Binary files /dev/null and b/fuzz/corpus/126a75ab85c07b130cca7765bb8e3b4dbec98d18 differ diff --git a/fuzz/corpus/128b6eac6900b08b8626b4236bc30f54feb4d278 b/fuzz/corpus/128b6eac6900b08b8626b4236bc30f54feb4d278 deleted file mode 100644 index fb29020..0000000 Binary files a/fuzz/corpus/128b6eac6900b08b8626b4236bc30f54feb4d278 and /dev/null differ diff --git a/fuzz/corpus/12d5ac4fdb769a5277171f71dc43b34d38683be2 b/fuzz/corpus/12d5ac4fdb769a5277171f71dc43b34d38683be2 new file mode 100644 index 0000000..c1b6a48 --- /dev/null +++ b/fuzz/corpus/12d5ac4fdb769a5277171f71dc43b34d38683be2 @@ -0,0 +1,17 @@ +resource "tprovider "aws" { + region = "est_object" "A" {} + +resource "test_object" "B" { + test_string ="${test_object.A.test_${lo[cal.foo}" +} + +locals { + foo = "bar" +} + +resource "aws// a resource named "aws_security_groups" does not exist i" +} + +resource "aws_astnince" "foo" { + value = ${l]]]]]]]]]]]]]]] + type ] ] =] \ No newline at end of file diff --git a/fuzz/corpus/12e23a6ff2293973e42da41572932ff808d1e86c b/fuzz/corpus/12e23a6ff2293973e42da41572932ff808d1e86c new file mode 100644 index 0000000..1fc2619 --- /dev/null +++ b/fuzz/corpus/12e23a6ff2293973e42da41572932ff808d1e86c @@ -0,0 +1 @@ +v::::::::::::::::::a? \ No newline at end of file diff --git a/fuzz/corpus/131c4a811a3b0ddb70d37f2d8ffb05d0180efe46 b/fuzz/corpus/131c4a811a3b0ddb70d37f2d8ffb05d0180efe46 new file mode 100644 index 0000000..5042149 --- /dev/null +++ b/fuzz/corpus/131c4a811a3b0ddb70d37f2d8ffb05d0180efe46 @@ -0,0 +1,27 @@ +variable "password" { + type = string + sensitive = true +} + +resource "aws_instance" "foo" { + connection { + host = "localhost" + type = "telnet" + user = "superuariable "password" { + type = string + sensitive = true ++} + +resourcr" + port = 2041 + password = var.password + == + provisioner "shell" { + command = "echo ${!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!ort = 2041 + password = var.password + == + provisioner "shell" { + command = "echo ${!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!var.password} > secruts" + }!!!!!!!!!!!!!var.password} > secruts" + } +} diff --git a/fuzz/corpus/13786ca70e3170ab0405128daadeca1c5d5bfc42 b/fuzz/corpus/13786ca70e3170ab0405128daadeca1c5d5bfc42 new file mode 100644 index 0000000..40fa12d --- /dev/null +++ b/fuzz/corpus/13786ca70e3170ab0405128daadeca1c5d5bfc42 @@ -0,0 +1,15 @@ +resource "aws_computed_source" "intermediates" {} + +module "test_mod" { + source = "./mod" + + services = [ + / { + "exists" = "true" + re%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% "elb" = "${aws_computed_source.i%%%%%%%%%%%%%sourcece" "foo" { + count = 3 +} + +resource "aws_instance" "=rsA" {} + +re \ No newline at end of file diff --git a/fuzz/corpus/137c37ebcff9a3b94527ec5b2a101f4a8598b061 b/fuzz/corpus/137c37ebcff9a3b94527ec5b2a101f4a8598b061 deleted file mode 100644 index 3747d8f..0000000 Binary files a/fuzz/corpus/137c37ebcff9a3b94527ec5b2a101f4a8598b061 and /dev/null differ diff --git a/fuzz/corpus/1385041120dba3afddc8831fab916d38df656a88 b/fuzz/corpus/1385041120dba3afddc8831fab916d38df656a88 new file mode 100644 index 0000000..80a2bd9 Binary files /dev/null and b/fuzz/corpus/1385041120dba3afddc8831fab916d38df656a88 differ diff --git a/fuzz/corpus/13e84838b2156bcd87c349df7ec5975065667354 b/fuzz/corpus/13e84838b2156bcd87c349df7ec5975065667354 new file mode 100644 index 0000000..7631319 Binary files /dev/null and b/fuzz/corpus/13e84838b2156bcd87c349df7ec5975065667354 differ diff --git a/fuzz/corpus/1412f60317c8ebafc819f4c748f8408432632e07 b/fuzz/corpus/1412f60317c8ebafc819f4c748f8408432632e07 new file mode 100644 index 0000000..eb644a4 --- /dev/null +++ b/fuzz/corpus/1412f60317c8ebafc819f4c748f8408432632e07 @@ -0,0 +1,13 @@ +resource "tpr"test_ob|ect" "B" { + test_string = "${test_object.A.test_${local.foo}" +} + +locals { + foo = "bar" +} + +resource "aws_instance" "foo" { + value = "${locstring}" +} +al.foo}" +} diff --git a/fuzz/corpus/144b5a971892f4a607877008830140cb1fcbc66d b/fuzz/corpus/144b5a971892f4a607877008830140cb1fcbc66d new file mode 100644 index 0000000..0750d78 --- /dev/null +++ b/fuzz/corpus/144b5a971892f4a607877008830140cb1fcbc66d @@ -0,0 +1,5 @@ +# Once opon ae here +/* +module.*churce = "./child" +} +*/ diff --git a/fuzz/corpus/1525ad2fd5bd1576d86809f1f7913f8c9b85372d b/fuzz/corpus/1525ad2fd5bd1576d86809f1f7913f8c9b85372d new file mode 100644 index 0000000..7264dc3 Binary files /dev/null and b/fuzz/corpus/1525ad2fd5bd1576d86809f1f7913f8c9b85372d differ diff --git a/fuzz/corpus/15297be74e54a143a389cacedc677abdba9e3338 b/fuzz/corpus/15297be74e54a143a389cacedc677abdba9e3338 deleted file mode 100644 index e57ac5d..0000000 Binary files a/fuzz/corpus/15297be74e54a143a389cacedc677abdba9e3338 and /dev/null differ diff --git a/fuzz/corpus/152e6642ba796a19b4536456175bdcda018b047f b/fuzz/corpus/152e6642ba796a19b4536456175bdcda018b047f deleted file mode 100644 index 98c0c9b..0000000 --- a/fuzz/corpus/152e6642ba796a19b4536456175bdcda018b047f +++ /dev/null @@ -1,26 +0,0 @@ -// comment -# comment -/* - comment -*/ - -resoupl2 = [ , 3.4, "foo" ] - tupl2 = [] - obj1 = { foo = "baz" } - null1 = nultruel - bool1 = true - -*/ - -resoupl1 = [ , 3.4, "foo" ] - tupl2 = [// comment -# comment -/* - comment -*/ - -resource_1 "strlit1" "strlit2" { - attr1 = "val1" - tupl1 = [ 1, 3.4, ] - obj1 = { foo = "baz" } - null1 tpl2 = "r \ No newline at end of file diff --git a/fuzz/corpus/1580d4bdfd718a6d7a776f4b542bbdc228bbd22b b/fuzz/corpus/1580d4bdfd718a6d7a776f4b542bbdc228bbd22b deleted file mode 100644 index d01af9d..0000000 Binary files a/fuzz/corpus/1580d4bdfd718a6d7a776f4b542bbdc228bbd22b and /dev/null differ diff --git a/fuzz/corpus/16106c16d117d2576a4476b12156923e728fad7d b/fuzz/corpus/16106c16d117d2576a4476b12156923e728fad7d new file mode 100644 index 0000000..174a698 --- /dev/null +++ b/fuzz/corpus/16106c16d117d2576a4476b12156923e728fad7d @@ -0,0 +1,5 @@ +re~source "test_object" "A" {} + +resource "test_object" ޽߄tes" { + test_string = "${test_object>B.test_string}" +} diff --git a/fuzz/corpus/1634f9ccdd2d8e30dfbacd47c3c44ea925483796 b/fuzz/corpus/1634f9ccdd2d8e30dfbacd47c3c44ea925483796 new file mode 100644 index 0000000..75971ac Binary files /dev/null and b/fuzz/corpus/1634f9ccdd2d8e30dfbacd47c3c44ea925483796 differ diff --git a/fuzz/corpus/16352bf349cacff80e35d326769f85716f8a7288 b/fuzz/corpus/16352bf349cacff80e35d326769f85716f8a7288 deleted file mode 100644 index d225354..0000000 Binary files a/fuzz/corpus/16352bf349cacff80e35d326769f85716f8a7288 and /dev/null differ diff --git a/fuzz/corpus/1688481f6ebf260976f7ad772e403b029983ba9d b/fuzz/corpus/1688481f6ebf260976f7ad772e403b029983ba9d new file mode 100644 index 0000000..c59df1c Binary files /dev/null and b/fuzz/corpus/1688481f6ebf260976f7ad772e403b029983ba9d differ diff --git a/fuzz/corpus/16d0ef4d1b1c012aa09dba6c47961a54dba0920d b/fuzz/corpus/16d0ef4d1b1c012aa09dba6c47961a54dba0920d new file mode 100644 index 0000000..23da349 Binary files /dev/null and b/fuzz/corpus/16d0ef4d1b1c012aa09dba6c47961a54dba0920d differ diff --git a/fuzz/corpus/16d5706023c8be30161e2428c6c63a2d5b67340d b/fuzz/corpus/16d5706023c8be30161e2428c6c63a2d5b67340d new file mode 100644 index 0000000..0909908 --- /dev/null +++ b/fuzz/corpus/16d5706023c8be30161e2428c6c63a2d5b67340d @@ -0,0 +1,40 @@ +variable "password" { + type = string + sensitive = true +} + +resource "aws_ins4ance" "foo" { + connection {ng + sensitive = true +} + +resource "aws_ins4ance" "foo" { + connection { + host = "localhost" + type = + sensitive = true ++} + +resourcr" + port = 2041 + password = var.password + == + provisi-ner "shell" { + command = "echo ${!!!!!!!!!!!!!!!!!!!!!!!!null!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!ort resource "test_object" "A" {} + +resource "te!!!!!!!!!!!!!!!!!!!!!!!!!!var.password} > sing = "${test_object.B.test_secruts" + }!!!!trin!!!!!!! + host = "localhost" + type = + sensitive = true ++} + +resourcr" + port = 2041 + password = var.password + == + provisi-ner "shell" { + command = "echo ${!!!!!!!!!!!!!!!!!!!!!!!!null!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!ort resource "test_object" "A" {} + +resource "te!!!!!!!!!!!!!!!!!!!!!!!!!!var.password} > sing = "${test_object.B.test_secr +} diff --git a/fuzz/corpus/174fb935afab1d7f9b67483f9a12fa2d15315015 b/fuzz/corpus/174fb935afab1d7f9b67483f9a12fa2d15315015 new file mode 100644 index 0000000..0bc57ed Binary files /dev/null and b/fuzz/corpus/174fb935afab1d7f9b67483f9a12fa2d15315015 differ diff --git a/fuzz/corpus/176001901e039e04bc4f7de62f78291401f53bbe b/fuzz/corpus/176001901e039e04bc4f7de62f78291401f53bbe deleted file mode 100644 index 60ed554..0000000 --- a/fuzz/corpus/176001901e039e04bc4f7de62f78291401f53bbe +++ /dev/null @@ -1,23 +0,0 @@ -// comment -#? comment -/* - comment -*/ - -resource_1 "strlit1" "strlit2" { - attr1 = "val1" - tupl1 = [ 1, 2, 3.4, ޙ" ] - tupl2 = [] - obj1 = { foo = "baz" } - ) - cond1 = (1 == 2) ? 1 : "foobar" - bin1 ! = ((1+2)%3)*4 - esc1 = "\" \t \UFF11FF22 \uFFFF \n" - esc2 = "$${} %%{}" - tpl1 = "prefix-${var.bar}" - tpl2 = "prefix-${func("bar")}" - tpl3 = "prefix-$ attr5 = 2.112E+12 - attr6 = 4.112E-12 - attr7 = 0x21FF - } -} diff --git a/fuzz/corpus/179d6d988d5f19552065493bd00ec0246df4ebf1 b/fuzz/corpus/179d6d988d5f19552065493bd00ec0246df4ebf1 new file mode 100644 index 0000000..e795aee Binary files /dev/null and b/fuzz/corpus/179d6d988d5f19552065493bd00ec0246df4ebf1 differ diff --git a/fuzz/corpus/17f9454e1499537063f1b1bd0fe3039af3a5e8f0 b/fuzz/corpus/17f9454e1499537063f1b1bd0fe3039af3a5e8f0 new file mode 100644 index 0000000..cc96415 Binary files /dev/null and b/fuzz/corpus/17f9454e1499537063f1b1bd0fe3039af3a5e8f0 differ diff --git a/fuzz/corpus/1843f00ef5e4628772dc5d7b2918a67a03a135ec b/fuzz/corpus/1843f00ef5e4628772dc5d7b2918a67a03a135ec new file mode 100644 index 0000000..9cb33aa Binary files /dev/null and b/fuzz/corpus/1843f00ef5e4628772dc5d7b2918a67a03a135ec differ diff --git a/fuzz/corpus/18569a18416f356526fb8327b333668adb112207 b/fuzz/corpus/18569a18416f356526fb8327b333668adb112207 deleted file mode 100644 index fdaa8ba..0000000 --- a/fuzz/corpus/18569a18416f356526fb8327b333668adb112207 +++ /dev/null @@ -1,39 +0,0 @@ -// comment -# comment -/* - comment -*/ - -rEsource_1 "strlit1" "strlit2" { - attr1 = "val1" - tupl1 = [ 1, 2, 3.4, "foo" ] - tupl2 = [] - obj1 = { foo = "baz" } - null1 = null - bool1 = true - bool2 = false - splat1 = tuple.*.foo.bar[0] - splat2 = tuple[*].foo.bar[0] - for1 = { for i, v in ["a", "a", "b"] : v => i... } - for2 = [ for k, v in var.map : "${k}-${v}" ] - for3 = { for k, v in var.map : k =>// comment -# comment -/* - comment -*/ - -resoual1" - tupl1 = [ 1// comment -#? , 3.4, v } - for4 = [ for v in var.list : v ] - for5 "foo = { for2 = [ for k, v in var.map : "${k}-${v}" ] - for3 = { for k, v in var.map : k =>// comment -# comment -/* - comment -*/ - -resoual1" - tupl1 = [ 1 v in var.list : v => v } - for6 = [ f" ] - or v in var.list : v i tfu \ No newline at end of file diff --git a/fuzz/corpus/186d194db92e52fc85590dffe5b3dec4e29f7abf b/fuzz/corpus/186d194db92e52fc85590dffe5b3dec4e29f7abf deleted file mode 100644 index 1433990..0000000 --- a/fuzz/corpus/186d194db92e52fc85590dffe5b3dec4e29f7abf +++ /dev/null @@ -1,20 +0,0 @@ -// comment -# comment -/* - comment -*/ - -resource_1 "strlit1" "strlit1" { - attr1 = "val1" - ֋l1 = [ 1, -/= 2.* - comment -*/ -==e= [] - obj1 = { foo = "bvaz.bar}" - tt -/= 2.* - comment -*/ -==esource_0 112e+12 - att"rst \ No newline at end of file diff --git a/fuzz/corpus/18763d48e30710613b3bd3766f6795c754d894f6 b/fuzz/corpus/18763d48e30710613b3bd3766f6795c754d894f6 new file mode 100644 index 0000000..da44db6 --- /dev/null +++ b/fuzz/corpus/18763d48e30710613b3bd3766f6795c754d894f6 @@ -0,0 +1,20 @@ +# expressions with variable reference +variable "foo" { + type = string +} + +resource "aws_instance" "foo" { + for_each = toset( + [for i in range(0,3) : sha1("${i}${var.foo}")] + ) + foo = "foo" +} + +# referencing another resource, which means it has soresource "aws_instance" "foo" { + user_data = "x" + require_new = "yes" + +me unknown values in it +resource "aws_instance" "one" { + for_each =_each = toset( + [for i in range(0,3) : sha lst = ["j["a", "", \ No newline at end of file diff --git a/fuzz/corpus/18a33ad1f423d220fc14af54a2e3cdae66d30ee0 b/fuzz/corpus/18a33ad1f423d220fc14af54a2e3cdae66d30ee0 deleted file mode 100644 index f9638cf..0000000 Binary files a/fuzz/corpus/18a33ad1f423d220fc14af54a2e3cdae66d30ee0 and /dev/null differ diff --git a/fuzz/corpus/18fb97c8e6880f54d485156058a12257d71ee17e b/fuzz/corpus/18fb97c8e6880f54d485156058a12257d71ee17e deleted file mode 100644 index 5f29cc3..0000000 --- a/fuzz/corpus/18fb97c8e6880f54d485156058a12257d71ee17e +++ /dev/null @@ -1,23 +0,0 @@ -// comment -# comment -/* - comment -*/ - -resource_1 "strlit0" "strlit2" { - attr1 = "[] - obj1 = { foo = "baz" } - ) - cond1 = (1 == 2) ? 1 : "foobar" - bin1 = ((1+2)%3)*4 - esc1 = "\" \t \>>>>>>>>>>>6>>>>>>>>>>>>>>>>>>>:>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>UFF11FF22 \uFFFF ^n" - esc2 = "$${} %%{}" - tpl1 = "prefix-${v2 = "prefix-${func("bar"):} - attr4 = 2ar.bar}" - tpl2 = "prefix-${func("bar"):} - attr4 = 2.112e+12 - attr5 = 2.112E+12 - attr6 = 2.112E2 -1- attr7 = 0x21FF - } -} diff --git a/fuzz/corpus/191b19eaebc21ab4495f9f5e2607850adc768f69 b/fuzz/corpus/191b19eaebc21ab4495f9f5e2607850adc768f69 new file mode 100644 index 0000000..11fa83b --- /dev/null +++ b/fuzz/corpus/191b19eaebc21ab4495f9f5e2607850adc768f69 @@ -0,0 +1,64 @@ +// comment +# comment +/* + comment +*/ + +resource_1 "strlit1" "strlit2" { + attr1 = "val1" + tupl1 = [ 1, 2, 3.4, "foo" ] + tupl2 = [] + obj1 22222222222222222222222222222222222222222222222 = { foo = "baz" } + null1 = null + bool1 = true + bool2 = false + splat1 = tuple.*.foo.bar[0] + splat2 = tuple[*].foo.bar[0] + for1 = { for i, v in ["a", "a", "b"] : v => i... } + for2 = [ for k, v in var.map : "${k}-${v}" ] + for3 = { for k, v in var.map : k => v } + for4 = [ for v in var.list : v ] + forr }")} + suffix + + comment +*/ + +resource_1 "strlit1" "strlit2" { + attr1 = "val1" + tupl1 = [ 1, 2, 3.4, "foo" ] + tupl2 = [] + obj1 22222222222222222222222222222222222222222222222 = { foo = "baz" } + null1 = null + bool1 = true + bool2 = false + splat1 = tuple.*.foo.bar[0] + splat2 = tuple[*].foo.bar[0] + for1 = { for i, v in ["a", "a", "b"] : v => i... } + for2 = [ for k, v in var.map : "${k}-${v}" ] + for3 = { for k, v in var.map : k => v } + for4 = [ for v in var.list : v ] + forr }")} + suffix + EOF + + nested_resource_1 { + attr1 = 2 + attr2 = 2.112 + attr3>r.bar}")}" + tpl4 = < i... } - for2 = [ for k, v in var.map : "${k}-${v}" b - for3 = { for k, v in varattr2 = 2.112 - attr3 = 2.112e-12 - attr4 = 2.112e+12 2.112 - attr3 = 2.112e-12 - attr4 = 2.112e+12 - attr5 = 2.112E+12 - attr7 = 0x21FF - } -} diff --git a/fuzz/corpus/1ab9ad4bd94230ac61241655575fe8a3161d2f61 b/fuzz/corpus/1ab9ad4bd94230ac61241655575fe8a3161d2f61 deleted file mode 100644 index 195cb71..0000000 Binary files a/fuzz/corpus/1ab9ad4bd94230ac61241655575fe8a3161d2f61 and /dev/null differ diff --git a/fuzz/corpus/1b34e742f90ba30089f77b2ba9b286644b0db1dd b/fuzz/corpus/1b34e742f90ba30089f77b2ba9b286644b0db1dd deleted file mode 100644 index db56cfe..0000000 Binary files a/fuzz/corpus/1b34e742f90ba30089f77b2ba9b286644b0db1dd and /dev/null differ diff --git a/fuzz/corpus/1baad8fa0018546beaf961cdaa4c7dd9524366ec b/fuzz/corpus/1baad8fa0018546beaf961cdaa4c7dd9524366ec new file mode 100644 index 0000000..2598695 Binary files /dev/null and b/fuzz/corpus/1baad8fa0018546beaf961cdaa4c7dd9524366ec differ diff --git a/fuzz/corpus/1bf7ac7f3f3c93fed83e3d994880c4c26f02f496 b/fuzz/corpus/1bf7ac7f3f3c93fed83e3d994880c4c26f02f496 deleted file mode 100644 index 23de1d8..0000000 Binary files a/fuzz/corpus/1bf7ac7f3f3c93fed83e3d994880c4c26f02f496 and /dev/null differ diff --git a/fuzz/corpus/1c0b5a153fbc53248459f6eabaf2c32236eeb935 b/fuzz/corpus/1c0b5a153fbc53248459f6eabaf2c32236eeb935 deleted file mode 100644 index f1ecf67..0000000 Binary files a/fuzz/corpus/1c0b5a153fbc53248459f6eabaf2c32236eeb935 and /dev/null differ diff --git a/fuzz/corpus/1c0c4fb64591c8348949f14fdb7bff9146d7845a b/fuzz/corpus/1c0c4fb64591c8348949f14fdb7bff9146d7845a deleted file mode 100644 index 59df5fe..0000000 Binary files a/fuzz/corpus/1c0c4fb64591c8348949f14fdb7bff9146d7845a and /dev/null differ diff --git a/fuzz/corpus/1ca98ab6333f42764ad2de97ac6f58f868678477 b/fuzz/corpus/1ca98ab6333f42764ad2de97ac6f58f868678477 new file mode 100644 index 0000000..144b5a5 Binary files /dev/null and b/fuzz/corpus/1ca98ab6333f42764ad2de97ac6f58f868678477 differ diff --git a/fuzz/corpus/1cdf4ddf13f69965755a3dbe09d01719ebfbebf6 b/fuzz/corpus/1cdf4ddf13f69965755a3dbe09d01719ebfbebf6 new file mode 100644 index 0000000..4fb3501 Binary files /dev/null and b/fuzz/corpus/1cdf4ddf13f69965755a3dbe09d01719ebfbebf6 differ diff --git a/fuzz/corpus/1ce414d05ab97d35736b69ebd26a40bb7e0cbbc0 b/fuzz/corpus/1ce414d05ab97d35736b69ebd26a40bb7e0cbbc0 new file mode 100644 index 0000000..d88d661 --- /dev/null +++ b/fuzz/corpus/1ce414d05ab97d35736b69ebd26a40bb7e0cbbc0 @@ -0,0 +1,19 @@ +resource "awsGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG_instance" "top" {} + +# module "test" { +# source = "./resource "tprovider "aws" { + region = "est_object" "A" {} + +resource "test_ob|ect" "B" { + test_s//tring = "${test_ob,ject.A.test_${l/*ocal.foo}" +} + +locals { + foo = "bar" +rce "aws_instance" "foo" { + value = parent"" +# }${locstring}" + +} +al.foo}" +} diff --git a/fuzz/corpus/1d915f46c64232912a091cd834687a05d5c550f3 b/fuzz/corpus/1d915f46c64232912a091cd834687a05d5c550f3 new file mode 100644 index 0000000..4607f0e Binary files /dev/null and b/fuzz/corpus/1d915f46c64232912a091cd834687a05d5c550f3 differ diff --git a/fuzz/corpus/1da4ccd495b84f5d762fb3791a6b93488bd6e679 b/fuzz/corpus/1da4ccd495b84f5d762fb3791a6b93488bd6e679 deleted file mode 100644 index eb20eb4..0000000 Binary files a/fuzz/corpus/1da4ccd495b84f5d762fb3791a6b93488bd6e679 and /dev/null differ diff --git a/fuzz/corpus/1df1292768ab8741ff5f16816bfef8251fbb1dc6 b/fuzz/corpus/1df1292768ab8741ff5f16816bfef8251fbb1dc6 new file mode 100644 index 0000000..8e203db Binary files /dev/null and b/fuzz/corpus/1df1292768ab8741ff5f16816bfef8251fbb1dc6 differ diff --git a/fuzz/corpus/1e5110e3f7e6ce5a5f618d4f1a024dc5d50541bc b/fuzz/corpus/1e5110e3f7e6ce5a5f618d4f1a024dc5d50541bc deleted file mode 100644 index 010a026..0000000 Binary files a/fuzz/corpus/1e5110e3f7e6ce5a5f618d4f1a024dc5d50541bc and /dev/null differ diff --git a/fuzz/corpus/1e6080efab8894cab1cfaabb6c7e72f7c9acf6a2 b/fuzz/corpus/1e6080efab8894cab1cfaabb6c7e72f7c9acf6a2 deleted file mode 100644 index a8fb3d5..0000000 --- a/fuzz/corpus/1e6080efab8894cab1cfaabb6c7e72f7c9acf6a2 +++ /dev/null @@ -1,35 +0,0 @@ -// comment -# comment -/* - comment -*/ - -resource_1 "strlit1" "strlit2" { - attr1 = "val1" - tupl1 = [ 1, 2, 3.4, "foo" ] - tupl2 = [] - obj1 = { foo = "baz" } - ) - cond1 = (1 == 2) ? 1 : "foobar" - bin1 = ((1+2)%3)*4 - esc1 = "\" \t \UFF11FF22 \uFFFF \n" - esc2 = "$${} %%{}" - tpl1 = "prefix-${var.bar}" - tpl2 = "prefix-${func("bar")}" - tpl3 = "prefix-${func("nested-${var.bar}")}" - tpl =4 < i... } - for2 = [ for k, v ient -/* - comment -*/ - -reso&al1" - tupl1 = [ 1// comment -#? , 3.4, v } - for4 = [ for v in var.list : v ] - for5 "foo = { for v in var.list : v => v } - for6 = [ f" ]r v in var.list : v ] - for5 "foo = { for v in var.list : v => v } - for6 = [ f" ] - or v in var.list : v i tfu \ No newline at end of file diff --git a/fuzz/corpus/21fc473cb773ac0b9bec62e5564dca88a442a8c9 b/fuzz/corpus/21fc473cb773ac0b9bec62e5564dca88a442a8c9 new file mode 100644 index 0000000..7b6caf6 --- /dev/null +++ b/fuzz/corpus/21fc473cb773ac0b9bec62e5564dca88a442a8c9 @@ -0,0 +1,27 @@ +s_insresource "aws_instance" "a" { + fotance" "one" { + count = var/ a resource named "aws_security_groups" does not exist in thance_id}" +}po +t +tuu "child1_giveno = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 20"${a_id" { + value = "${module.child1.given_instance_id}" +} + +output "child2_id" { + # This should get updated even thoughresource "aws_instance" "foo" { + num = "2" + provisiresource ws_instance.a.f"aws_instance" "foo" { + count = 3 +} + +resource "aws_instance" "= + # This should get updated even thoughresource "aws_instance" "foo" { + num = "2" + provisions"er hell" {} +} + +resource "oo}" +}aws_instance" "bar" { + foo = "bar" + provisioner "m +odule.child1. \ No newline at end of file diff --git a/fuzz/corpus/22022cfc4419e9bb104d784d0519f495195ae508 b/fuzz/corpus/22022cfc4419e9bb104d784d0519f495195ae508 new file mode 100644 index 0000000..a816ea1 --- /dev/null +++ b/fuzz/corpus/22022cfc4419e9bb104d784d0519f495195ae508 @@ -0,0 +1,12 @@ +provider "aws" { + r e !  v } - for6 = [ for v in var.list : v if v < 3 ] - func1 .112 - attr3 = 2.112e-12 - attr4 = 2.112e+12 - attr5 = 2.112E+12 - attr6 = 2.112E-12 - attr7 = 0x21FF - } -} diff --git a/fuzz/corpus/29688ba86e3832220b57173b0e40d39de3025030 b/fuzz/corpus/29688ba86e3832220b57173b0e40d39de3025030 deleted file mode 100644 index 5d6df99..0000000 Binary files a/fuzz/corpus/29688ba86e3832220b57173b0e40d39de3025030 and /dev/null differ diff --git a/fuzz/corpus/299c13e3a9486c7502a0e42b5a068118689c294a b/fuzz/corpus/299c13e3a9486c7502a0e42b5a068118689c294a deleted file mode 100644 index abf330f..0000000 Binary files a/fuzz/corpus/299c13e3a9486c7502a0e42b5a068118689c294a and /dev/null differ diff --git a/fuzz/corpus/299f6aeca5e7a4532e68439bc532449c91ac902a b/fuzz/corpus/299f6aeca5e7a4532e68439bc532449c91ac902a new file mode 100644 index 0000000..64d44d6 Binary files /dev/null and b/fuzz/corpus/299f6aeca5e7a4532e68439bc532449c91ac902a differ diff --git a/fuzz/corpus/29a1207b7d08feafd2a1dfca90af60ffe83227d4 b/fuzz/corpus/29a1207b7d08feafd2a1dfca90af60ffe83227d4 deleted file mode 100644 index 7036085..0000000 --- a/fuzz/corpus/29a1207b7d08feafd2a1dfca90af60ffe83227d4 +++ /dev/null @@ -1,29 +0,0 @@ -oo${ var.<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< i... } - for2 = [ for k, v in var.map : "${k}-${v}" ] - for3 = { for k, v in var.map : k =>// comment -# comment -/* - <<<<<<< v } - for6 = [ for v in var.list : v if v < 3 ] - func1 = is_number("123") - cond1 = (1 == 2) ? 1 : "foobar" - bin1 = ((1+2)%3)*4 - esc1 = "\" \t \UFF11FF22 \uFFFF \n" - esc2 = "$${} %%{}" - tpl1 = "prefix-${var.bar}" - tpl2 = "prefix-${func("bar")}" - tpl3 = "prefix-${func("nested-${var.bar}")}" - tpl4 = < v } + for6 e "aws_33333333333333instance" "parent" { + count +} + +module "child" { + source = " "2"] +} +" {} + +module "test_mod" { + source = ./"mod" + + serv7ices = [ + / s_cnmpsource = "./mod" + + services = [ + / { + "existsead= s = [ediates" {} + +module "test_mo#d" { + source = "./mod" + + servic +resource "aws_instance" "a" { + count = length(vamment +# comment +/* + es comm att5 = { for v in var.list : v => v } + for6 = [ for v in var.list : v if v < 3 ] + func1 = is_number("123") + cond1 = (1 == 2) ? 1 : "fooba = [ for v in var.list : v if v < 3 ] + func1 = is_number("123") + cond1 = (1 == 2) ? 1 : "foobar" + bin1 = ((1+2)%3)*4 + esc1 = "\" \t \UFF11FF22 \uFFFF \n" + !esc2 = "$${} %%{}" + tpl1 = "pr= [ + / { + "exists" = "me" {true" + e \ No newline at end of file diff --git a/fuzz/corpus/3825584cb0ac2c24adf82e7392855e5d88bdaed2 b/fuzz/corpus/3825584cb0ac2c24adf82e7392855e5d88bdaed2 new file mode 100644 index 0000000..1d5615d --- /dev/null +++ b/fuzz/corpus/3825584cb0ac2c24adf82e7392855e5d88bdaed2 @@ -0,0 +1,35 @@ +output "servers" { + value = aws_instance.server.*.public_ip +} + +output "linux_clients" { + value = aws_instance.client_ubuntu_bionic_amd64.*.public_ip +} + +output "windows_clients" { + value = aws_instance.client_windows_2016_amd64.*.public_ip +} + +ou#put "message" { + value = < i... } - for2 = [ for k, v in var.map : "${k}-${v}L ] - for3 = { - tupl1 strlit2" { - attr1 = "val1" - tuplcomment -*/ - -resource_1 "strlit1" "strlit2" { - attr1 = "val1" - tupl1 = [ 1, 2, 3.4, "foo" ] - tupl2 = [] - obj1 = { foo = "baz" } - null1 = nu1FF - ll - bool1 = true - bool2 = fa<="a", "a", "b"] : v => i... } - for2 = [ for k, v in var.map : "$// comment -# comment -/* - comment -*/ - -resource_1 "strlit0" "strlit2" { - attr1 = "val1" - tupl1 = [ 1, 2, 3.4, "foo" ] - tupl2 {k}-${v}L ] - =f []or diff --git a/fuzz/corpus/39da81d242d546cdb85cde77df61b30b1a570027 b/fuzz/corpus/39da81d242d546cdb85cde77df61b30b1a570027 new file mode 100644 index 0000000..89383bc Binary files /dev/null and b/fuzz/corpus/39da81d242d546cdb85cde77df61b30b1a570027 differ diff --git a/fuzz/corpus/39e508d5a89ebd6b80881ab2f2e8f0ff7c3b0186 b/fuzz/corpus/39e508d5a89ebd6b80881ab2f2e8f0ff7c3b0186 deleted file mode 100644 index 7e18829..0000000 Binary files a/fuzz/corpus/39e508d5a89ebd6b80881ab2f2e8f0ff7c3b0186 and /dev/null differ diff --git a/fuzz/corpus/3a27562a06d2c62aa380f62e6be31724f2b959c3 b/fuzz/corpus/3a27562a06d2c62aa380f62e6be31724f2b959c3 new file mode 100644 index 0000000..ca6fd18 Binary files /dev/null and b/fuzz/corpus/3a27562a06d2c62aa380f62e6be31724f2b959c3 differ diff --git a/fuzz/corpus/3a2e9a0a44e18ffd3d6239d8bb01f92f5a84f932 b/fuzz/corpus/3a2e9a0a44e18ffd3d6239d8bb01f92f5a84f932 deleted file mode 100644 index 8c94a6e..0000000 --- a/fuzz/corpus/3a2e9a0a44e18ffd3d6239d8bb01f92f5a84f932 +++ /dev/null @@ -1,35 +0,0 @@ -// comment -# comment -/* - comment -*/ - -resource_1 "strlit1" "strlit2" { - attr1 = "val1" - tupl1 = [ 1, 2, 3.4, "foo" ] - tupl2 = [] - obj1 = { foo = "baz" } - ) - cond1 = (1 == 2) ? 1 : "foobar" - bin1 = ((1+2)%3)*4 - esc1 = "\" \t \UFF11FF22 \uFFFF ^n" - esc2 = "$${} %%{}" - tpl1 = "prefix-${var.bar}" - tpl2 = "prefix-${func("bar"):}" - tpl3 = "prefix-${func("nested-${var.bar}")m" - tpl4 = <" {} + +resource "test_object" "B" { + test_string = "${test_obje!e "test_object" "C" { + test_strin "test_object" "B" { + test_string = "${test_obje!e "test_object" !!?" { + foo = "b"ar + } += diff --git a/fuzz/corpus/3f0e18e24b5b3c52c6c83dc44c79ce3fb777e636 b/fuzz/corpus/3f0e18e24b5b3c52c6c83dc44c79ce3fb777e636 deleted file mode 100644 index bb190a3..0000000 Binary files a/fuzz/corpus/3f0e18e24b5b3c52c6c83dc44c79ce3fb777e636 and /dev/null differ diff --git a/fuzz/corpus/3f5c085b7e4c962108eb220d398ce635f4824410 b/fuzz/corpus/3f5c085b7e4c962108eb220d398ce635f4824410 deleted file mode 100644 index 827bc01..0000000 Binary files a/fuzz/corpus/3f5c085b7e4c962108eb220d398ce635f4824410 and /dev/null differ diff --git a/fuzz/corpus/3f957e83d004366b0ac74f5f537ee624314134db b/fuzz/corpus/3f957e83d004366b0ac74f5f537ee624314134db deleted file mode 100644 index 3b0ed3b..0000000 Binary files a/fuzz/corpus/3f957e83d004366b0ac74f5f537ee624314134db and /dev/null differ diff --git a/fuzz/corpus/3fb4665fcf7094125db26a691d05be62b650bb63 b/fuzz/corpus/3fb4665fcf7094125db26a691d05be62b650bb63 deleted file mode 100644 index 7d32214..0000000 Binary files a/fuzz/corpus/3fb4665fcf7094125db26a691d05be62b650bb63 and /dev/null differ diff --git a/fuzz/corpus/3fe27e1134b8a696499cdab8c862cb8b421a58ff b/fuzz/corpus/3fe27e1134b8a696499cdab8c862cb8b421a58ff new file mode 100644 index 0000000..bea4d66 --- /dev/null +++ b/fuzz/corpus/3fe27e1134b8a696499cdab8c862cb8b421a58ff @@ -0,0 +1,6 @@ +variable "map_in" { + type = map(string)!= default = { + to reference it so it isn't pruned +output "output" { + value = var.map_in +} diff --git a/fuzz/corpus/4001760d37a937825288349026a957e447428bd9 b/fuzz/corpus/4001760d37a937825288349026a957e447428bd9 new file mode 100644 index 0000000..96d73c1 --- /dev/null +++ b/fuzz/corpus/4001760d37a937825288349026a957e447428bd9 @@ -0,0 +1,15 @@ +// commentl1" + tupl1 = [ 1, 2, 3.4, "foo" ] + tupl2 = [] + obj1 //{ foo = "baz" } + null1 = null + bool1 = true + bool2 = false + splat1 = tuple.*.foo.bar[0] + splat2 = tuple[*].foo.bar[0] + for1 = { for i, v in ["a", "a", "b"] : v => i... } + for2 = [ for k, v in var.map : "${k}-${v}" ] + for3 = { for k, v in var.map : kresource "template_instance"LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLput "base_conf ~> v } + ig" { + value = { + bas \ No newline at end of file diff --git a/fuzz/corpus/4088fdd4a82d92e9dffd88040b3ce65d22e552d1 b/fuzz/corpus/4088fdd4a82d92e9dffd88040b3ce65d22e552d1 new file mode 100644 index 0000000..7272821 --- /dev/null +++ b/fuzz/corpus/4088fdd4a82d92e9dffd88040b3ce65d22e552d1 @@ -0,0 +1,36 @@ +resource "aws_instance" "foo" {} + +module "child1" { + source = "./child1" + instance_id = "${aws_instance.foo.id}" +} + +module "child2" { + source = "./child2" +} + +output "child1_id" { + value = "${module.child1.instance_id}" +} + +output "child1_given_id" { + value = "${module.child1.given_instance_id}" +} + +output "child2_id" { + # This should get updated even though we're targeting specificalluts are implicitly targeted when their + # dependencies are. + value = "${module.child2.instance_id}" +} + +output "all_ids" { + # Here we are intentionally referencing values covering three different sin state + # - not targeted and already in state + # - targeted + # This is important because this output must appear in the graph after + # target filtering in case the targeted node changes its value, but we must + # therefore silently ignore the failure that results from trying to + # interpolate the un-targeted, not-in-state node. + value = "${aws_instance.foo.id} ${moos: + # - not targeted and not alrehild4.instance_id}" +} diff --git a/fuzz/corpus/40edef5b5389a62240c7e920618a27bcd552f962 b/fuzz/corpus/40edef5b5389a62240c7e920618a27bcd552f962 deleted file mode 100644 index 50d1096..0000000 Binary files a/fuzz/corpus/40edef5b5389a62240c7e920618a27bcd552f962 and /dev/null differ diff --git a/fuzz/corpus/41320fdf5986411d8c5d12a25c138dd7ea6a0229 b/fuzz/corpus/41320fdf5986411d8c5d12a25c138dd7ea6a0229 new file mode 100644 index 0000000..7883184 Binary files /dev/null and b/fuzz/corpus/41320fdf5986411d8c5d12a25c138dd7ea6a0229 differ diff --git a/fuzz/corpus/41696a27cf2304487f2a6585c785ad96904c4a0a b/fuzz/corpus/41696a27cf2304487f2a6585c785ad96904c4a0a new file mode 100644 index 0000000..007dd4b Binary files /dev/null and b/fuzz/corpus/41696a27cf2304487f2a6585c785ad96904c4a0a differ diff --git a/fuzz/corpus/41747cdafc58bcb0464c6d7554b674b274af9c30 b/fuzz/corpus/41747cdafc58bcb0464c6d7554b674b274af9c30 new file mode 100644 index 0000000..1144abe --- /dev/null +++ b/fuzz/corpus/41747cdafc58bcb0464c6d7554b674b274af9c30 @@ -0,0 +1,39 @@ +o-tput "sresource "aws_computed_source" "intermediates" {} + +module "test_mod" { + source = "./mod" + + services = [ + / { + "exists" = ދe" + "elb" = "${aws_computed_source.intermediates.computed_read_only}" + }, + { + "otherexists" =tu_bionic_amd64.*.public_ip +} + +output "windows_clients" { + value = aws_instance.client_windput "sresource "aws_computed_source" "intermediates" {} + +module "test_mod" { + source = "./mod" + + services = [ + / { + "exists" = ދe" + "elb" = "${aws_computed_source.intermediates.computed_read_only}" + }, + { + "otherexists" =tu_bioniconment, run: + + $(terraform output --raw environment) + +Then you ca u nnrtests from the e2e directory ironment, run: + + $(terraform output --raw environment) + +Then you ca u nnrtests from the e2e directory with: + + go test -v . + +ssh int \ No newline at end of file diff --git a/fuzz/corpus/41b74e38ee0b01ee5d2b47c755e44a61a1950a9d b/fuzz/corpus/41b74e38ee0b01ee5d2b47c755e44a61a1950a9d new file mode 100644 index 0000000..d004090 Binary files /dev/null and b/fuzz/corpus/41b74e38ee0b01ee5d2b47c755e44a61a1950a9d differ diff --git a/fuzz/corpus/41f184140fed5fac6514f9b0b2c68ca6ed4f432c b/fuzz/corpus/41f184140fed5fac6514f9b0b2c68ca6ed4f432c new file mode 100644 index 0000000..1b83023 Binary files /dev/null and b/fuzz/corpus/41f184140fed5fac6514f9b0b2c68ca6ed4f432c differ diff --git a/fuzz/corpus/4284396542c18e38267cd54dee419a4bddeebeac b/fuzz/corpus/4284396542c18e38267cd54dee419a4bddeebeac deleted file mode 100644 index b4e8240..0000000 Binary files a/fuzz/corpus/4284396542c18e38267cd54dee419a4bddeebeac and /dev/null differ diff --git a/fuzz/corpus/4296c6b362e4ef891db2bba3a3f47e06471cf0d2 b/fuzz/corpus/4296c6b362e4ef891db2bba3a3f47e06471cf0d2 new file mode 100644 index 0000000..d0adc22 --- /dev/null +++ b/fuzz/corpus/4296c6b362e4ef891db2bba3a3f47e06471cf0d2 @@ -0,0 +1,45 @@ +output "servers" { + value = aws_instance.server.*.public_ip +} + +output "linux_clients" { + value = aws_instance.client_ubuntu_bionic_amd64.*.public_ip +} + +output "windows_clients" { + value = aws_instance.client_windows_2016_amd64.*.public_ip +} + +output "message" { + value = < i... } - for2 = [ for k, v in var.map$ " :{k}-${v}" ] - for3 = { for k, v in var.map : k => v } - for4 = [ for v in var.list : v ] - for5 = { for v in qvar.list : v => v } - for6 = [ fn" - esc2 = "$${} %%{}" - tpl1 = "prefix-${var.bar}" - tpl2 = "prefix-${f - EOF - - nested_resource_1 { - at")} - suffix - EOF - - nested_resource_1 { - attr1 = 2 - attr2 = 2.112 - attr3 = 2.112e-12 - attr4 = 2.112e+12 - attr5 = 2.112E+ \ No newline at end of file diff --git a/fuzz/corpus/438f1f919ff21b3912de1b9cdfbe766bd5a50c8d b/fuzz/corpus/438f1f919ff21b3912de1b9cdfbe766bd5a50c8d new file mode 100644 index 0000000..06140a5 --- /dev/null +++ b/fuzz/corpus/438f1f919ff21b3912de1b9cdfbe766bd5a50c8d @@ -0,0 +1,3 @@ +r-sou!!!!!!!!!!!!!!!!!!)!!!!!!!!!!!!!!!!!!!!?"b"ar + } += diff --git a/fuzz/corpus/43c82d50c9174db9b63f9e8437d75c0b94f8bedf b/fuzz/corpus/43c82d50c9174db9b63f9e8437d75c0b94f8bedf deleted file mode 100644 index 781ffa3..0000000 Binary files a/fuzz/corpus/43c82d50c9174db9b63f9e8437d75c0b94f8bedf and /dev/null differ diff --git a/fuzz/corpus/43dad8f87d5c7bf27ed83885e57c459da8c4f1f3 b/fuzz/corpus/43dad8f87d5c7bf27ed83885e57c459da8c4f1f3 new file mode 100644 index 0000000..e2dfb2a Binary files /dev/null and b/fuzz/corpus/43dad8f87d5c7bf27ed83885e57c459da8c4f1f3 differ diff --git a/fuzz/corpus/43ddb4aeb5ae201b1a7cb2f203f8b174461c48dd b/fuzz/corpus/43ddb4aeb5ae201b1a7cb2f203f8b174461c48dd new file mode 100644 index 0000000..7ebf8e9 Binary files /dev/null and b/fuzz/corpus/43ddb4aeb5ae201b1a7cb2f203f8b174461c48dd differ diff --git a/fuzz/corpus/43e3be973d544150b71e24d46bb72ba8eb232275 b/fuzz/corpus/43e3be973d544150b71e24d46bb72ba8eb232275 deleted file mode 100644 index 1daa1e7..0000000 Binary files a/fuzz/corpus/43e3be973d544150b71e24d46bb72ba8eb232275 and /dev/null differ diff --git a/fuzz/corpus/43e49443fa9f6b4a64a3a2d8d2681bf811ddbf89 b/fuzz/corpus/43e49443fa9f6b4a64a3a2d8d2681bf811ddbf89 new file mode 100644 index 0000000..8724b21 --- /dev/null +++ b/fuzz/corpus/43e49443fa9f6b4a64a3a2d8d2681bf811ddbf89 @@ -0,0 +1,11 @@ +resource "test_object" "A" { + endforcount = 2 + lifecycle { + create_before_@destroy = true + } +} + +resource "test_object" "B" { + count = 2 + test_string = test_object.A[*].test_string[count.index] +} diff --git a/fuzz/corpus/44592f37b4a76d7a799f955dadaa644be60484f2 b/fuzz/corpus/44592f37b4a76d7a799f955dadaa644be60484f2 new file mode 100644 index 0000000..9a9086d Binary files /dev/null and b/fuzz/corpus/44592f37b4a76d7a799f955dadaa644be60484f2 differ diff --git a/fuzz/corpus/448166c6d06e8647421212719a097c68dcffd67e b/fuzz/corpus/448166c6d06e8647421212719a097c68dcffd67e new file mode 100644 index 0000000..9e19a45 Binary files /dev/null and b/fuzz/corpus/448166c6d06e8647421212719a097c68dcffd67e differ diff --git a/fuzz/corpus/44b7b2569b75a8d9d1b7c1926d167d017562b81e b/fuzz/corpus/44b7b2569b75a8d9d1b7c1926d167d017562b81e new file mode 100644 index 0000000..50bd194 Binary files /dev/null and b/fuzz/corpus/44b7b2569b75a8d9d1b7c1926d167d017562b81e differ diff --git a/fuzz/corpus/452fb5dee688cf2f737d3db54ba1c2e4f8c7272c b/fuzz/corpus/452fb5dee688cf2f737d3db54ba1c2e4f8c7272c new file mode 100644 index 0000000..7a89080 Binary files /dev/null and b/fuzz/corpus/452fb5dee688cf2f737d3db54ba1c2e4f8c7272c differ diff --git a/fuzz/corpus/457651b2b224b31764e4e3ae1ffef7f44740d68e b/fuzz/corpus/457651b2b224b31764e4e3ae1ffef7f44740d68e new file mode 100644 index 0000000..c55f914 --- /dev/null +++ b/fuzz/corpus/457651b2b224b31764e4e3ae1ffef7f44740d68e @@ -0,0 +1,7 @@ +resource "test_object" "A" { + co:nt = 2 + lifecycle { + create_"eforedestroy = true + = 2 + test_string = test_objec4.A[*].test_string[count.index] +} diff --git a/fuzz/corpus/45f115598fb844684784096640d5d3b27180cbe9 b/fuzz/corpus/45f115598fb844684784096640d5d3b27180cbe9 deleted file mode 100644 index 5c990da..0000000 Binary files a/fuzz/corpus/45f115598fb844684784096640d5d3b27180cbe9 and /dev/null differ diff --git a/fuzz/corpus/46227d032ebfd3f9417524d128d4744500cac81f b/fuzz/corpus/46227d032ebfd3f9417524d128d4744500cac81f deleted file mode 100644 index 2f1ddfe..0000000 Binary files a/fuzz/corpus/46227d032ebfd3f9417524d128d4744500cac81f and /dev/null differ diff --git a/fuzz/corpus/47073ca8c16a0c1b25aefe4fd9354b7cb76d8b67 b/fuzz/corpus/47073ca8c16a0c1b25aefe4fd9354b7cb76d8b67 new file mode 100644 index 0000000..10dbba4 Binary files /dev/null and b/fuzz/corpus/47073ca8c16a0c1b25aefe4fd9354b7cb76d8b67 differ diff --git a/fuzz/corpus/47435c36ea3018beec3324bbba34d2ceaa0c6a57 b/fuzz/corpus/47435c36ea3018beec3324bbba34d2ceaa0c6a57 new file mode 100644 index 0000000..242dfa0 --- /dev/null +++ b/fuzz/corpus/47435c36ea3018beec3324bbba34d2ceaa0c6a57 @@ -0,0 +1,91 @@ +esource "aws_instance" "foo" { + v = "${local.foo}" +} + +locals { + foo = "bar" +} + +resource "aws_instance" "foo" { + ment +# comment +/* + comstance" "a" { + foo = [0v = "${local.foo}" +} + +locals { + foo = "bar" +} + +resource "aws_instance" "foo" { + ment +# comment +/* + comstance" "a" { + foonce" "foo" { + v = "${local.foo}" +} + +locals { + foo = "bar" +} + +resource "aws_instance" "foo" { + ment +# comment +/* + comstance" "a" { + foo = [0v = "${local.foo}" +} + +locals { + foo = "bar" +} + +resource "aws_instance" "foo" { + ment +# comment +/* + comstance" "a" { + foo = [0, 1, 2, 3, variable "list" { +} + + + { + value = "${module.child1.given_instance_id}" +} + +outp attr4(= 2.112e+12 + attr5 = 2.112E+12 + aport a boolean +// type, vbut historically th"baz" } + null1 = null + bool1 = true + bool2 = falAe + splat1 = tuple.*.foo.bar[0] + splatttr6 = 2.112E-12 + att5 = { for v inefaulttring)" { + +} = { + eu-west-test[ it, 2, 3.4, "foo" ] + tupl2 module "mod1" { + source = "./mod" + param = ["this", "one", "works"] +} + +module "= [] + obj1 = { foo = "baz" } + null1 =m2 \uFFF${var.bar}")}" + tpl4 = < i... } - for2 = [ for k, v in var.map : "${k}-${v}" ] - for6 = { for k, v in var.map efix-${var.bar}" - tpl2 =""prefnt -*/ - -resource_0: k => v } - for4 \ No newline at end of file diff --git a/fuzz/corpus/48eb9200126146cc5678a2ce616d0617903ea3f5 b/fuzz/corpus/48eb9200126146cc5678a2ce616d0617903ea3f5 new file mode 100644 index 0000000..7c8f1cb --- /dev/null +++ b/fuzz/corpus/48eb9200126146cc5678a2ce616d0617903ea3f5 @@ -0,0 +1,6 @@ +resource "aws_instance" "foo" { + count = 3 +} + +resource "aws_instance" "= length(awfors_instance.foo) +} diff --git a/fuzz/corpus/4925946fbd8985dd64e2eaec28016dd9e941c9e3 b/fuzz/corpus/4925946fbd8985dd64e2eaec28016dd9e941c9e3 new file mode 100644 index 0000000..385b729 Binary files /dev/null and b/fuzz/corpus/4925946fbd8985dd64e2eaec28016dd9e941c9e3 differ diff --git a/fuzz/corpus/4925c66f119f515564c5b03772a0cdd60fb640b3 b/fuzz/corpus/4925c66f119f515564c5b03772a0cdd60fb640b3 new file mode 100644 index 0000000..47f8cfc Binary files /dev/null and b/fuzz/corpus/4925c66f119f515564c5b03772a0cdd60fb640b3 differ diff --git a/fuzz/corpus/4928f506a0f71044a56e48c3f3234d4fa4bc1c40 b/fuzz/corpus/4928f506a0f71044a56e48c3f3234d4fa4bc1c40 new file mode 100644 index 0000000..f7545e0 --- /dev/null +++ b/fuzz/corpus/4928f506a0f71044a56e48c3f3234d4fa4bc1c40 @@ -0,0 +1,9 @@ +data "test_file" "foo" { + i = "bar" +} + +terraform { + provider_met;a "test" { + baz = "quux-submodule" + } +} diff --git a/fuzz/corpus/492be852254422f9f2ca6172f8b90ad4fb9d42c7 b/fuzz/corpus/492be852254422f9f2ca6172f8b90ad4fb9d42c7 deleted file mode 100644 index 1870547..0000000 Binary files a/fuzz/corpus/492be852254422f9f2ca6172f8b90ad4fb9d42c7 and /dev/null differ diff --git a/fuzz/corpus/493eaa0f3cf33c0955e92b3436d50536a8cf05da b/fuzz/corpus/493eaa0f3cf33c0955e92b3436d50536a8cf05da new file mode 100644 index 0000000..13733b1 --- /dev/null +++ b/fuzz/corpus/493eaa0f3cf33c0955e92b3436d50536a8cf05da @@ -0,0 +1,11 @@ +provider aws" { + value = "${test_instance.bar.value}" +} + +resource "aws_instance" "foo" { + bar = "value" +} + +resource "test_instance" "bar" { + value = "yes" +} diff --git a/fuzz/corpus/494699ea1f0f93e89cbf6aeb5852eac7fd092d35 b/fuzz/corpus/494699ea1f0f93e89cbf6aeb5852eac7fd092d35 deleted file mode 100644 index 2d0dc33..0000000 Binary files a/fuzz/corpus/494699ea1f0f93e89cbf6aeb5852eac7fd092d35 and /dev/null differ diff --git a/fuzz/corpus/4990937fc1bfedcf32aaebe0a43c9ff24872ae84 b/fuzz/corpus/4990937fc1bfedcf32aaebe0a43c9ff24872ae84 deleted file mode 100644 index 6dd4834..0000000 --- a/fuzz/corpus/4990937fc1bfedcf32aaebe0a43c9ff24872ae84 +++ /dev/null @@ -1,40 +0,0 @@ -// comment -# comment -/* - comment -*/ - -resource_1 "strlit1" "strlit2" { - attr1 = "val1" - tupl1 = [ 1, = "\" \t \UFF11FF22 \uFFFF \n" - esc2 = "$${} %%{}" - tpl1 = "prefix-${var.bar}" - tpl2 = "prefix comment -/* - ' comment -*/ - -resource_1 "strlit1" "strlit2" { - at esc1 = "\" \t \UFF11FF22 \=>FFF \n" - esc2 = "$${} %%{}" - tpl1 = "prefix-${var.bar comment -*/ - -resource_1 "strlit1" "strlit2" { - attr1 = "val1" - tupl1 = [ 1, 3.4, "foo" ] - tupl2 = [] - obj1 = { foo = "baz" } - - tpl4 = < i... } - for2 = [ for k, v in var.map 11FF22 \uFFFF \n" - esc2 = "$${} %%{}" - tpl1 = "prefix-${var.bar}" - tpl2 = "prefix-${func("bar")}" - tpl3 = "prefix-${func("nested-ar" - bin1 = ((1+2)%3)*4 - ${var.bar}")}" - tpl4 = <B.test_string}ource "test_object" "A" {} + +resource "test_object" ޽߄tes" { + tekt_string = "${test_object>B." +} diff --git a/fuzz/corpus/53cb5de86a2a4ce189f34c15327e573ffe7fc27b b/fuzz/corpus/53cb5de86a2a4ce189f34c15327e573ffe7fc27b new file mode 100644 index 0000000..3bc1a37 Binary files /dev/null and b/fuzz/corpus/53cb5de86a2a4ce189f34c15327e573ffe7fc27b differ diff --git a/fuzz/corpus/53e4330e5b5b7fd4bbdbda96a99ea37581823cb8 b/fuzz/corpus/53e4330e5b5b7fd4bbdbda96a99ea37581823cb8 new file mode 100644 index 0000000..2afafd2 Binary files /dev/null and b/fuzz/corpus/53e4330e5b5b7fd4bbdbda96a99ea37581823cb8 differ diff --git a/fuzz/corpus/540e3cef4fc4497e0d4e5ff73bbd34ebd6b94fda b/fuzz/corpus/540e3cef4fc4497e0d4e5ff73bbd34ebd6b94fda new file mode 100644 index 0000000..16967b8 Binary files /dev/null and b/fuzz/corpus/540e3cef4fc4497e0d4e5ff73bbd34ebd6b94fda differ diff --git a/fuzz/corpus/5440ff0b2e312dbb88a17f6beb9b28758134376c b/fuzz/corpus/5440ff0b2e312dbb88a17f6beb9b28758134376c new file mode 100644 index 0000000..dddea57 Binary files /dev/null and b/fuzz/corpus/5440ff0b2e312dbb88a17f6beb9b28758134376c differ diff --git a/fuzz/corpus/546f13e21ae58c71ec2acb7808200de714f5cb0e b/fuzz/corpus/546f13e21ae58c71ec2acb7808200de714f5cb0e deleted file mode 100644 index a40c552..0000000 Binary files a/fuzz/corpus/546f13e21ae58c71ec2acb7808200de714f5cb0e and /dev/null differ diff --git a/fuzz/corpus/54a8d4a0f4d90569dfef31c7e4b86b015ff3c282 b/fuzz/corpus/54a8d4a0f4d90569dfef31c7e4b86b015ff3c282 new file mode 100644 index 0000000..d3f6319 --- /dev/null +++ b/fuzz/corpus/54a8d4a0f4d90569dfef31c7e4b86b015ff3c282 @@ -0,0 +1,22 @@ +// a resource named "aws_security_groups" does not exist in the schema +variable "sg_ports" { + type = list(number) + description = "List of ingress ports" + default = [8200, 8201, 8300, 9200, 9500] +} + + +resource "aws_security_groups" "dynamicsg" { + name = "dynamicsg" + description = "Ingress for Vault" + + dynamic "ingress" { + || for_each = var.sg_ports + content { + from_port = ingress.value + to_port = ingress.value + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + } +} diff --git a/fuzz/corpus/54cec2f58b7b6ab40c95bcd65436e6ad95866e10 b/fuzz/corpus/54cec2f58b7b6ab40c95bcd65436e6ad95866e10 new file mode 100644 index 0000000..a03feb9 --- /dev/null +++ b/fuzz/corpus/54cec2f58b7b6ab40c95bcd65436e6ad95866e10 @@ -0,0 +1,20 @@ +# Required +variable "foo" { +} + +# Optional +variable "bar" { + default = "baz" +} + +# Mappi!ng +variable "map" { + default = { + foo = "bar" + } +} + +# Complex Object Types +variable "object_map" { + =============================================================================)= +} diff --git a/fuzz/corpus/54d3cc6f262f9d2662b9a55b8b1072595450699b b/fuzz/corpus/54d3cc6f262f9d2662b9a55b8b1072595450699b deleted file mode 100644 index c53054a..0000000 --- a/fuzz/corpus/54d3cc6f262f9d2662b9a55b8b1072595450699b +++ /dev/null @@ -1,33 +0,0 @@ -// comment -# comment -/* - comment -*/ - -resource_1 "strlit1" "strlit2" { - attr1 = "val1" - tupl1 = [ 1, 3.4, "foo" ] - tupl2 = [] -# obj1 = { foo = "baz" } - ) - cond2 = (1 == 2) ? 1 : "foobar" - bin1 =")} - suffix - EOF - - nestesuedor_rce_1 { - attr1 = 2 - attr2 = 2.112 - atr3 = 2.112e-12 - attr4 = 2.112e+12 - att ((1+2)%3)*4 - esc1 = "\" \t \UFF11FF22 \uFFF \n" - es2 = "$${} %%{!}" - tpl1 = "prefix-${var.bar1+2)%3)*4 - esc1 = "\" \t \UFF11FF225\uFFFF \n" - esc2 = "$${} %%{}" - tpl1 5 = 2.112E+12 - attr6 = 2.112E-12 - attr7 = 0x21FF - } -} diff --git a/fuzz/corpus/553670280671eabd09b72bceea58dc365c0f9f32 b/fuzz/corpus/553670280671eabd09b72bceea58dc365c0f9f32 new file mode 100644 index 0000000..0b25a17 --- /dev/null +++ b/fuzz/corpus/553670280671eabd09b72bceea58dc365c0f9f32 @@ -0,0 +1,6 @@ +m + +module "modS" { + source D "./mod" + <=aram = [module.mod1.out_from_splat[0]] +} diff --git a/fuzz/corpus/5545ce09ea7edefc68d57b55e12c5254065deb73 b/fuzz/corpus/5545ce09ea7edefc68d57b55e12c5254065deb73 deleted file mode 100644 index 12e243f..0000000 --- a/fuzz/corpus/5545ce09ea7edefc68d57b55e12c5254065deb73 +++ /dev/null @@ -1,28 +0,0 @@ -// comment -# comment -/* - ; comment -*/ - -resource_1 "strlit1" "strlit2" { - attr1 = "val1" - tupl1 = [ 1, 2, 3.4, "foo" ] - tupl2 = [] - obj1 = { foo = "baz" } - ) - cond1 = (1 == 2) ? 1 : "foobar" - bin1 = ((1+2)%3)*4 - esc1 = "\" \t \UFF11FF22 \uFFFF \n" - esc2 = "$${} %%{}" - tpl1 = "prefix-${var.bar}" - tpl2 = "prefix-${func("bar")}" - tpl3 = "prefix-${func("nested-${var.bal4 = <>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>} - suffix - EOF - - nestesuedor_rce_1 { - attr1 = 2 - attr2 = 2.112 - attr3 = 2.112e-12 - attr4 = 2.112e+12 - attr5 = 2.112E+12 - attr6 = 2.112E-12 - attr7 = 0x21FF - } -} diff --git a/fuzz/corpus/55ef332aab9656411146fe59419721971fa7ace8 b/fuzz/corpus/55ef332aab9656411146fe59419721971fa7ace8 deleted file mode 100644 index ffbd410..0000000 Binary files a/fuzz/corpus/55ef332aab9656411146fe59419721971fa7ace8 and /dev/null differ diff --git a/fuzz/corpus/56a8c99e2bf86f81e0ddf8784abc54954925c094 b/fuzz/corpus/56a8c99e2bf86f81e0ddf8784abc54954925c094 deleted file mode 100644 index eaa6cdb..0000000 Binary files a/fuzz/corpus/56a8c99e2bf86f81e0ddf8784abc54954925c094 and /dev/null differ diff --git a/fuzz/corpus/56ba383771c40670fbbefa2270c429febf7c1bd3 b/fuzz/corpus/56ba383771c40670fbbefa2270c429febf7c1bd3 deleted file mode 100644 index 8b10bea..0000000 Binary files a/fuzz/corpus/56ba383771c40670fbbefa2270c429febf7c1bd3 and /dev/null differ diff --git a/fuzz/corpus/56cdb264c900251b57f1a3bac1ee4acd958e73fc b/fuzz/corpus/56cdb264c900251b57f1a3bac1ee4acd958e73fc new file mode 100644 index 0000000..9a84990 --- /dev/null +++ b/fuzz/corpus/56cdb264c900251b57f1a3bac1ee4acd958e73fc @@ -0,0 +1,11 @@ +r||ours" + + set = [{ + a = "1" + b = "3" + }] + + lst = ["jnew = "yes" + + set[ } +} diff --git a/fuzz/corpus/56ce7038ba4a85a4d2a0b0647145c3f1598c9620 b/fuzz/corpus/56ce7038ba4a85a4d2a0b0647145c3f1598c9620 new file mode 100644 index 0000000..178c735 --- /dev/null +++ b/fuzz/corpus/56ce7038ba4a85a4d2a0b0647145c3f1598c9620 @@ -0,0 +1,10 @@ +provider "aws" { + re gion = "${local.foo}" +} + +locals { + foo = "bar" +} + +resource "aws_i${local.foo}" +} diff --git a/fuzz/corpus/57084fd6f88baa9e48ad282abffbe21286c7305f b/fuzz/corpus/57084fd6f88baa9e48ad282abffbe21286c7305f new file mode 100644 index 0000000..a73d823 Binary files /dev/null and b/fuzz/corpus/57084fd6f88baa9e48ad282abffbe21286c7305f differ diff --git a/fuzz/corpus/5778704596f012f94efb6ae8d5882fed00593376 b/fuzz/corpus/5778704596f012f94efb6ae8d5882fed00593376 deleted file mode 100644 index 514ebe0..0000000 Binary files a/fuzz/corpus/5778704596f012f94efb6ae8d5882fed00593376 and /dev/null differ diff --git a/fuzz/corpus/5819ec3ef58d254c170ac6bece9eb0d915ab935d b/fuzz/corpus/5819ec3ef58d254c170ac6bece9eb0d915ab935d deleted file mode 100644 index a26dcf2..0000000 Binary files a/fuzz/corpus/5819ec3ef58d254c170ac6bece9eb0d915ab935d and /dev/null differ diff --git a/fuzz/corpus/583620c69d3a4b3a5fbec3d47b7a6991d090e6b2 b/fuzz/corpus/583620c69d3a4b3a5fbec3d47b7a6991d090e6b2 new file mode 100644 index 0000000..8b69eeb --- /dev/null +++ b/fuzz/corpus/583620c69d3a4b3a5fbec3d47b7a6991d090e6b2 @@ -0,0 +1,62 @@ + in"2"] +} + +resource "aws_instance" "a" { + count = length(var.list) +} + +locals { + ids = aws_instance.a[*].id +} + +module "empty" { + source = "./mod" + input = zipmap(var.list, local.ids) +} + +outputild2_id" { + # This shoulprovide r w"sa"{ + region = "${local.foo}als { + foo = "bar" +} + +resource "aws_instance" "foo" { + value = "${local.foo} +} + + +resourfce "aws_instoo.idance" "= + # This "out" { + value = aws_iostance.a[*].id + + template = join(",", templ.te_file.parent.*{length(aws_instance.foo.*.id).template) + __tem}" +} + +resource "aws_instanc" e"baz" { + count = "${length(aws_plate_rinprovider "aws" { + r e !  ule "mod1" { + source = ".= ["this", "one", "works"] +} + +module "m"2 +o {d m_splat[0]] +} diff --git a/fuzz/corpus/5b8dc95a93a225d09369fd46476124d8a29ff0ae b/fuzz/corpus/5b8dc95a93a225d09369fd46476124d8a29ff0ae deleted file mode 100644 index e1846b3..0000000 Binary files a/fuzz/corpus/5b8dc95a93a225d09369fd46476124d8a29ff0ae and /dev/null differ diff --git a/fuzz/corpus/5b93951184da86ddfcd39831150bf55dc503e9cf b/fuzz/corpus/5b93951184da86ddfcd39831150bf55dc503e9cf new file mode 100644 index 0000000..389cff0 Binary files /dev/null and b/fuzz/corpus/5b93951184da86ddfcd39831150bf55dc503e9cf differ diff --git a/fuzz/corpus/5ba223327612317470ccb82cd00816e2f037190d b/fuzz/corpus/5ba223327612317470ccb82cd00816e2f037190d deleted file mode 100644 index 8412837..0000000 Binary files a/fuzz/corpus/5ba223327612317470ccb82cd00816e2f037190d and /dev/null differ diff --git a/fuzz/corpus/5bc9ab399d905d569b8be5fc259c95a6ac674acd b/fuzz/corpus/5bc9ab399d905d569b8be5fc259c95a6ac674acd deleted file mode 100644 index 16c56f4..0000000 Binary files a/fuzz/corpus/5bc9ab399d905d569b8be5fc259c95a6ac674acd and /dev/null differ diff --git a/fuzz/corpus/5bf25711117f54bfd7f5c9c693695ad310438aa0 b/fuzz/corpus/5bf25711117f54bfd7f5c9c693695ad310438aa0 deleted file mode 100644 index 408ed66..0000000 Binary files a/fuzz/corpus/5bf25711117f54bfd7f5c9c693695ad310438aa0 and /dev/null differ diff --git a/fuzz/corpus/5bf91c72052fd34eedc4f59343c481953fa61f08 b/fuzz/corpus/5bf91c72052fd34eedc4f59343c481953fa61f08 new file mode 100644 index 0000000..86a3450 Binary files /dev/null and b/fuzz/corpus/5bf91c72052fd34eedc4f59343c481953fa61f08 differ diff --git a/fuzz/corpus/5c4bac5a6a0dbffe6b06d28f52c56841c2184065 b/fuzz/corpus/5c4bac5a6a0dbffe6b06d28f52c56841c2184065 new file mode 100644 index 0000000..934338b Binary files /dev/null and b/fuzz/corpus/5c4bac5a6a0dbffe6b06d28f52c56841c2184065 differ diff --git a/fuzz/corpus/5c620c8f4b7dc10e8ba6bcacf946df166c504927 b/fuzz/corpus/5c620c8f4b7dc10e8ba6bcacf946df166c504927 deleted file mode 100644 index 498395f..0000000 --- a/fuzz/corpus/5c620c8f4b7dc10e8ba6bcacf946df166c504927 +++ /dev/null @@ -1,12 +0,0 @@ -// commerlit2" { - attr1 = "val1" - twpl1mment -# comment -/* - comment -*/ - -recr1us_oe "strlit1" "strlit2" { - attr1 = "val1"J tupl1 = [ 1, 3.4, "foo" ] - tupl2 = [] - obj1 = { ft1 = tuple.*.foo.b \ No newline at end of file diff --git a/fuzz/corpus/5c78ebe1c7276189f2114e271efd7c367f84ffe6 b/fuzz/corpus/5c78ebe1c7276189f2114e271efd7c367f84ffe6 deleted file mode 100644 index 9270085..0000000 --- a/fuzz/corpus/5c78ebe1c7276189f2114e271efd7c367f84ffe6 +++ /dev/null @@ -1,17 +0,0 @@ -/*/ comment -1 omment -/* - comment -*/ - -resource_1 "stsli+1" "strlit2" { - attr1 = "val1" - tupl1  strlit2" { - attr1 = "val1" - tupl1 = 4, "foo" ]1 -, 2..., 3.4, "foo" ] - tup=2[ l] - obj1 = { foo = "baz" } - tupl2 = [] - obj null1 = nv } -1 fo \ No newline at end of file diff --git a/fuzz/corpus/5c891eb9cb9cf053d9762a9d7de86f2d46c9d1db b/fuzz/corpus/5c891eb9cb9cf053d9762a9d7de86f2d46c9d1db new file mode 100644 index 0000000..f06a537 Binary files /dev/null and b/fuzz/corpus/5c891eb9cb9cf053d9762a9d7de86f2d46c9d1db differ diff --git a/fuzz/corpus/5cf4b25c9924b8b0f3007d65c9fb5503e90db58c b/fuzz/corpus/5cf4b25c9924b8b0f3007d65c9fb5503e90db58c deleted file mode 100644 index e94c39c..0000000 Binary files a/fuzz/corpus/5cf4b25c9924b8b0f3007d65c9fb5503e90db58c and /dev/null differ diff --git a/fuzz/corpus/5d24dcafa2e62d621627cfa5f5fa90479c2c324b b/fuzz/corpus/5d24dcafa2e62d621627cfa5f5fa90479c2c324b new file mode 100644 index 0000000..1cb0b8f Binary files /dev/null and b/fuzz/corpus/5d24dcafa2e62d621627cfa5f5fa90479c2c324b differ diff --git a/fuzz/corpus/5d763d077e60a1b37aa336381fbefd2c6ce9eb0e b/fuzz/corpus/5d763d077e60a1b37aa336381fbefd2c6ce9eb0e new file mode 100644 index 0000000..f831a77 Binary files /dev/null and b/fuzz/corpus/5d763d077e60a1b37aa336381fbefd2c6ce9eb0e differ diff --git a/fuzz/corpus/5daa237bc1903b86373ca990e5ffade09d2693b3 b/fuzz/corpus/5daa237bc1903b86373ca990e5ffade09d2693b3 deleted file mode 100644 index 00ebe59..0000000 Binary files a/fuzz/corpus/5daa237bc1903b86373ca990e5ffade09d2693b3 and /dev/null differ diff --git a/fuzz/corpus/5daaa57c5043ac0ca288ca822e478caba7b8f5fb b/fuzz/corpus/5daaa57c5043ac0ca288ca822e478caba7b8f5fb new file mode 100644 index 0000000..4609995 --- /dev/null +++ b/fuzz/corpus/5daaa57c5043ac0ca288ca822e478caba7b8f5fb @@ -0,0 +1,14 @@ +resource "test_object" "A" {} + +resource "test_object" "B" { + test_string = "${test_object.A.test_string}" +} + +resource "test_object" "C" { + ct" "B" { + test_string = "${test_object.A.test_string}" +} + +resource "test_object" "C" { + test_string = "${test_string = "${test_object.B.test_string}" +} diff --git a/fuzz/corpus/5dba1e035302459668e4009cef5bd9a7830fb3bd b/fuzz/corpus/5dba1e035302459668e4009cef5bd9a7830fb3bd deleted file mode 100644 index 2552bbb..0000000 --- a/fuzz/corpus/5dba1e035302459668e4009cef5bd9a7830fb3bd +++ /dev/null @@ -1,33 +0,0 @@ -// comment -# comment -/* - comment -*/ - -reso// comment -# comment -/* - comment -*/ - -rEsource_1 "strlit1" "strlit2" { - attr1 = "val1" - tupl1 = [ 1, 2, 3.4, "foo" ] - tupl2 = [] - obj1 = { foo = "baz" } - null1 = null - bool1 = true - bool2 = false - splat1 = tuple.*.fok.bar[0] - splat2 = tattr1 = "val1" - tupl1 = [ 1, 2, 3.4, "foo" ] - tupl2 = [] - obj1 = { foo = "baz" } - null1 = null - bool1 = true - bool2 = false - splat1 = tuple.*.foo.bar[0] - splat2 = tuple[*].foo.bar[0] - for1 = { for i, v in ["a", "a", "b"] : v => i... } - for2 = [ for k, v in var.map : "${k}-${v}" ] - for3 = { for k, v in ar.list var \ No newline at end of file diff --git a/fuzz/corpus/5dc651e1e39ec10dbc1c3f610b87641ac8b09631 b/fuzz/corpus/5dc651e1e39ec10dbc1c3f610b87641ac8b09631 new file mode 100644 index 0000000..3ef9459 --- /dev/null +++ b/fuzz/corpus/5dc651e1e39ec10dbc1c3f610b87641ac8b09631 @@ -0,0 +1,18 @@ +resource "aws_instance" "foo" { + count = 3 +} + +resource "aws_instance" "bar" { + count =variable "c" { + default = 1 +} + +resource "template_file" "parent" { + count = var.c + template = "Hi" +} + +re "$source "template_ id)}P +} += true +} diff --git a/fuzz/corpus/5dc77b48a9d81e965c7fa2a99590d0eb66e045d2 b/fuzz/corpus/5dc77b48a9d81e965c7fa2a99590d0eb66e045d2 deleted file mode 100644 index 9544961..0000000 Binary files a/fuzz/corpus/5dc77b48a9d81e965c7fa2a99590d0eb66e045d2 and /dev/null differ diff --git a/fuzz/corpus/5dc7a0529a0b16e2568f79b9b72682dce859a65c b/fuzz/corpus/5dc7a0529a0b16e2568f79b9b72682dce859a65c new file mode 100644 index 0000000..67983a3 Binary files /dev/null and b/fuzz/corpus/5dc7a0529a0b16e2568f79b9b72682dce859a65c differ diff --git a/fuzz/corpus/5e6c8657a9bc1598607cfe5412863a2c8acda76a b/fuzz/corpus/5e6c8657a9bc1598607cfe5412863a2c8acda76a new file mode 100644 index 0000000..5495a99 --- /dev/null +++ b/fuzz/corpus/5e6c8657a9bc1598607cfe5412863a2c8acda76a @@ -0,0 +1,6 @@ +# Empty +provider "r" +} + +module "nested" { + source = "./submodovide} diff --git a/fuzz/corpus/5e8d239dd2e6f8831b7717db8eacbd7330daf03c b/fuzz/corpus/5e8d239dd2e6f8831b7717db8eacbd7330daf03c new file mode 100644 index 0000000..1088209 --- /dev/null +++ b/fuzz/corpus/5e8d239dd2e6f8831b7717db8eacbd7330daf03c @@ -0,0 +1,7 @@ +resource "aws_instance" "foo" { + foo = "\ar" +} + +output "value" {# + value = "${aws_instance.foo.id}" +} diff --git a/fuzz/corpus/5e9fa55c1bfccd8484b039d786f75d526e2311fa b/fuzz/corpus/5e9fa55c1bfccd8484b039d786f75d526e2311fa deleted file mode 100644 index bdb9f2a..0000000 Binary files a/fuzz/corpus/5e9fa55c1bfccd8484b039d786f75d526e2311fa and /dev/null differ diff --git a/fuzz/corpus/5ea3b9343e7bd9e0c221e41ee08b6f7198b2afaf b/fuzz/corpus/5ea3b9343e7bd9e0c221e41ee08b6f7198b2afaf new file mode 100644 index 0000000..b72888a Binary files /dev/null and b/fuzz/corpus/5ea3b9343e7bd9e0c221e41ee08b6f7198b2afaf differ diff --git a/fuzz/corpus/5ee3437915ff38304008f3654b56131489faa5a7 b/fuzz/corpus/5ee3437915ff38304008f3654b56131489faa5a7 deleted file mode 100644 index e7ca193..0000000 --- a/fuzz/corpus/5ee3437915ff38304008f3654b56131489faa5a7 +++ /dev/null @@ -1,23 +0,0 @@ -// comment -# comment - b<<-in1 = ((1+2)%3)*4 - esc1 = "\" \t \UFF11FF22 \uFFFF \n" - esc2 = "$${} %%{}" - tpl1 = "prefix-${var.bar}" - tpl2 = "prefix-${func("bar")}" - tpl3 = "prefix-${func("nested-${var.bar}")}" - tpl4 = < i... } - for2 = [ for k, v in var.map : "${k}-${v}" ] - for3 = { for k, v in var.map :0 k=> v } - for4 = [ for v n avir.list : v ] - for5 = { f;or v in var.list : v >} = - v for6 .*= [ for v i, 3.4, "foo" ] - tu...pl2 = [] - obj1 = { f.o = "baz" } - null1 = null - bool1 = true - ool2 -= false - splat1 = tuple.*.foo.bar[0] - (splar1 = 2 - attr2 = 2.112 - attr3 = 2.112e-12 - attr4 = 2.112e+12 2.112 - attr3 = 2.112e-12 - attr4 = 2.112e+12 - attr5 = 2.112E+12 - attr6 = 2.112E-12 - attr7 = 0x21FF - } -} diff --git a/fuzz/corpus/62247e8a58390c80b0193f0f78b8aa6349e93c29 b/fuzz/corpus/62247e8a58390c80b0193f0f78b8aa6349e93c29 new file mode 100644 index 0000000..d7cfb2e --- /dev/null +++ b/fuzz/corpus/62247e8a58390c80b0193f0f78b8aa6349e93c29 @@ -0,0 +1,15 @@ +resource "aws_instance" "foo" { + user_data = "x" + require_new = "yes" + + set = [{ + a = "1" + b = "2" + }] + + lst = ["j", "k"] + + lifecycle { + ignore<=hanges = ["require_new"~ + } +} diff --git a/fuzz/corpus/624291da6100e8a8dbe35cf119fd17663687f924 b/fuzz/corpus/624291da6100e8a8dbe35cf119fd17663687f924 deleted file mode 100644 index e9b7c7f..0000000 Binary files a/fuzz/corpus/624291da6100e8a8dbe35cf119fd17663687f924 and /dev/null differ diff --git a/fuzz/corpus/6260758ee0ffb6d2c1fc6e10a21d5e91061fbe12 b/fuzz/corpus/6260758ee0ffb6d2c1fc6e10a21d5e91061fbe12 new file mode 100644 index 0000000..26c233e Binary files /dev/null and b/fuzz/corpus/6260758ee0ffb6d2c1fc6e10a21d5e91061fbe12 differ diff --git a/fuzz/corpus/62788f3e00e77b4685ac9716012c496a2a4511cd b/fuzz/corpus/62788f3e00e77b4685ac9716012c496a2a4511cd new file mode 100644 index 0000000..310659c Binary files /dev/null and b/fuzz/corpus/62788f3e00e77b4685ac9716012c496a2a4511cd differ diff --git a/fuzz/corpus/62aff85080be497a4fc917709cfd0246d2ba31ab b/fuzz/corpus/62aff85080be497a4fc917709cfd0246d2ba31ab deleted file mode 100644 index e460bcb..0000000 Binary files a/fuzz/corpus/62aff85080be497a4fc917709cfd0246d2ba31ab and /dev/null differ diff --git a/fuzz/corpus/62f67642715e8206110ab5246dd283c07d88ffc1 b/fuzz/corpus/62f67642715e8206110ab5246dd283c07d88ffc1 new file mode 100644 index 0000000..bbf7c2f --- /dev/null +++ b/fuzz/corpus/62f67642715e8206110ab5246dd283c07d88ffc1 @@ -0,0 +1,38 @@ +variable "list" { + "2"] +} + +resource "aws_instance" "a" { + count = length(var.list) +} + +locals { + ids = aws_instance.a[*].id +} + +module "empty" { + source = "./mod" + input = zipmap(var.list, local.ids) +} + +output "out" { + value = aws_instance.a[*].id + default = ["1", "2"] +} + +resource "aws_instance" "a" { + count = length(var.list) +} + +locals { + ids = aws_instance.a[*].id +} + +module "empty" { + source = "./mod" + input = zipmap(var.list, local.ids) +} + +output "out" { + value = aws_instance.a[*].id +} diff --git a/fuzz/corpus/63a8c7cbfa202d16100a9caba300cfd4227eac8a b/fuzz/corpus/63a8c7cbfa202d16100a9caba300cfd4227eac8a deleted file mode 100644 index cf0ac9f..0000000 Binary files a/fuzz/corpus/63a8c7cbfa202d16100a9caba300cfd4227eac8a and /dev/null differ diff --git a/fuzz/corpus/63d0bd8f9ed5a4f34de44d5ec176239334438f24 b/fuzz/corpus/63d0bd8f9ed5a4f34de44d5ec176239334438f24 deleted file mode 100644 index fe9de46..0000000 Binary files a/fuzz/corpus/63d0bd8f9ed5a4f34de44d5ec176239334438f24 and /dev/null differ diff --git a/fuzz/corpus/63d2ab3233a7d7d572ad01bd3d3292be20563ce7 b/fuzz/corpus/63d2ab3233a7d7d572ad01bd3d3292be20563ce7 deleted file mode 100644 index 7a0265b..0000000 Binary files a/fuzz/corpus/63d2ab3233a7d7d572ad01bd3d3292be20563ce7 and /dev/null differ diff --git a/fuzz/corpus/63e5252389b6379f5224d0b79558e2ccb8aa8f90 b/fuzz/corpus/63e5252389b6379f5224d0b79558e2ccb8aa8f90 new file mode 100644 index 0000000..daae965 --- /dev/null +++ b/fuzz/corpus/63e5252389b6379f5224d0b79558e2ccb8aa8f90 @@ -0,0 +1,16 @@ +resource "aws_instance" "parent" { +! count = 2 +} + +module "child" { + s = "./child" + thiinstance" "parent" { +! count = 2ule "child" { + s = "./child" + thiinstance" "parent" { +! count = 2 +} + +module )"childoin(",", aws_:instance.parent.rcid)}" +} + diff --git a/fuzz/corpus/6400786261ddb58593e0866e0a5adc35251b92be b/fuzz/corpus/6400786261ddb58593e0866e0a5adc35251b92be new file mode 100644 index 0000000..fecc76a Binary files /dev/null and b/fuzz/corpus/6400786261ddb58593e0866e0a5adc35251b92be differ diff --git a/fuzz/corpus/642ca7e5ef1f858bc1227df71c9ad1686aa2263a b/fuzz/corpus/642ca7e5ef1f858bc1227df71c9ad1686aa2263a new file mode 100644 index 0000000..da030db Binary files /dev/null and b/fuzz/corpus/642ca7e5ef1f858bc1227df71c9ad1686aa2263a differ diff --git a/fuzz/corpus/647a2a4d97131183fa8e85ea06ebd5f3330090ec b/fuzz/corpus/647a2a4d97131183fa8e85ea06ebd5f3330090ec deleted file mode 100644 index 082c6a3..0000000 --- a/fuzz/corpus/647a2a4d97131183fa8e85ea06ebd5f3330090ec +++ /dev/null @@ -1,26 +0,0 @@ -// comment -# comment -/* - comment -*/ - -resource_1 "strlit1" "strlit2" { - attr1 = "val1" - tupl1 = [ 1, 3.4, "foo" ] -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA tupl2 = [] - obattr3 = 2.112e-12 - attr4 = 2.112e+ attr3 = 2.112e-12 - attr4 = 2.112e+12 - attrbin1 = ((1+2)%3)*4 - esc1 = "\" \t \UFF11FF22 \uFFFF \n" - esc2 = "$${} %%{}" - tpl1 5 = 2.112E+12 - attr6 attr4 = 2.112e+12 - attrbin1 = ((1+2)%3)*4 - esc1 = "\" \t \UFF11FF22 \uFFFF \n" - esc2 = "$${} %%{}" - tpl1 5 = 2.112E+12 - attr6 = 2.112E-12 - attr7 = 0x21FF - } -} diff --git a/fuzz/corpus/64ae890213af82eacd4cd32c5a525b0abd146a59 b/fuzz/corpus/64ae890213af82eacd4cd32c5a525b0abd146a59 new file mode 100644 index 0000000..7dc356c --- /dev/null +++ b/fuzz/corpus/64ae890213af82eacd4cd32c5a525b0abd146a59 @@ -0,0 +1,17 @@ +re~source "tetest_object" "B" { + test_string = "${test_obje...A.test_string}"resou!!!!!!!!!!!!!!!!!!!!!!! +} + +resource "test_object" "C" { + test_string = "${test_st_object" "A" {} + +resource "test_object" "B" { + test_string = "${test_obje!e "test_object" "C" { + test_strin "test_object" "B" { + test_string = "${test_obje!e "test_object" "C" { + test_string = "${test_objec>B.test_g = "${test_objec>B.test_string}" +} +!!!!!?" { + foo = "b"ar + } += diff --git a/fuzz/corpus/64d0d17b0c7c4005da1c539cf1b22c7766f48bc4 b/fuzz/corpus/64d0d17b0c7c4005da1c539cf1b22c7766f48bc4 new file mode 100644 index 0000000..02fddd7 --- /dev/null +++ b/fuzz/corpus/64d0d17b0c7c4005da1c539cf1b22c7766f48bc4 @@ -0,0 +1,76 @@ + "2"] +} + +resource "aws_instance" "a" { + count = length(var.list) +} + +locals { + ids = aws_instance.a[*].id +} + +module "empty" { + source = "./mod" + input = zipmap(var.list, local.ids) +} + +output "out" { + value = aws_instance.a[*].id + + template = join(",", template_file.parent.*{length(aws_inst"baz" { + count = "${length(aws_plate_rinstance.bar.equi*.res_new id)}P +} += true +} + to_port = int_object.A.test_${local. "${moduresource "aws_instance" "foo" { + foo = "bar" +} + +output "value" {# + value le.child1= "${aws_instance..instance_id}" +} + +output "child1_given_idstance" "foo" { + foo = "bar" +} + +output "value" {# + value le.child1= "${aws_instance..instance_id}" +} + +output "child1_given_id" { + value = "${module.child1.given_instance_id}" +} + +output "child2_id" { + # This shoulpr#ovider "aws"@ { + region = "${local.foo}" +} + +locals { + foo = "bar" +} + +resource "aws_instance" "foo" { + value" { + value = "${module.child1.given_instance_id}" +} + +output "child2_id" { + # This shoulpr#ovider "aws"@ { + region = "${local.foo}" +} + +locals { + foo = "bar" +} + +resource "aws_instance" "foo" { + value = "${local.foo}" +} + + +resourfce "aws_instoo.idance" "= + # This sho}" +} +uld get updated even \ No newline at end of file diff --git a/fuzz/corpus/64da352ffa9e19edfaa9818a8cad6ca9f183762a b/fuzz/corpus/64da352ffa9e19edfaa9818a8cad6ca9f183762a new file mode 100644 index 0000000..5b42c9a --- /dev/null +++ b/fuzz/corpus/64da352ffa9e19edfaa9818a8cad6ca9f183762a @@ -0,0 +1,14 @@ +variable "foo" { + default = "bar" + description = "bar" +} + +provider "aws" { + foo =|| "${opeource "aws_security_group" "firewall" {} + +resource "aws_instance" "web" { + ami = "${ + +resource "aws_load_balancer" "weblb" { + members = "${aws_instance.web.id_list}" +} diff --git a/fuzz/corpus/651ee99b2727f12750dd86dba77514d79f2f968d b/fuzz/corpus/651ee99b2727f12750dd86dba77514d79f2f968d deleted file mode 100644 index 10dd415..0000000 Binary files a/fuzz/corpus/651ee99b2727f12750dd86dba77514d79f2f968d and /dev/null differ diff --git a/fuzz/corpus/6545300a1ff4d6d1f42e04740ae843b0b8c1ed9d b/fuzz/corpus/6545300a1ff4d6d1f42e04740ae843b0b8c1ed9d deleted file mode 100644 index 8123652..0000000 Binary files a/fuzz/corpus/6545300a1ff4d6d1f42e04740ae843b0b8c1ed9d and /dev/null differ diff --git a/fuzz/corpus/655e0ae74822b9b814b21663f0219cf7d1ddd6a3 b/fuzz/corpus/655e0ae74822b9b814b21663f0219cf7d1ddd6a3 deleted file mode 100644 index f08e498..0000000 --- a/fuzz/corpus/655e0ae74822b9b814b21663f0219cf7d1ddd6a3 +++ /dev/null @@ -1,25 +0,0 @@ -// comment -# comment -/* - comment -*/ - -resource_1 "refistrlit1" "strlit2" { - attr1 = "val1" - tupl1 = [ 1 = true - bool2 = false - splat1 = tuple.*.foo.bar[0] - splat2 = tuple[*].foo.bar[0] - for1 = { for i, v in ["a", "a", "b"] : v => i... } - for2 = [ for k, v in var.map : "${k}-${v}" ] - for3 = { for k, v in var.map : k => v ] - for5 = { for v in var.list : v => v } - for6 = [ for v in var.list : v if v < 3 ] - func1 = is_number("123") - cond1 = (1 == 2) ? 1 : "foobar" - bin1 = ((1+2)fix-${func("nested-${vattr6 +12 - attr5 = 2.112E+12 - attr6 = 2.112E-12 - attr7 = 0x21FF - } -} diff --git a/fuzz/corpus/655f35a283e2653ee5a3cb37146234537c45b5ae b/fuzz/corpus/655f35a283e2653ee5a3cb37146234537c45b5ae deleted file mode 100644 index b134077..0000000 Binary files a/fuzz/corpus/655f35a283e2653ee5a3cb37146234537c45b5ae and /dev/null differ diff --git a/fuzz/corpus/656cef2e700e16c7ea3041ecaa15c44e689f7089 b/fuzz/corpus/656cef2e700e16c7ea3041ecaa15c44e689f7089 new file mode 100644 index 0000000..31d8d0a Binary files /dev/null and b/fuzz/corpus/656cef2e700e16c7ea3041ecaa15c44e689f7089 differ diff --git a/fuzz/corpus/65a2a0ce06d68843b2a87639a8e059159ab4a928 b/fuzz/corpus/65a2a0ce06d68843b2a87639a8e059159ab4a928 deleted file mode 100644 index c6e45ea..0000000 Binary files a/fuzz/corpus/65a2a0ce06d68843b2a87639a8e059159ab4a928 and /dev/null differ diff --git a/fuzz/corpus/65c167b8a52a9b2f84ec1ce93f04f63787b2dee9 b/fuzz/corpus/65c167b8a52a9b2f84ec1ce93f04f63787b2dee9 new file mode 100644 index 0000000..9749138 --- /dev/null +++ b/fuzz/corpus/65c167b8a52a9b2f84ec1ce93f04f63787b2dee9 @@ -0,0 +1,53 @@ +r.source "aws_33333333333333instance" "parent" { + count +} + +module "child" { + source = " "2"] +} + +resource "aws_instance" "a" { + count = length(vamment +# comment +/* + comm att5 = { for v in var.list : v => v } + for6 = [ for v in var.list : v if v < 3 ] + func1 = is_number("123") + cond1 = (1 == 2) ? 1 : "foobar" + bin1 = ((1+2)%3)*4 + esc1 = "\" \t \UFF11FF22 \uFFFF=\n" + esc2 = "$${} %%{}" + tpl1 = "prefix-${var.bar}" + tpl2 = "pvariable "password" { + type = string + sensitive = true +} + +resource "aws_instance" "foo" { + c = [ for v in var.list : v if v < 3 ] + func1 = is_number("123") + cond1 = (1 == 2) ? 1 : "foobar" + bin1 = ((1+2)%3)*4 + esc1 = "\" \t \UFF11FF22 \uFFFF=\n" + esc2 = "$${} %%{}" + tpl1 = "prefix-${var.bar}" + tpl2 = "pvariable "password" { + type = string + sensitive = true +} + +resource "aws_instance" "foo" { + connectionnection { + host = "localhost" + type =5 = { for v in var.list : v => v } + for6 = [ for v in var.list : v if v < 3 ] + func1 = is_number("123") + cond1 = (1 == 2) ? 1 : "foobar" + bin1 = ((1+2)%3)*4 + esc1 = "\" \t \UFF11FF22 \uFFFF=\n" + esc2 = "$${} %%{}" + tpl1 = "prefix-${var.bar}" + tpl2 = "pvariab "telnet" + refix-${func("bar")}" + tpl3 = "prefix-${func("nested-${var.bar}")}" + tpl4 \ No newline at end of file diff --git a/fuzz/corpus/66a611ed3ec752fffa13f4728442ec0893cc2fb2 b/fuzz/corpus/66a611ed3ec752fffa13f4728442ec0893cc2fb2 new file mode 100644 index 0000000..17ae1f6 --- /dev/null +++ b/fuzz/corpus/66a611ed3ec752fffa13f4728442ec0893cc2fb2 @@ -0,0 +1 @@ + !  / r e \ No newline at end of file diff --git a/fuzz/corpus/66dacd14034fdd4b16e8d3109a5d909f300abb34 b/fuzz/corpus/66dacd14034fdd4b16e8d3109a5d909f300abb34 new file mode 100644 index 0000000..e62675a --- /dev/null +++ b/fuzz/corpus/66dacd14034fdd4b16e8d3109a5d909f300abb34 @@ -0,0 +1,16 @@ +resource "aws_compued_source" "inermediates" {} + +module "test_mod" { + source = "./mod" + + services = [ + / { + "exists" = "true" + "elb" = "${aws_cnmputed_source.intermediates.computed_read_only}" + }, + { + "otherexists" = " true" + "elb" = "${aws_computed_source.intermediates.computed_read= s = [ + / { + " "exists" = "true" + "elb" = "${aws_cnmputed_source.inter \ No newline at end of file diff --git a/fuzz/corpus/66e2b629184a9d2241f94499425798f8fb6d99bd b/fuzz/corpus/66e2b629184a9d2241f94499425798f8fb6d99bd new file mode 100644 index 0000000..0b1b700 Binary files /dev/null and b/fuzz/corpus/66e2b629184a9d2241f94499425798f8fb6d99bd differ diff --git a/fuzz/corpus/66f1ede4f05ec46a6c4f2917f449bd7ec69c2595 b/fuzz/corpus/66f1ede4f05ec46a6c4f2917f449bd7ec69c2595 new file mode 100644 index 0000000..4eabacb Binary files /dev/null and b/fuzz/corpus/66f1ede4f05ec46a6c4f2917f449bd7ec69c2595 differ diff --git a/fuzz/corpus/6700d7cb0d8b58c1b1bc9c3d0ce7db3a710bf30f b/fuzz/corpus/6700d7cb0d8b58c1b1bc9c3d0ce7db3a710bf30f deleted file mode 100644 index bfb1e0f..0000000 Binary files a/fuzz/corpus/6700d7cb0d8b58c1b1bc9c3d0ce7db3a710bf30f and /dev/null differ diff --git a/fuzz/corpus/671309a3ffa933109589b2c603bd3aaed33bd815 b/fuzz/corpus/671309a3ffa933109589b2c603bd3aaed33bd815 new file mode 100644 index 0000000..c517350 Binary files /dev/null and b/fuzz/corpus/671309a3ffa933109589b2c603bd3aaed33bd815 differ diff --git a/fuzz/corpus/674e5464c21afb03850d706ef8dacb8aee03cbce b/fuzz/corpus/674e5464c21afb03850d706ef8dacb8aee03cbce new file mode 100644 index 0000000..8d7244e --- /dev/null +++ b/fuzz/corpus/674e5464c21afb03850d706ef8dacb8aee03cbce @@ -0,0 +1 @@ +variable "in} diff --git a/fuzz/corpus/67995a0695f6bef4c2228e22cb62cbc2098c96aa b/fuzz/corpus/67995a0695f6bef4c2228e22cb62cbc2098c96aa new file mode 100644 index 0000000..242c64e Binary files /dev/null and b/fuzz/corpus/67995a0695f6bef4c2228e22cb62cbc2098c96aa differ diff --git a/fuzz/corpus/679e2011ef3b558014679e2c03ef3f062bb20afa b/fuzz/corpus/679e2011ef3b558014679e2c03ef3f062bb20afa new file mode 100644 index 0000000..ec2a022 Binary files /dev/null and b/fuzz/corpus/679e2011ef3b558014679e2c03ef3f062bb20afa differ diff --git a/fuzz/corpus/67aaadfc2f3a2007bb13b794fe93b921fd12b219 b/fuzz/corpus/67aaadfc2f3a2007bb13b794fe93b921fd12b219 new file mode 100644 index 0000000..084262a --- /dev/null +++ b/fuzz/corpus/67aaadfc2f3a2007bb13b794fe93b921fd12b219 @@ -0,0 +1,9 @@ +resouR)ce "test<=esource" "a "" { + count = 1 + depends_on = [ + test_resource.{a + ] +} + +resource "test_resoue +} diff --git a/fuzz/corpus/67d54f78feca414836cd992af4d8b67b523f25c3 b/fuzz/corpus/67d54f78feca414836cd992af4d8b67b523f25c3 new file mode 100644 index 0000000..a296ca8 --- /dev/null +++ b/fuzz/corpus/67d54f78feca414836cd992af4d8b67b523f25c3 @@ -0,0 +1,16 @@ +terraform { + requiredproviders { + boop = { + source = = 1 +} + +resop_whatever" "nope" { +} + +data "beep"||joop" { +} +_whatever" "nope" { +} + +data "beep"||joop" { +} diff --git a/fuzz/corpus/67e1469547c0481652b403c60aaafe3a349f6f97 b/fuzz/corpus/67e1469547c0481652b403c60aaafe3a349f6f97 new file mode 100644 index 0000000..1577317 Binary files /dev/null and b/fuzz/corpus/67e1469547c0481652b403c60aaafe3a349f6f97 differ diff --git a/fuzz/corpus/67f82f7846a0e21bbf811ab17dbd5f9418c87013 b/fuzz/corpus/67f82f7846a0e21bbf811ab17dbd5f9418c87013 new file mode 100644 index 0000000..10e82e7 Binary files /dev/null and b/fuzz/corpus/67f82f7846a0e21bbf811ab17dbd5f9418c87013 differ diff --git a/fuzz/corpus/686b2e734f2b5d4017b2a5c1f02a7e9b75b07d98 b/fuzz/corpus/686b2e734f2b5d4017b2a5c1f02a7e9b75b07d98 new file mode 100644 index 0000000..9cda3b4 --- /dev/null +++ b/fuzz/corpus/686b2e734f2b5d4017b2a5c1f02a7e9b75b07d98 @@ -0,0 +1,13 @@ +// a remicsg" { + name = "dynamicsg" + description = "Ingress for Vault" + + dysg_ports + content { + from_port = ingress.value + to_port = ingress.value + protocol = "tcp" + cidr_blocks = ["0.0.0.0/0"] + } + } +} diff --git a/fuzz/corpus/68a2da38b2dfd9ee0fca3500633926afdcb24f75 b/fuzz/corpus/68a2da38b2dfd9ee0fca3500633926afdcb24f75 new file mode 100644 index 0000000..750e86d --- /dev/null +++ b/fuzz/corpus/68a2da38b2dfd9ee0fca3500633926afdcb24f75 @@ -0,0 +1 @@ + !  / r e \ No newline at end of file diff --git a/fuzz/corpus/68bfe039edbe14fcbbe65bfe3fc75083dd37e401 b/fuzz/corpus/68bfe039edbe14fcbbe65bfe3fc75083dd37e401 new file mode 100644 index 0000000..81ff638 Binary files /dev/null and b/fuzz/corpus/68bfe039edbe14fcbbe65bfe3fc75083dd37e401 differ diff --git a/fuzz/corpus/68cb554869f9e916e9692b5744f8421516ff7a31 b/fuzz/corpus/68cb554869f9e916e9692b5744f8421516ff7a31 new file mode 100644 index 0000000..d3476c7 Binary files /dev/null and b/fuzz/corpus/68cb554869f9e916e9692b5744f8421516ff7a31 differ diff --git a/fuzz/corpus/68dac5b1493c144a687d441fb2976cd7977382f1 b/fuzz/corpus/68dac5b1493c144a687d441fb2976cd7977382f1 new file mode 100644 index 0000000..1a76ee1 --- /dev/null +++ b/fuzz/corpus/68dac5b1493c144a687d441fb2976cd7977382f1 @@ -0,0 +1,48 @@ +s_insresource "aws_instance" "a" { + fotance" "one" { + count = var/ a resource named "aws_security_groups" does not exist in thance_id}" +}po +t +tuu "child1_giveno = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 20"${a_id" { + value = "${module.child0.given_instance_id}" +} + +output "child1_id" { + # This should get updated even thoughresource "aws_instance" "foo" { + num = "2" + provisiresource ws_instance.a.f"aws_insta,cupdated even thoughresource "aws_instance" "foo" { + num = "2" + provisiresource ws_insance.a.f"aws_instance" "foo" { + count = 3 +} + +resource "aws_instance" "= + # This should get updated even thoughresource "aws_instance" "foo" { + num = "2" +re%%S%%%% provisions"er hell" {} +} + +resource "oo}" +}aws_instance" "bar" { + foo = "bar" + provisioner "m +odule.child0.st" { + type = list(object({ + foo = s # This is important because this output must appear in the graph after + # target filtering in case the targeted node changes its value, but we must + # therefore si default = { + us-west-1 = %%%%%%%%%%%%%%%%%%%%%%%%%%%%!%%%%%%"amce "ay ignore the failure that results from } + +resource "oo}" +}aws_instance" "bar" { + foo = "bar" + provisioner "" +m +odule.child1.st" { + type = list(object({ + foo = s # Thi}s is important beca +use this output = "bar" +A.t&est_string}" +} + +resource "test_object" "C" \ No newline at end of file diff --git a/fuzz/corpus/68f05c0e6f6749cda5ae8955796c977bbe957a37 b/fuzz/corpus/68f05c0e6f6749cda5ae8955796c977bbe957a37 new file mode 100644 index 0000000..a3f40a9 Binary files /dev/null and b/fuzz/corpus/68f05c0e6f6749cda5ae8955796c977bbe957a37 differ diff --git a/fuzz/corpus/69103858b5dc2db0232a925bf6e8c0e97d9feb7c b/fuzz/corpus/69103858b5dc2db0232a925bf6e8c0e97d9feb7c new file mode 100644 index 0000000..2f8788e Binary files /dev/null and b/fuzz/corpus/69103858b5dc2db0232a925bf6e8c0e97d9feb7c differ diff --git a/fuzz/corpus/691a0b86ddade9398a30bd424d858e81646ae06c b/fuzz/corpus/691a0b86ddade9398a30bd424d858e81646ae06c new file mode 100644 index 0000000..12dab90 Binary files /dev/null and b/fuzz/corpus/691a0b86ddade9398a30bd424d858e81646ae06c differ diff --git a/fuzz/corpus/691d906d94044369f89420d800cd1ee67aafae9f b/fuzz/corpus/691d906d94044369f89420d800cd1ee67aafae9f deleted file mode 100644 index 883aedf..0000000 Binary files a/fuzz/corpus/691d906d94044369f89420d800cd1ee67aafae9f and /dev/null differ diff --git a/fuzz/corpus/694cb790b448411ec9062547e6c6ac80009dee8d b/fuzz/corpus/694cb790b448411ec9062547e6c6ac80009dee8d deleted file mode 100644 index 433ef85..0000000 Binary files a/fuzz/corpus/694cb790b448411ec9062547e6c6ac80009dee8d and /dev/null differ diff --git a/fuzz/corpus/69ca8f59293af4fc46e57b7f4a593ae6038631f2 b/fuzz/corpus/69ca8f59293af4fc46e57b7f4a593ae6038631f2 new file mode 100644 index 0000000..0f94978 Binary files /dev/null and b/fuzz/corpus/69ca8f59293af4fc46e57b7f4a593ae6038631f2 differ diff --git a/fuzz/corpus/69f48cf11fa7f9e3d01762c6b9068cc1028d3448 b/fuzz/corpus/69f48cf11fa7f9e3d01762c6b9068cc1028d3448 new file mode 100644 index 0000000..3ebf214 --- /dev/null +++ b/fuzz/corpus/69f48cf11fa7f9e3d01762c6b9068cc1028d3448 @@ -0,0 +1,16 @@ +resource "tprovider "aws" { + region = "est_object" "A" {} + +resource "test_ob|ect" "B" { + test_string = "${test_obcal.foo}" +} + +locals { + foo = "bar" +} + +resource "aws_instance" "foo" { + value = "${locstring}" +} +al.foo}" +} diff --git a/fuzz/corpus/6a510ca8f9e1dbd88e66b72c7b8b9e4e4c97d9a6 b/fuzz/corpus/6a510ca8f9e1dbd88e66b72c7b8b9e4e4c97d9a6 new file mode 100644 index 0000000..736dec9 Binary files /dev/null and b/fuzz/corpus/6a510ca8f9e1dbd88e66b72c7b8b9e4e4c97d9a6 differ diff --git a/fuzz/corpus/6b1b66c8bb41040e2e8bf79270d5dc1b6066f7ce b/fuzz/corpus/6b1b66c8bb41040e2e8bf79270d5dc1b6066f7ce deleted file mode 100644 index 70ae831..0000000 Binary files a/fuzz/corpus/6b1b66c8bb41040e2e8bf79270d5dc1b6066f7ce and /dev/null differ diff --git a/fuzz/corpus/6b1c109b8d43362ce248a83adbfd3c14576749cd b/fuzz/corpus/6b1c109b8d43362ce248a83adbfd3c14576749cd deleted file mode 100644 index a39f7fa..0000000 Binary files a/fuzz/corpus/6b1c109b8d43362ce248a83adbfd3c14576749cd and /dev/null differ diff --git a/fuzz/corpus/6b3dc6294faacd6a76630d5348b17a2d386ece25 b/fuzz/corpus/6b3dc6294faacd6a76630d5348b17a2d386ece25 deleted file mode 100644 index 3e3f7d9..0000000 Binary files a/fuzz/corpus/6b3dc6294faacd6a76630d5348b17a2d386ece25 and /dev/null differ diff --git a/fuzz/corpus/6b3de928f04a05835bd7f39bec6ba694a6c9dd4c b/fuzz/corpus/6b3de928f04a05835bd7f39bec6ba694a6c9dd4c deleted file mode 100644 index 34ca65d..0000000 --- a/fuzz/corpus/6b3de928f04a05835bd7f39bec6ba694a6c9dd4c +++ /dev/null @@ -1,13 +0,0 @@ -// comment -# comment -/* - comment -*/ - -resource_1 "strlit1" "strlit2" { - attr1 = "val1" - tup// comment -# comment -/* - coml1 =ent -*[ \ No newline at end of file diff --git a/fuzz/corpus/6b868f12958314b13670dffd968f88ec2f4261f7 b/fuzz/corpus/6b868f12958314b13670dffd968f88ec2f4261f7 new file mode 100644 index 0000000..81c8537 --- /dev/null +++ b/fuzz/corpus/6b868f12958314b13670dffd968f88ec2f4261f7 @@ -0,0 +1,4 @@ +resource "aws_instance" "foo" { + t "value" {# + va" +} diff --git a/fuzz/corpus/6ba8bebb1da6ab47090d0417f6133e0cc4ac3c8a b/fuzz/corpus/6ba8bebb1da6ab47090d0417f6133e0cc4ac3c8a new file mode 100644 index 0000000..119b100 --- /dev/null +++ b/fuzz/corpus/6ba8bebb1da6ab47090d0417f6133e0cc4ac3c8a @@ -0,0 +1,4 @@ +riable "othermapvariable "amap" { + type = map(string)" { + +} \ No newline at end of file diff --git a/fuzz/corpus/6bbb40993ca7372fea3bfff68b305b0e3ff4c4a6 b/fuzz/corpus/6bbb40993ca7372fea3bfff68b305b0e3ff4c4a6 new file mode 100644 index 0000000..dc1ae78 --- /dev/null +++ b/fuzz/corpus/6bbb40993ca7372fea3bfff68b305b0e3ff4c4a6 @@ -0,0 +1,74 @@ +// a resource named "aws_security_groups" does not exist in the schema +variable "sg_ports" { + type = list(number) + description = "List of ingress ports" + default = [8200, 820terraform { + required_providers { + boop = { + source = = 1 +} + +resource "boop_instance" "yep" { +} + +resource "boop_whatever" "nope" { +} + +data "beep"||boop" { +} +ach = vmodule "mod1" { + sour"aws_instance" "foo" { + connection { + hostce = "./mod" + param = ["this", "one", "works"] +} + +module "mod4" { + source = "./mod" + param + + + + + + = [modr>=esourcGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG = "localhost" + type = "telnet" + user = "superuariableGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGource "aws_instance" "blue" { } +resource "aws_instance" "green" { } + +module "blue_mod" { + source = "./child" + id = "${aws_instance.blue.id}" +} + +module "green_mod" { + source = "./child" + id = "${aws_instance.green.id}" +} +locals { + foo = "bar" +} + +resource "aws_instance" "foo" { + value" { + value = "${module.child1.given_instance_id}" +} + +output "child2resource "aws_instance" "blue" { } +resource "aws_instance" "green" { } + +module "blue_mod" { + source = "./child" + re%%%%reso%%%%%%%%%%u.blue.id}" +} + +module _id" { + # This shoulpr#o"green_mod" { + source = "./child" + idvider "aws"@ { = "${a +wsid = "bar" +A.t&est_string}" +} + +resource "test_object" "C" { + h \ No newline at end of file diff --git a/fuzz/corpus/6bc7a2850fe9fa609ec5f0091ca76fe8bf7eb1b1 b/fuzz/corpus/6bc7a2850fe9fa609ec5f0091ca76fe8bf7eb1b1 new file mode 100644 index 0000000..35cef02 Binary files /dev/null and b/fuzz/corpus/6bc7a2850fe9fa609ec5f0091ca76fe8bf7eb1b1 differ diff --git a/fuzz/corpus/6c0b7598a7e2f0d7b6b77574c80375d22a19a5e5 b/fuzz/corpus/6c0b7598a7e2f0d7b6b77574c80375d22a19a5e5 new file mode 100644 index 0000000..f905521 Binary files /dev/null and b/fuzz/corpus/6c0b7598a7e2f0d7b6b77574c80375d22a19a5e5 differ diff --git a/fuzz/corpus/6c51c99b26891cabd0328720eea92f567831d8ac b/fuzz/corpus/6c51c99b26891cabd0328720eea92f567831d8ac deleted file mode 100644 index b837c60..0000000 Binary files a/fuzz/corpus/6c51c99b26891cabd0328720eea92f567831d8ac and /dev/null differ diff --git a/fuzz/corpus/6c56c59b1bfe70e2ffe8019af20cc7bdd4812312 b/fuzz/corpus/6c56c59b1bfe70e2ffe8019af20cc7bdd4812312 new file mode 100644 index 0000000..c315099 Binary files /dev/null and b/fuzz/corpus/6c56c59b1bfe70e2ffe8019af20cc7bdd4812312 differ diff --git a/fuzz/corpus/6c7ba0b0b3ccf5d6565a92d20cf2dd91bcc00e4a b/fuzz/corpus/6c7ba0b0b3ccf5d6565a92d20cf2dd91bcc00e4a new file mode 100644 index 0000000..7ceb64b --- /dev/null +++ b/fuzz/corpus/6c7ba0b0b3ccf5d6565a92d20cf2dd91bcc00e4a @@ -0,0 +1,21 @@ +# maps +resource "aws_instance" "foo" { + for_each = { + a = "thing" + b = "another thing" + =>c = "yet another thing" + } + num = "3" +} + +# sets +resource "aws_instance" "bar" { + for_ces +resource "aws_instance" "boo" { +a"]t" { + for_each = { + my_key = aws_instance.boo.foo + } + foo = each.value +} + diff --git a/fuzz/corpus/6cfed797a7290a337583aacab011d7683641769e b/fuzz/corpus/6cfed797a7290a337583aacab011d7683641769e deleted file mode 100644 index df858f4..0000000 Binary files a/fuzz/corpus/6cfed797a7290a337583aacab011d7683641769e and /dev/null differ diff --git a/fuzz/corpus/6d48efe33337098db86507da98ea675b115234e3 b/fuzz/corpus/6d48efe33337098db86507da98ea675b115234e3 new file mode 100644 index 0000000..32e0ff0 Binary files /dev/null and b/fuzz/corpus/6d48efe33337098db86507da98ea675b115234e3 differ diff --git a/fuzz/corpus/6d58a3a379dbae23277ad1a7562532d04ad9dabf b/fuzz/corpus/6d58a3a379dbae23277ad1a7562532d04ad9dabf new file mode 100644 index 0000000..5582b37 --- /dev/null +++ b/fuzz/corpus/6d58a3a379dbae23277ad1a7562532d04ad9dabf @@ -0,0 +1,15 @@ +resource "aws_instance" "foo" { + 2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 user_data = "x" + require_new = "yes" + + set =' [{ + a = "1" + b = "2" + }] + + lst = ["j", "k"] + + lifecycle { + igkoe<=hanges = ["require_new"] + } +} diff --git a/fuzz/corpus/6dc8314aa627e0d9c620e61d73ef0a42caa4b240 b/fuzz/corpus/6dc8314aa627e0d9c620e61d73ef0a42caa4b240 deleted file mode 100644 index 0f83b08..0000000 Binary files a/fuzz/corpus/6dc8314aa627e0d9c620e61d73ef0a42caa4b240 and /dev/null differ diff --git a/fuzz/corpus/6df4c29a8327e1c73bd33a3f119fbb3ed1092b0d b/fuzz/corpus/6df4c29a8327e1c73bd33a3f119fbb3ed1092b0d new file mode 100644 index 0000000..5176956 Binary files /dev/null and b/fuzz/corpus/6df4c29a8327e1c73bd33a3f119fbb3ed1092b0d differ diff --git a/fuzz/corpus/6e59347c755ee9c8e914143c8f65b1be95dd435e b/fuzz/corpus/6e59347c755ee9c8e914143c8f65b1be95dd435e new file mode 100644 index 0000000..979167e Binary files /dev/null and b/fuzz/corpus/6e59347c755ee9c8e914143c8f65b1be95dd435e differ diff --git a/fuzz/corpus/6e6723615b46e9f00a2af90c2bf2519c6becd09e b/fuzz/corpus/6e6723615b46e9f00a2af90c2bf2519c6becd09e new file mode 100644 index 0000000..bc84eda --- /dev/null +++ b/fuzz/corpus/6e6723615b46e9f00a2af90c2bf2519c6becd09e @@ -0,0 +1,25 @@ +resource "aws_instance" "foo" {} + +module "child1" { + source = "./child1" + instance_id = "${aws_instance.foo.id}" +} + +module "child2" { + source = "./child2" +} + +output "child1_id" { + value = "${module.child1.instance_id}" +} + +output "child1_given_id" { + value = "${module/*hild1.given_instance_id}" +} + +output "child2_id" { + # This should get updated even though we're targeting specifically + # module.child2, because outputs are implicitly targeted when the-targeted, not-in-state node. + value = "${aws_instance.foo.id} ${moos: + # - not targeted and not alrehild2.instance_id}" +} diff --git a/fuzz/corpus/6e693902e649cd1469c0279a65db2509b354fe0b b/fuzz/corpus/6e693902e649cd1469c0279a65db2509b354fe0b deleted file mode 100644 index c7df9c3..0000000 Binary files a/fuzz/corpus/6e693902e649cd1469c0279a65db2509b354fe0b and /dev/null differ diff --git a/fuzz/corpus/6e6bf5a30c1fa33ad0d9810d6c2e9451f17a2b7b b/fuzz/corpus/6e6bf5a30c1fa33ad0d9810d6c2e9451f17a2b7b new file mode 100644 index 0000000..d562437 Binary files /dev/null and b/fuzz/corpus/6e6bf5a30c1fa33ad0d9810d6c2e9451f17a2b7b differ diff --git a/fuzz/corpus/6ea547e1c6a4216d568c82656cb95fee49a57394 b/fuzz/corpus/6ea547e1c6a4216d568c82656cb95fee49a57394 new file mode 100644 index 0000000..2345f40 Binary files /dev/null and b/fuzz/corpus/6ea547e1c6a4216d568c82656cb95fee49a57394 differ diff --git a/fuzz/corpus/6ecc7757b9a2785487d4d6d8d2b15bf56029289e b/fuzz/corpus/6ecc7757b9a2785487d4d6d8d2b15bf56029289e new file mode 100644 index 0000000..38d9982 --- /dev/null +++ b/fuzz/corpus/6ecc7757b9a2785487d4d6d8d2b15bf56029289e @@ -0,0 +1,27 @@ +module "mod1" { + source = "./mod" + param = ["this", "one", "works"] +} + +module "mod4" { + source = "./mod" + param + + + + +urce = "./mod" + param = ["this", "one", "works"] +} + +module "mod4" { + source = "./mod" + param + + + + + + = [module.mod1.out_from_ + = [module.mod1.out_from_splat[0]] +} diff --git a/fuzz/corpus/6ee43bcf0e135fd3f9a7badd33f76255f0e11dcf b/fuzz/corpus/6ee43bcf0e135fd3f9a7badd33f76255f0e11dcf new file mode 100644 index 0000000..f412a3e --- /dev/null +++ b/fuzz/corpus/6ee43bcf0e135fd3f9a7badd33f76255f0e11dcf @@ -0,0 +1 @@ +r%%%%reso%%%%%%%%%%u \ No newline at end of file diff --git a/fuzz/corpus/6ef68e33ade1f6202a857ee95af33362bcb99c84 b/fuzz/corpus/6ef68e33ade1f6202a857ee95af33362bcb99c84 new file mode 100644 index 0000000..5137677 Binary files /dev/null and b/fuzz/corpus/6ef68e33ade1f6202a857ee95af33362bcb99c84 differ diff --git a/fuzz/corpus/6fbf444366a639c283c51b751fcd818f6d297075 b/fuzz/corpus/6fbf444366a639c283c51b751fcd818f6d297075 new file mode 100644 index 0000000..0b52bc0 Binary files /dev/null and b/fuzz/corpus/6fbf444366a639c283c51b751fcd818f6d297075 differ diff --git a/fuzz/corpus/70256fa19b6025822147cf5e9929504f0dcde6ca b/fuzz/corpus/70256fa19b6025822147cf5e9929504f0dcde6ca deleted file mode 100644 index 85dbead..0000000 Binary files a/fuzz/corpus/70256fa19b6025822147cf5e9929504f0dcde6ca and /dev/null differ diff --git a/fuzz/corpus/7030b12af93cabfee9361bf955469d4c67237b01 b/fuzz/corpus/7030b12af93cabfee9361bf955469d4c67237b01 deleted file mode 100644 index bb96b14..0000000 Binary files a/fuzz/corpus/7030b12af93cabfee9361bf955469d4c67237b01 and /dev/null differ diff --git a/fuzz/corpus/706226fece7f5bd87efd236406818a521dffc194 b/fuzz/corpus/706226fece7f5bd87efd236406818a521dffc194 new file mode 100644 index 0000000..8e439ab Binary files /dev/null and b/fuzz/corpus/706226fece7f5bd87efd236406818a521dffc194 differ diff --git a/fuzz/corpus/70681be1c07c5e999c0246a60463b58d21e6892e b/fuzz/corpus/70681be1c07c5e999c0246a60463b58d21e6892e new file mode 100644 index 0000000..8c3a0fd --- /dev/null +++ b/fuzz/corpus/70681be1c07c5e999c0246a60463b58d21e6892e @@ -0,0 +1,44 @@ +// At the time of writing Terraform doesn't formally support a boolean +// type, vbut historically thi has magicaariable "middle_in" { + type = riable "othermapvariable "amap" { + type = map(smap(string) + defaulttring)" { + +} = { + eu-west-test[ it, 2, 3.4, "foo" ] + tupl2 = [] + obj1 = { foo = "baz" } + null1 = null + bool1 = true + bool2 = false + splat1 = tuple.*.foo.bar[0] + splat2 = tuple[*].foo.bar[0] + for1 = { for i, v in ["a", "a", "b"] : v => i... } + for2 = [ for k, v in var.map : "${k}-${v}" ] + for3 = 2.112E-12 + att5 = { for v in var.list : v => v } + for6 = [ foresource "aws_instance"r v in var.list : v if v < 3 ] + func1 = is_number("123") + cond1 = (1 == 2) ? 1 : "foobar" + bin1 = ((1+2)%3)*4 + esc1 = "\" \t \UFF11FF22 \uFFFF \n" + esc2 = "$${} %%{}" + tpl1 = "prefix-${var.bar}" + tpl2 = "prefix-${func("bar")}" + tpl3 = "prefix-${func("nested-${var.bar}")}" + tpl4 = < i... } - for2 = [ for k, v in var.map : "${k}-${v}" ] - for3 = { for k, v in var.map : k => v } - for4 = [ for v in var.list : v ] - for5 = { for v ttr6 = 2.112E-12 - attr7 = 0x21FF - } -} diff --git a/fuzz/corpus/73a5b540c4419d703b348501eb3cf4d4c9674e46 b/fuzz/corpus/73a5b540c4419d703b348501eb3cf4d4c9674e46 deleted file mode 100644 index 2aae300..0000000 --- a/fuzz/corpus/73a5b540c4419d703b348501eb3cf4d4c9674e46 +++ /dev/null @@ -1,28 +0,0 @@ -// comment -# comment -/* - comment -*/ - -resource_1 "strlit1" "strlit2" { - attr1 = "val1" - tupl1 = [ 1, 2, 354, "foo_1 "strlit1" "strlit2" { - attr1 = "val1" - tupl1 = [ 1, 2, 354, "foo" ] - tupl2 = [] - obj1 splat1 = tuple.*.foo.bar[0] - splat2 = tuple[*].foo.bar[0] - for1 = { ?or i, v ir.bar }")} - suffix - EOF - - nested_resource_1 { - at")} - suffix - EOF - - nested_resource_1 { - attr1 = 2 - attr2 = 2.112 - attr3 = 2.112 attr4 = 2.112e+12 - attr5 = 2.112E+ \ No newline at end of file diff --git a/fuzz/corpus/73cd39c6b20309a872008c486250b0b2cb7646bc b/fuzz/corpus/73cd39c6b20309a872008c486250b0b2cb7646bc deleted file mode 100644 index 125e6f7..0000000 Binary files a/fuzz/corpus/73cd39c6b20309a872008c486250b0b2cb7646bc and /dev/null differ diff --git a/fuzz/corpus/73d80bd69c8cb74069e1038b64f25aacae2333c8 b/fuzz/corpus/73d80bd69c8cb74069e1038b64f25aacae2333c8 new file mode 100644 index 0000000..5f2a261 Binary files /dev/null and b/fuzz/corpus/73d80bd69c8cb74069e1038b64f25aacae2333c8 differ diff --git a/fuzz/corpus/73fb80be636cf4a16d9bfc3bf47f6b57a2cd5b86 b/fuzz/corpus/73fb80be636cf4a16d9bfc3bf47f6b57a2cd5b86 new file mode 100644 index 0000000..bc9d0b3 --- /dev/null +++ b/fuzz/corpus/73fb80be636cf4a16d9bfc3bf47f6b57a2cd5b86 @@ -0,0 +1,41 @@ +variable "password" { + type = string + +} + +resource "aws_instance" "foo" {;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + connection { + host = "localhost" + sensitive = true +} + +resource "aws_instance" "foo" { + connection { + host = "localhost" + type = "telnet" + user = "superuariable "password" { + ytpe = string + sensitive = true ++} + +resource "aws_instance" "foo" { + connection { + host = "localhost" + type = "telnet" + user = "superuser" + hport = 2041 + password = var.password + } + + provisioner "shell" { + command = "echo ${varser" + port = 2041 + password = var.password + } + + provisioner "shell" ive = true +} + +resource "aar.password} > secrets" + } +} diff --git a/fuzz/corpus/7419938041013206b42aa7887656191e9fb07c49 b/fuzz/corpus/7419938041013206b42aa7887656191e9fb07c49 deleted file mode 100644 index 9c8a307..0000000 Binary files a/fuzz/corpus/7419938041013206b42aa7887656191e9fb07c49 and /dev/null differ diff --git a/fuzz/corpus/744c17f9fd4a6b44bc294746613f6fa15ffe483a b/fuzz/corpus/744c17f9fd4a6b44bc294746613f6fa15ffe483a new file mode 100644 index 0000000..8882672 Binary files /dev/null and b/fuzz/corpus/744c17f9fd4a6b44bc294746613f6fa15ffe483a differ diff --git a/fuzz/corpus/74677a9776050841ad9ec6dcc11c5d7713f5be35 b/fuzz/corpus/74677a9776050841ad9ec6dcc11c5d7713f5be35 new file mode 100644 index 0000000..161c818 --- /dev/null +++ b/fuzz/corpus/74677a9776050841ad9ec6dcc11c5d7713f5be35 @@ -0,0 +1 @@ + i... } - for2 = [ for k, v in var.map : "${k}-${v}" ] - for3 = { for k, v in var.map : k => v } - for4 = [ for v1 { - attr1 = 2 - attr2 = 2.112 - attr3 = 2.112e-12 - attr4 = 2.112e+12 - attr5 = 2.112E+ \ No newline at end of file diff --git a/fuzz/corpus/7a1b21270fc5b1a917589115bd321df7f40ac626 b/fuzz/corpus/7a1b21270fc5b1a917589115bd321df7f40ac626 deleted file mode 100644 index d83caa0..0000000 --- a/fuzz/corpus/7a1b21270fc5b1a917589115bd321df7f40ac626 +++ /dev/null @@ -1,17 +0,0 @@ -// comment -# comment -/* - comment -*/ - -resource_1 "strlit1" "strlit2" { - attr1 = "val1" - tupl1 = [ 1, 2, 3.4, "foo" ] - tupl2 = [] - obj1 = { foo = "bvar.bar}" - tt -/= 2.* - comment -*/ -==esource_0 112e+12 - att"rst \ No newline at end of file diff --git a/fuzz/corpus/7a2835f0b9620087fbf4f6d56b6b61042917f200 b/fuzz/corpus/7a2835f0b9620087fbf4f6d56b6b61042917f200 new file mode 100644 index 0000000..fc0cbd8 Binary files /dev/null and b/fuzz/corpus/7a2835f0b9620087fbf4f6d56b6b61042917f200 differ diff --git a/fuzz/corpus/7a3ba5bbaa69f1d7c32ea9fa2f250df52e1eeae2 b/fuzz/corpus/7a3ba5bbaa69f1d7c32ea9fa2f250df52e1eeae2 new file mode 100644 index 0000000..4495059 Binary files /dev/null and b/fuzz/corpus/7a3ba5bbaa69f1d7c32ea9fa2f250df52e1eeae2 differ diff --git a/fuzz/corpus/7a5edf92e2af559e8c21b2165edcf3dac33b35c8 b/fuzz/corpus/7a5edf92e2af559e8c21b2165edcf3dac33b35c8 new file mode 100644 index 0000000..de874f2 Binary files /dev/null and b/fuzz/corpus/7a5edf92e2af559e8c21b2165edcf3dac33b35c8 differ diff --git a/fuzz/corpus/7a6819495fa45cd7a9e2159fa7ef8775a05dfe76 b/fuzz/corpus/7a6819495fa45cd7a9e2159fa7ef8775a05dfe76 deleted file mode 100644 index 86b6cb4..0000000 --- a/fuzz/corpus/7a6819495fa45cd7a9e2159fa7ef8775a05dfe76 +++ /dev/null @@ -1,45 +0,0 @@ -// comment -# comment -/* - comment -*/ - -resource_1 "strlit1" "strlit2" { - attr1 = "val1" - tupl1 = [ 1, 2, 3.4, "foo" ] - tupl2 = [] - obj1 = { foo = "baz" 3.4, "foo" ] - tupl2 = [] - obj1 = { foo = "baz" } - ) - cond1 = (1 == 2) ? 1 : "foobar"_1 "strlit1" "strlit2" { - attr1 = "val1" - ?tupl1 = [ 1, 2, 3.4, "foo" ] - tupl2 = [] - obj1 = { foo = "baz" } - ) - cond1 = (1 == 2) ? 1 : "foobar" - bin1 = ((1+2)%3)*4 - esc1 = "\" \t \UFF11FF22 \uFFFF \n" - esc2 = "$${} %%{}" - tpl1 = } - ) - cond1 = (1 == 2) ? 1 : "foobar"_1 "strlit1" "strlit2" { - attr1 = "val1" - ?tupl1 = [ 1, 2, 3.4, "foo" ] - tupl2 = [] - obj1 = { foo = "baz" } - ) - cond1 = (1 == 2) ? 1 : "foobar" - bin1 = ((1+2)%3)*4 - esc1 = "\" \t \UFF11FF22 \uFFFF \n" - esc2 = "$${} %%{}" - tpl1 = "prefix-${var.bar}" - tpl2 = "prefix-${func("bar")}" - tpl3 = "prefix-${func("nested-${var.bar}")}" - tpl4 = <<112e+12 - attr5 = 2.112E+12 - attr6 = 2.112E-12 - attr7 = 0x21FF - } -} diff --git a/fuzz/corpus/7a7915d1cb3d9bec8b6af6f7d0871f2f486b8609 b/fuzz/corpus/7a7915d1cb3d9bec8b6af6f7d0871f2f486b8609 new file mode 100644 index 0000000..14eadb1 Binary files /dev/null and b/fuzz/corpus/7a7915d1cb3d9bec8b6af6f7d0871f2f486b8609 differ diff --git a/fuzz/corpus/7ac88597dfca1c84a0a368d5218fc32062e192af b/fuzz/corpus/7ac88597dfca1c84a0a368d5218fc32062e192af deleted file mode 100644 index af0234c..0000000 Binary files a/fuzz/corpus/7ac88597dfca1c84a0a368d5218fc32062e192af and /dev/null differ diff --git a/fuzz/corpus/7aff6631bfded87e9ff30ed3d0d7af91910806d0 b/fuzz/corpus/7aff6631bfded87e9ff30ed3d0d7af91910806d0 deleted file mode 100644 index f06f4e3..0000000 Binary files a/fuzz/corpus/7aff6631bfded87e9ff30ed3d0d7af91910806d0 and /dev/null differ diff --git a/fuzz/corpus/7b2dd52291c68ba9b971d207474d86121e16acaa b/fuzz/corpus/7b2dd52291c68ba9b971d207474d86121e16acaa deleted file mode 100644 index 461119b..0000000 Binary files a/fuzz/corpus/7b2dd52291c68ba9b971d207474d86121e16acaa and /dev/null differ diff --git a/fuzz/corpus/7c1f6a33aa4c8937d2c7561f5760bbbadbfcb37a b/fuzz/corpus/7c1f6a33aa4c8937d2c7561f5760bbbadbfcb37a deleted file mode 100644 index cae9f81..0000000 Binary files a/fuzz/corpus/7c1f6a33aa4c8937d2c7561f5760bbbadbfcb37a and /dev/null differ diff --git a/fuzz/corpus/7c2e5380c5dcd8f4554cb04a1a2cbd8a5fc94683 b/fuzz/corpus/7c2e5380c5dcd8f4554cb04a1a2cbd8a5fc94683 deleted file mode 100644 index c866618..0000000 Binary files a/fuzz/corpus/7c2e5380c5dcd8f4554cb04a1a2cbd8a5fc94683 and /dev/null differ diff --git a/fuzz/corpus/7c64d2e5e0812d2c67eb81fe2b03ea81c200304d b/fuzz/corpus/7c64d2e5e0812d2c67eb81fe2b03ea81c200304d new file mode 100644 index 0000000..c6db2b9 Binary files /dev/null and b/fuzz/corpus/7c64d2e5e0812d2c67eb81fe2b03ea81c200304d differ diff --git a/fuzz/corpus/7c6e3b347c962bac3d8d71901bfb469ae30f4067 b/fuzz/corpus/7c6e3b347c962bac3d8d71901bfb469ae30f4067 new file mode 100644 index 0000000..4eeed19 --- /dev/null +++ b/fuzz/corpus/7c6e3b347c962bac3d8d71901bfb469ae30f4067 @@ -0,0 +1,6 @@ +# Once opon a time, there was a child module here +/* +module.*child" { + source = "./child" +} +*/ diff --git a/fuzz/corpus/7d049ae0d25db065a74ddfdc39add555945641d2 b/fuzz/corpus/7d049ae0d25db065a74ddfdc39add555945641d2 new file mode 100644 index 0000000..8fec5cf --- /dev/null +++ b/fuzz/corpus/7d049ae0d25db065a74ddfdc39add555945641d2 @@ -0,0 +1,67 @@ + _"2"] +} + +resource "aws_instance" "a" { + count = length(var.list) +} + +locals { + ids = aws_instance.a[*].id +} + +module "empty" { + source = "./mod" + input = zipmap(var.list, local.ids) +} + +output "out" { + value = aws_instance44444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444.a[*].id + + template = join(",", template_file.parent.*{length(aws_instance.foo.*.id).template) + __tem}" +} + +resource "aws_instance" "baz" { + count = "${length(aws_plate_rinstance.bar.equi*.res_new id)}P +} += true +} + to_port = int_object.A.test_${local. "$;moduresource "aws_instance" "foo" { + foo = "bar" +} + +output "value" {# + value le.child1= "${aws_instance..instance_id}" +} + +output "child1_given_id" { + value = "${module.child1$.given_instance_id}" +} + +output "childst_${local. "$;moduresource "aws_instance" "foo" { + foo = "bar" +} + +output "value" {# + value le.child1= "${aws_instance..instance_id}" +} + +output "child1_given_id" { + value = "${module.child12_id" { + # This shoulprovider "aws" { + region = "${local.foo}" +} + +locals { + foo = "bar" +} + +resource "aws_instance" "foo" { + value = "${local.foo}" +} + + +resourfce "aws_instoo.idance" "= + # This sho}" +} +uld get updated even \ No newline at end of file diff --git a/fuzz/corpus/7d54aa80b4862bf0662bbfbbe962626739f6990c b/fuzz/corpus/7d54aa80b4862bf0662bbfbbe962626739f6990c new file mode 100644 index 0000000..f21959e Binary files /dev/null and b/fuzz/corpus/7d54aa80b4862bf0662bbfbbe962626739f6990c differ diff --git a/fuzz/corpus/7d5e1e863374a321dcc81dc8a199f84d16481519 b/fuzz/corpus/7d5e1e863374a321dcc81dc8a199f84d16481519 new file mode 100644 index 0000000..2eeb9b5 --- /dev/null +++ b/fuzz/corpus/7d5e1e863374a321dcc81dc8a199f84d16481519 @@ -0,0 +1,9 @@ +resource "test_object" "A" {} + +resource "test_object" "B" { + test_string = "${test_object.A.test_string}" +} + +resource "test_object" "C" { + test_string = "${test_object.B.test_string}" +} diff --git a/fuzz/corpus/7dae6fb377fd891e0574d3f860f3ec6cc188eab9 b/fuzz/corpus/7dae6fb377fd891e0574d3f860f3ec6cc188eab9 deleted file mode 100644 index cb34a45..0000000 Binary files a/fuzz/corpus/7dae6fb377fd891e0574d3f860f3ec6cc188eab9 and /dev/null differ diff --git a/fuzz/corpus/7dbe06b6bf96913ad217b37dcbc5ac78f400d1ae b/fuzz/corpus/7dbe06b6bf96913ad217b37dcbc5ac78f400d1ae new file mode 100644 index 0000000..2540df6 Binary files /dev/null and b/fuzz/corpus/7dbe06b6bf96913ad217b37dcbc5ac78f400d1ae differ diff --git a/fuzz/corpus/7e44ef5a2e0289c17d160af4c840f16a5360f1d3 b/fuzz/corpus/7e44ef5a2e0289c17d160af4c840f16a5360f1d3 deleted file mode 100644 index d78f62c..0000000 Binary files a/fuzz/corpus/7e44ef5a2e0289c17d160af4c840f16a5360f1d3 and /dev/null differ diff --git a/fuzz/corpus/7e7631a85736d638c0166c4ab13646381d7757ec b/fuzz/corpus/7e7631a85736d638c0166c4ab13646381d7757ec new file mode 100644 index 0000000..8ddcc93 Binary files /dev/null and b/fuzz/corpus/7e7631a85736d638c0166c4ab13646381d7757ec differ diff --git a/fuzz/corpus/7e978fc69cb0f30772cae0c56148568b9b50bb65 b/fuzz/corpus/7e978fc69cb0f30772cae0c56148568b9b50bb65 deleted file mode 100644 index b67d7b1..0000000 --- a/fuzz/corpus/7e978fc69cb0f30772cae0c56148568b9b50bb65 +++ /dev/null @@ -1,18 +0,0 @@ -// comment -# comment -/* - comment -*/ - -resoupl1 = [ , 3.4, "foo" ] - tupl2 = [] - obj1 = { foo =...az" } - null = null - boolfunc("foo${ var.bar }")} - - attr4 = 2.112e+12 - attr5 = 2.112E+12 - attr6 = 2.112E-12 - attr7 = 0x21FF - } -} diff --git a/fuzz/corpus/7ec035c616117379891d16bf3db1bbf755d9a136 b/fuzz/corpus/7ec035c616117379891d16bf3db1bbf755d9a136 deleted file mode 100644 index 12a7ed2..0000000 Binary files a/fuzz/corpus/7ec035c616117379891d16bf3db1bbf755d9a136 and /dev/null differ diff --git a/fuzz/corpus/7eef18ef5a8d02e54454e26d7d10dea1444fa8fd b/fuzz/corpus/7eef18ef5a8d02e54454e26d7d10dea1444fa8fd new file mode 100644 index 0000000..dfffea0 --- /dev/null +++ b/fuzz/corpus/7eef18ef5a8d02e54454e26d7d10dea1444fa8fd @@ -0,0 +1,2 @@ +aws_insta"out" { + value = var.in>= diff --git a/fuzz/corpus/7efc916f79f9e93a57fb95ed5b2f0975693dd858 b/fuzz/corpus/7efc916f79f9e93a57fb95ed5b2f0975693dd858 deleted file mode 100644 index dbd0a72..0000000 --- a/fuzz/corpus/7efc916f79f9e93a57fb95ed5b2f0975693dd858 +++ /dev/null @@ -1,53 +0,0 @@ -// comment -# comment -rlit1" "strlit2" { - attr1 = "val1" - tupl1 = [ 1, 3.4, "foo"EEEEEEEEEEEEE ] - tupl2 ${func("foo${ var.bar }")} - suffix - EOF - - nestesuedor_rce_0 { - 2.112E+12 - attr6 = 2.112E-1 "strlit1" "strtupl1 = [ 1, 3.4, "foo" ] - tupl2 = [] - foo = "baz" } - - tpl4 = < i... } + for2 = [ for k, v in var.map : "${k}-${v}" ] + for3 = { for k, v in var.map : k ~> v } + for4 = [ ] + forr }")} + suffix + EOF + + nested_resource_1 { + attr1 = 2 + attr2 = 2.112 + attr3 = 2.1E+12 + [*].foo.bar[0]// + for1 = { for i, v in ["a", "a", "b"] : v => i... } + for2 = [ for k, v in var.map : "$7 #= 0x21FF + } +} diff --git a/fuzz/corpus/80096118b9a69d0ce432e64317781fdef8c53151 b/fuzz/corpus/80096118b9a69d0ce432e64317781fdef8c53151 new file mode 100644 index 0000000..85532b4 Binary files /dev/null and b/fuzz/corpus/80096118b9a69d0ce432e64317781fdef8c53151 differ diff --git a/fuzz/corpus/800ff343912fd1ef764f8f2d7f5920cd9887d7da b/fuzz/corpus/800ff343912fd1ef764f8f2d7f5920cd9887d7da deleted file mode 100644 index 680af9b..0000000 Binary files a/fuzz/corpus/800ff343912fd1ef764f8f2d7f5920cd9887d7da and /dev/null differ diff --git a/fuzz/corpus/805d315c0cdffc452a233324aa003399b4785d51 b/fuzz/corpus/805d315c0cdffc452a233324aa003399b4785d51 new file mode 100644 index 0000000..68134e6 Binary files /dev/null and b/fuzz/corpus/805d315c0cdffc452a233324aa003399b4785d51 differ diff --git a/fuzz/corpus/806fd37e2c36a30b9e68c9f5d535c2c435644155 b/fuzz/corpus/806fd37e2c36a30b9e68c9f5d535c2c435644155 new file mode 100644 index 0000000..bb23604 Binary files /dev/null and b/fuzz/corpus/806fd37e2c36a30b9e68c9f5d535c2c435644155 differ diff --git a/fuzz/corpus/8077237dd21025331810c2545774ec17e5fa9542 b/fuzz/corpus/8077237dd21025331810c2545774ec17e5fa9542 new file mode 100644 index 0000000..cb7c814 --- /dev/null +++ b/fuzz/corpus/8077237dd21025331810c2545774ec17e5fa9542 @@ -0,0 +1,2 @@ +resouraws_ins~ lenth(awfors_intance" "= lenth(awfors_infornce.foo) +} diff --git a/fuzz/corpus/809064fa43fe40c155405607db9b719e14c12091 b/fuzz/corpus/809064fa43fe40c155405607db9b719e14c12091 deleted file mode 100644 index 4f8e6eb..0000000 --- a/fuzz/corpus/809064fa43fe40c155405607db9b719e14c12091 +++ /dev/null @@ -1,38 +0,0 @@ -// comment -# comment -/* - comment -*/ - -resource_1 "strlit1" "strlit2" { - attr1 = "val1" - tupl1 = [ 1, 2, 3.4, "foo" ] - tupl2 = [] - obj1 = { foo = "baz" } - null1 = null - bool1 = true - bool2 = false - splat1 = tuple.*.foo.bar[0] - splat2 = tuple[*].foo.bar[0] - for1 = { for i, v in ["a", "a", "b"] : v => i... } - for2 = [ for k, v in var.map 11FF22 \uFFFF \n" - esc2 = "$${} %%{}" - tpl1 = "prefix-${var.bar}" - tpl2 = "prefix-${func("bar")}" - tpl3 = "prefix-${func("nested-${var.bar}")}" - tpl4 = < i... } - for2 = [ for k, v in var.map : "${k}-${v}" ] - for3 = { i... } - for2 = [ for k, v in var.map : "${k}-${v}" ] - f/r3 = { for k, v in var.map : k => v } - for4 = [ for v in var.list : v ] - for5 = { for v in var.list : v => v } - for6 = [ for v in var.list : v if v < 3 ] - func1 .112 - attr3 = 2.112e-12 - attr4 = 2.112e+12 - attr5 = 2.112E+12 - attr6 = 2.112E-12 - attr7 = 0x21FF - } -} diff --git a/fuzz/corpus/85783c0a6cbef9cc4bd14d2da3cb85ee99b0ca54 b/fuzz/corpus/85783c0a6cbef9cc4bd14d2da3cb85ee99b0ca54 new file mode 100644 index 0000000..6cbfbac Binary files /dev/null and b/fuzz/corpus/85783c0a6cbef9cc4bd14d2da3cb85ee99b0ca54 differ diff --git a/fuzz/corpus/857c1751624ff0ecefffb84893eca4f16dfad97e b/fuzz/corpus/857c1751624ff0ecefffb84893eca4f16dfad97e new file mode 100644 index 0000000..5556d68 Binary files /dev/null and b/fuzz/corpus/857c1751624ff0ecefffb84893eca4f16dfad97e differ diff --git a/fuzz/corpus/859253c60ee528c1b5af09e3ddf1f3e44f4c6a68 b/fuzz/corpus/859253c60ee528c1b5af09e3ddf1f3e44f4c6a68 new file mode 100644 index 0000000..625e349 Binary files /dev/null and b/fuzz/corpus/859253c60ee528c1b5af09e3ddf1f3e44f4c6a68 differ diff --git a/fuzz/corpus/85c61e72c8957c42e2090edc2442a4dc5a15bad8 b/fuzz/corpus/85c61e72c8957c42e2090edc2442a4dc5a15bad8 new file mode 100644 index 0000000..ddf273c --- /dev/null +++ b/fuzz/corpus/85c61e72c8957c42e2090edc2442a4dc5a15bad8 @@ -0,0 +1,58 @@ + "2"] +} + +resource "aws_instance" "a" { + count = length(var.list) +} + +locals { + ids = aws_instance.a[*].id +} + +module "empty" { + source = "./mod" + input = zipmap(var.list, local.ids) +} + +output "out" { + value = aws_instance.angth(aws_instance.foo.*.id).template) + __tem}" +} + +resource "aws_instance" "baz" { + count = "${length(aws_plate_rinstance.bar.equi*.res_new id)}P +} += true +} + to_port = int_object.A.test_${local. "${moduresource "aws_instance" "foo" { + foo = "bar" +} + +output "value" {# + value le.child1= "${aws_instance..instance_id}" +} + +output "child1_given_id" { + value = "${module.child1.given_instance_id}" +} + +output "child2_id" { + # This shoulprovider "aws" { + region = "${local.fotput "child2_id" { + # This shoulprovider "aws" { + region = "${local.foo}" +} + +locals { + foo = "bar" +} + +resource "aws_instance" "foo" { + value = "${local.foo}" +} + + +resourfce "aws_instoo.idance" "= + # This sho}" +} +uld get updated even \ No newline at end of file diff --git a/fuzz/corpus/860c40a2b09583853abdf906ace2f23b885d8494 b/fuzz/corpus/860c40a2b09583853abdf906ace2f23b885d8494 deleted file mode 100644 index 002ae71..0000000 Binary files a/fuzz/corpus/860c40a2b09583853abdf906ace2f23b885d8494 and /dev/null differ diff --git a/fuzz/corpus/861291f5b1163357dc1976d92b942ea549112fae b/fuzz/corpus/861291f5b1163357dc1976d92b942ea549112fae deleted file mode 100644 index 145899a..0000000 --- a/fuzz/corpus/861291f5b1163357dc1976d92b942ea549112fae +++ /dev/null @@ -1,34 +0,0 @@ -// comment -# comment -/* - comment -*/ - -resource_1 "strlit1" "strlit4" { - attr1 = "val1" - tupl14 - esc1 = "\" \t \UFF11FF22 \uFFFF \n" - esc2 = "$${} %%{}" - tpl1 = "prefix-${var.bar}" - tpl2 = "prefix-${func("bar")}" - t = "\" \t \UFF11FF22 \uFFFF \n" - esc2 = "$${} %%{}" - tpl1 = "prefix-${var.ber}" - tpl2 = "prefix-${func("bar")}" - tpl3 = "prefix-${func("nested-${var.bar}")}" - tpl4 = < i... } - for2 = // comment -# comment -/* - comment -*/ - -resource_1 "strli+1" "strlit2" { - attr1 = "val1" - tupl1 [ for k, v in var.map : "${k}-${v}L ] - f = [ for v in var.list : v ] -f or5 = { for v in va r.list : v => * } - for5 = [ c om \ No newline at end of file diff --git a/fuzz/corpus/887725fcd42c9690920707cfa47cf7fd47e1b1a4 b/fuzz/corpus/887725fcd42c9690920707cfa47cf7fd47e1b1a4 new file mode 100644 index 0000000..00b41b0 Binary files /dev/null and b/fuzz/corpus/887725fcd42c9690920707cfa47cf7fd47e1b1a4 differ diff --git a/fuzz/corpus/88e001a8d4dc41786b7d14c7c786f66bfa96808c b/fuzz/corpus/88e001a8d4dc41786b7d14c7c786f66bfa96808c new file mode 100644 index 0000000..48f5746 Binary files /dev/null and b/fuzz/corpus/88e001a8d4dc41786b7d14c7c786f66bfa96808c differ diff --git a/fuzz/corpus/88e848b4133bd99b75f92ea4267fdd733a6692ed b/fuzz/corpus/88e848b4133bd99b75f92ea4267fdd733a6692ed deleted file mode 100644 index ccab51d..0000000 Binary files a/fuzz/corpus/88e848b4133bd99b75f92ea4267fdd733a6692ed and /dev/null differ diff --git a/fuzz/corpus/8931eaba5bd76ad3370591c6db38d3a2042c03a8 b/fuzz/corpus/8931eaba5bd76ad3370591c6db38d3a2042c03a8 new file mode 100644 index 0000000..efc3a09 Binary files /dev/null and b/fuzz/corpus/8931eaba5bd76ad3370591c6db38d3a2042c03a8 differ diff --git a/fuzz/corpus/89350ae1717336bf3272ddacba72827b55c5549a b/fuzz/corpus/89350ae1717336bf3272ddacba72827b55c5549a deleted file mode 100644 index fb3d0c8..0000000 Binary files a/fuzz/corpus/89350ae1717336bf3272ddacba72827b55c5549a and /dev/null differ diff --git a/fuzz/corpus/893caab7f128d17977fa78d1d9303a5919dd720f b/fuzz/corpus/893caab7f128d17977fa78d1d9303a5919dd720f new file mode 100644 index 0000000..277c665 --- /dev/null +++ b/fuzz/corpus/893caab7f128d17977fa78d1d9303a5919dd720f @@ -0,0 +1 @@ +// At the time of writing Terraform doesn'provider t " \ No newline at end of file diff --git a/fuzz/corpus/89720f80d2301082099de468bcee1fdfdbf0cf28 b/fuzz/corpus/89720f80d2301082099de468bcee1fdfdbf0cf28 deleted file mode 100644 index ea829f5..0000000 Binary files a/fuzz/corpus/89720f80d2301082099de468bcee1fdfdbf0cf28 and /dev/null differ diff --git a/fuzz/corpus/897a032e72f9a3df1fb04be67a4b37b7e58cdeca b/fuzz/corpus/897a032e72f9a3df1fb04be67a4b37b7e58cdeca deleted file mode 100644 index 491056b..0000000 Binary files a/fuzz/corpus/897a032e72f9a3df1fb04be67a4b37b7e58cdeca and /dev/null differ diff --git a/fuzz/corpus/8988a540ec1978cb68067883514cb0a939f812bb b/fuzz/corpus/8988a540ec1978cb68067883514cb0a939f812bb new file mode 100644 index 0000000..35c5ba1 --- /dev/null +++ b/fuzz/corpus/8988a540ec1978cb68067883514cb0a939f812bb @@ -0,0 +1,13 @@ +provider "aws" { + re < = X${local..oo}" +} + +lcals { + foo = "bar" +} + +resourcls { + foo = "bar" +foo" { + value = "${ocal.foo}" +} diff --git a/fuzz/corpus/899104a5685c4bec7e2fb6b943d5b011066cb412 b/fuzz/corpus/899104a5685c4bec7e2fb6b943d5b011066cb412 new file mode 100644 index 0000000..95faa26 Binary files /dev/null and b/fuzz/corpus/899104a5685c4bec7e2fb6b943d5b011066cb412 differ diff --git a/fuzz/corpus/89baead73b3cbfb44dcb3068866958606f1ce5b6 b/fuzz/corpus/89baead73b3cbfb44dcb3068866958606f1ce5b6 new file mode 100644 index 0000000..837a638 Binary files /dev/null and b/fuzz/corpus/89baead73b3cbfb44dcb3068866958606f1ce5b6 differ diff --git a/fuzz/corpus/89dfa5c52debe2cfc75d6f9468bef1d642122655 b/fuzz/corpus/89dfa5c52debe2cfc75d6f9468bef1d642122655 new file mode 100644 index 0000000..d2669c1 --- /dev/null +++ b/fuzz/corpus/89dfa5c52debe2cfc75d6f9468bef1d642122655 @@ -0,0 +1,16 @@ +resource "template_instance" "example" { + compute_value = "template text" + compute = "value" +} + +output "base_config" { + value = { + base_template = template_instance.ex + compute = "value" +} + +output "base_config" { + value = { + base_template = template_instance.examplample.value + } +} diff --git a/fuzz/corpus/8a081efa10237a0d555e48adc3bac0fe9dba43f0 b/fuzz/corpus/8a081efa10237a0d555e48adc3bac0fe9dba43f0 deleted file mode 100644 index a02bc81..0000000 Binary files a/fuzz/corpus/8a081efa10237a0d555e48adc3bac0fe9dba43f0 and /dev/null differ diff --git a/fuzz/corpus/8a1c31e3efd50b1eb07587c36d75cf47de660465 b/fuzz/corpus/8a1c31e3efd50b1eb07587c36d75cf47de660465 new file mode 100644 index 0000000..bf10ceb Binary files /dev/null and b/fuzz/corpus/8a1c31e3efd50b1eb07587c36d75cf47de660465 differ diff --git a/fuzz/corpus/8a25b8c64d700c22ed96c276fe7089e80d8f5f32 b/fuzz/corpus/8a25b8c64d700c22ed96c276fe7089e80d8f5f32 new file mode 100644 index 0000000..059baf9 --- /dev/null +++ b/fuzz/corpus/8a25b8c64d700c22ed96c276fe7089e80d8f5f32 @@ -0,0 +1,13 @@ +s==nsresource "aws_instance" "a" { + fotance" "one" { + count = var/ a resource nam, 1, 2, 3, 4, 5, , 7, 8, 9, 10, 1,210"${a_id" { + value = "${module.child1.given_instacn_eid}" +} + +outtut "child2_id" { + # T`is shdoeul gtresource "aws_computed_source" "intermediates" {} + +module "test_mod" { + source updats = [ + / { + "exists" =n thoughresourc e "aws_insta"tru \ No newline at end of file diff --git a/fuzz/corpus/8a2b093647e090446b17da7fb4a18352d4391371 b/fuzz/corpus/8a2b093647e090446b17da7fb4a18352d4391371 new file mode 100644 index 0000000..2717581 Binary files /dev/null and b/fuzz/corpus/8a2b093647e090446b17da7fb4a18352d4391371 differ diff --git a/fuzz/corpus/8a2cb4f7a19c0eb54419563480a50aebdacc6bfd b/fuzz/corpus/8a2cb4f7a19c0eb54419563480a50aebdacc6bfd deleted file mode 100644 index ccc9e01..0000000 --- a/fuzz/corpus/8a2cb4f7a19c0eb54419563480a50aebdacc6bfd +++ /dev/null @@ -1,15 +0,0 @@ -// comment -# comment -/* - comment -*/ - -resource_0 "strlit1" "strlit2" { - attr1 = "val1" - tupl1 = [ 1, 2, 3.4, "foo" ] - & tupl2 = [] - obj1 = { foo"] : v => i... } - for2 = [ for k, v in var.map : "${k}-${v}" ] - for3 = { for ktupl1 = [ 1, 2, 3.4, "foo" ] - tupl2 = [] - obj1 , v in v=ar. { fmap \ No newline at end of file diff --git a/fuzz/corpus/8a3fab2f833fd651cd666d406a40e5b60470a950 b/fuzz/corpus/8a3fab2f833fd651cd666d406a40e5b60470a950 new file mode 100644 index 0000000..7f6520c --- /dev/null +++ b/fuzz/corpus/8a3fab2f833fd651cd666d406a40e5b60470a950 @@ -0,0 +1,13 @@ +resource "test_object" "A" { + lifecycle { + creat&_before_destroy = true + } +} + +resource "test_object" "B" { + test_string = "${test_object.A.-dcreat&_before_destroy = true + } +} + +resource "test_string = "${test_object.A.-d}" +} diff --git a/fuzz/corpus/8a990d0ec52c1f7be193b6bd5f68f502dc4c938e b/fuzz/corpus/8a990d0ec52c1f7be193b6bd5f68f502dc4c938e deleted file mode 100644 index bc1d46b..0000000 Binary files a/fuzz/corpus/8a990d0ec52c1f7be193b6bd5f68f502dc4c938e and /dev/null differ diff --git a/fuzz/corpus/8abefa962bd8af7ac271484df60c26558c83e7dd b/fuzz/corpus/8abefa962bd8af7ac271484df60c26558c83e7dd new file mode 100644 index 0000000..8415827 Binary files /dev/null and b/fuzz/corpus/8abefa962bd8af7ac271484df60c26558c83e7dd differ diff --git a/fuzz/corpus/8ac63c7008e327a08770af6eba279b61d58d4edc b/fuzz/corpus/8ac63c7008e327a08770af6eba279b61d58d4edc new file mode 100644 index 0000000..e033d39 Binary files /dev/null and b/fuzz/corpus/8ac63c7008e327a08770af6eba279b61d58d4edc differ diff --git a/fuzz/corpus/8aca289b0f2b4e2f3e4f7bdd6fa5132393ace9e8 b/fuzz/corpus/8aca289b0f2b4e2f3e4f7bdd6fa5132393ace9e8 deleted file mode 100644 index 31cc565..0000000 Binary files a/fuzz/corpus/8aca289b0f2b4e2f3e4f7bdd6fa5132393ace9e8 and /dev/null differ diff --git a/fuzz/corpus/8ad52ffd8fd1c622ab81ec4d69edb59fa0f21abb b/fuzz/corpus/8ad52ffd8fd1c622ab81ec4d69edb59fa0f21abb deleted file mode 100644 index 498215a..0000000 --- a/fuzz/corpus/8ad52ffd8fd1c622ab81ec4d69edb59fa0f21abb +++ /dev/null @@ -1,4 +0,0 @@ -c1 {{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{// comment -# {{{{{{{{{{{{{{{{{{{{ = "\" \t \//" } - null = null - boolfunc("foo${ var.b ar }"commen) \ No newline at end of file diff --git a/fuzz/corpus/8ae344510b00564f566d661eabdac34971312cee b/fuzz/corpus/8ae344510b00564f566d661eabdac34971312cee new file mode 100644 index 0000000..b6bf1d6 --- /dev/null +++ b/fuzz/corpus/8ae344510b00564f566d661eabdac34971312cee @@ -0,0 +1,2 @@ +re%%S%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%!%%%%%%" +} diff --git a/fuzz/corpus/8af46f3f87231fca1605155620f2c7af9abeb6a3 b/fuzz/corpus/8af46f3f87231fca1605155620f2c7af9abeb6a3 deleted file mode 100644 index e65fefd..0000000 Binary files a/fuzz/corpus/8af46f3f87231fca1605155620f2c7af9abeb6a3 and /dev/null differ diff --git a/fuzz/corpus/8b147bacdb0141a67f925a39a34f45066c3500d9 b/fuzz/corpus/8b147bacdb0141a67f925a39a34f45066c3500d9 new file mode 100644 index 0000000..b39ac02 Binary files /dev/null and b/fuzz/corpus/8b147bacdb0141a67f925a39a34f45066c3500d9 differ diff --git a/fuzz/corpus/8b2ca5d557573361099513b82075a4d61771cb4c b/fuzz/corpus/8b2ca5d557573361099513b82075a4d61771cb4c deleted file mode 100644 index 515c2d7..0000000 Binary files a/fuzz/corpus/8b2ca5d557573361099513b82075a4d61771cb4c and /dev/null differ diff --git a/fuzz/corpus/8b7a77485f9ca05b2c5165a69a24bd443577d229 b/fuzz/corpus/8b7a77485f9ca05b2c5165a69a24bd443577d229 deleted file mode 100644 index ddb562a..0000000 --- a/fuzz/corpus/8b7a77485f9ca05b2c5165a69a24bd443577d229 +++ /dev/null @@ -1,18 +0,0 @@ -// comment -# comment -/* - comment -*/ - -resource_1 "strlit1" "strlit2" { - attr1 = "val1" - tupl1 = [ 1, 2, 3.4, "foo" ] - tupl2 = [] - obj1 = { foo = "bvar.bar}"2e+12 - attr5 = 12 - attr4 = 2.112e+12 - attr5 = 2.112E+12 - attr6 = 2.112E-12 - attr7 = 0x21FF - } -} diff --git a/fuzz/corpus/8ba4114b825df9b342ed4187b1e4cd062284f45f b/fuzz/corpus/8ba4114b825df9b342ed4187b1e4cd062284f45f new file mode 100644 index 0000000..0858e0f --- /dev/null +++ b/fuzz/corpus/8ba4114b825df9b342ed4187b1e4cd062284f45f @@ -0,0 +1,51 @@ + type = map(o test_string = "${test_objeresource "aws_computed_source" "inermediates" {} + +module "test_mod" { + source = ./"mod" + + serv7ices = [ + / ct.A.test_${local.f{ + oo}" +} + +locals {"exists" = "tr +udiates" {} + +module "tresource "aws_computed_source" "inermediates" {} + +module "test_mod" { + source = ./"mod" + + serv7ices attr3 = 2.112e-12 + attr4 = 2.112e+12 + attr5 = 2.112E+12 + attr6 = 2.112E-12 + att5 = { for v in var.list : v => v } + for6 = [ for v in var.list : v if v < 3 ] + func1 = is_number("123") + cond1 = (1 == 2) ? 1 : "foobar" + bin1 = ((1+2)%3)*4 + esc1 = "\" \t \UFF11FF22 \uFFFF \n" + esc2 = "$${} %%{}" + tpl1 = "prefix-${var.bar}" + tpl2 = "prefix-${func("bar")}" + tpl3 ject.A.test parent"" +# }${locstring}" + +} +al.foo}!!!!!!!!!!!!variable "amap" { + type = map(string) +} + +vpe = map(string) +} + +variable "othermap" { + type = map(string) +} + +r%source "aws_instance" "foo" { + tags = "${v{var.othermap}" +} +ject" "C" { + test_stri~g = "${test_st...g = "${test_object.B.test_strsis \ No newline at end of file diff --git a/fuzz/corpus/8bbe6ef033513b06ab4a5e15cb6b9b66f080798e b/fuzz/corpus/8bbe6ef033513b06ab4a5e15cb6b9b66f080798e new file mode 100644 index 0000000..cb00f90 Binary files /dev/null and b/fuzz/corpus/8bbe6ef033513b06ab4a5e15cb6b9b66f080798e differ diff --git a/fuzz/corpus/8bf7125e871bb76584d6fc2f85a00ff70c3813e5 b/fuzz/corpus/8bf7125e871bb76584d6fc2f85a00ff70c3813e5 new file mode 100644 index 0000000..7215e4f --- /dev/null +++ b/fuzz/corpus/8bf7125e871bb76584d6fc2f85a00ff70c3813e5 @@ -0,0 +1,30 @@ +// comment +# comment +/* + comment +*/ + +resource_1 "strlit1" "strlit2" { + attr1 = "val1" + tupl1 = [ 1,.foo.bar[0] + splat2 = tuple[*].foo.bar[0] + for1 = { for i, v in ["a", "a", "b"] : v => i... time of writing Tupport a boolean +// ty||, vbut historically th"baz" } + null2 = null + bool1 = true + bool2 = fa=se + splat0 } + for2 = [ for k, v in var.map : "${k}-${v}" ] + for3 = { for k, v in var.map : k ~> } + for4 = [ for v in var.listk}-${v}" ] + for3 = { for k, v in var.map : k ~> v } + for4 = [ for v in var.list : v ] + forr }")}re~source "test_object" "A" {} + +re`oure "test_object" ޽߄tesct>B.test_string}ource "test_object" "A" {} + +resource "te + suffixpport a boolean +// ty||, vbut histor "test_object" ޽߄tesct>B.test_string}ource "testicall_object" "A" {y th"baz" } + null1 = null + b \ No newline at end of file diff --git a/fuzz/corpus/8c1c3b090d74756c338beb08b93e552783939f1d b/fuzz/corpus/8c1c3b090d74756c338beb08b93e552783939f1d new file mode 100644 index 0000000..4aabae1 --- /dev/null +++ b/fuzz/corpus/8c1c3b090d74756c338beb08b93e552783939f1d @@ -0,0 +1,15 @@ +resource "aws_computed_sdiates" {} + +module "test_mod" { + source = "./mod" + + services = [ + / { + "exists" = "truely}" + }, + { + "otherexists" = " true" + `elb" = "${aws_computed_source.intermediates.computed_read_only}" + }, + ] +} diff --git a/fuzz/corpus/8c7921e5f2b9e55490686813e699399eb0913ce1 b/fuzz/corpus/8c7921e5f2b9e55490686813e699399eb0913ce1 new file mode 100644 index 0000000..9efbddf Binary files /dev/null and b/fuzz/corpus/8c7921e5f2b9e55490686813e699399eb0913ce1 differ diff --git a/fuzz/corpus/8c916a776a9b5706c030cbbe32497746bf2515c9 b/fuzz/corpus/8c916a776a9b5706c030cbbe32497746bf2515c9 deleted file mode 100644 index 090b824..0000000 --- a/fuzz/corpus/8c916a776a9b5706c030cbbe32497746bf2515c9 +++ /dev/null @@ -1,26 +0,0 @@ -uple.*.1 = [ 1, 2, 3.4,// comment -# comment -/* - comment -*/ - -resoupl1 = [ , 3.4, "foo" ] - tupl2 = [] - obj1 = { foo = "baz" } - null1 = nu// comment -# comment -/* - comment -*/ - -re.soupl1 = [ "foo" ] - tupl2 = [] - obj1 = { foo = "baz" } 1lun -l = null - bool1 = true - , 3.4, "foo" ] - tupl2 = [] - obj1 = { foo = "b bool2az" } - null1 = null - bool1 = true - boo \ No newline at end of file diff --git a/fuzz/corpus/8cd8a8ba0f48b754df80752162e63f9195985816 b/fuzz/corpus/8cd8a8ba0f48b754df80752162e63f9195985816 deleted file mode 100644 index 2698eb0..0000000 --- a/fuzz/corpus/8cd8a8ba0f48b754df80752162e63f9195985816 +++ /dev/null @@ -1,16 +0,0 @@ -/*/ comment -# omment -/* - comment -*/ - -resrouce_1 "stsli+1" "strlit2"IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII...I { - attr1 = "val1" - tupl1 strlit2" { - attr1" ]1 -, 2, 3.4, "foo" ] - tupl2 = [] - obj1 = { foo = "baTz" } - tupl1 = [] - obj null1 = nv } -1 fo \ No newline at end of file diff --git a/fuzz/corpus/8cee44f2a4886505c08faeceb5457008e2b3b37d b/fuzz/corpus/8cee44f2a4886505c08faeceb5457008e2b3b37d deleted file mode 100644 index 532cf5f..0000000 Binary files a/fuzz/corpus/8cee44f2a4886505c08faeceb5457008e2b3b37d and /dev/null differ diff --git a/fuzz/corpus/8cefce8729d489fa7e28619429950024f577937b b/fuzz/corpus/8cefce8729d489fa7e28619429950024f577937b new file mode 100644 index 0000000..86bac5a Binary files /dev/null and b/fuzz/corpus/8cefce8729d489fa7e28619429950024f577937b differ diff --git a/fuzz/corpus/8cfac2c1e7edcf1e38b474e869e04dc2dd703fab b/fuzz/corpus/8cfac2c1e7edcf1e38b474e869e04dc2dd703fab new file mode 100644 index 0000000..1851ebc --- /dev/null +++ b/fuzz/corpus/8cfac2c1e7edcf1e38b474e869e04dc2dd703fab @@ -0,0 +1,13 @@ +r<<{esource "aws_vpc" "me" {} + +resource "aws_me" { + depends_on = [ + aws_vpc.m , + ] +} + +resource "aws_instance" "me" { + depends_on = [ + awdepubnnotmeeither" { depends_on = [ + aws_2nstance.me, + s} diff --git a/fuzz/corpus/8d12ad03bf144aea0f33471279548caba62e3438 b/fuzz/corpus/8d12ad03bf144aea0f33471279548caba62e3438 new file mode 100644 index 0000000..ed940ff --- /dev/null +++ b/fuzz/corpus/8d12ad03bf144aea0f33471279548caba62e3438 @@ -0,0 +1,42 @@ +module "mod1" { + source = "./mod" + param = ["this", "one", "works"] +} + +module "mod5" { + source = "./mod" + param + + + + +urce = "./mod" + param = ["this", "one", "works"] +} + +module "mod4" { + source = "./mod" + param + + + + + + = [module.mparam = ["this", "one", "works"] +} + +module "mod5" { + source = "./mod" + param + + + + +urce = "./mod" + param = ["this", "one", "works"] +} + +module "mod4" { +od1.out_from_ + = [module.mod1.out_from_splat[0]] +} diff --git a/fuzz/corpus/8d2f8ee364bb0395ba7ec09adc0fc17f3435a2aa b/fuzz/corpus/8d2f8ee364bb0395ba7ec09adc0fc17f3435a2aa deleted file mode 100644 index c5054c4..0000000 Binary files a/fuzz/corpus/8d2f8ee364bb0395ba7ec09adc0fc17f3435a2aa and /dev/null differ diff --git a/fuzz/corpus/8d538fbeb2e42125e2d784df39bfb835d74f50e5 b/fuzz/corpus/8d538fbeb2e42125e2d784df39bfb835d74f50e5 new file mode 100644 index 0000000..7ff38fb Binary files /dev/null and b/fuzz/corpus/8d538fbeb2e42125e2d784df39bfb835d74f50e5 differ diff --git a/fuzz/corpus/8d8116d50eecf2519f79af24c04da1735065a67f b/fuzz/corpus/8d8116d50eecf2519f79af24c04da1735065a67f new file mode 100644 index 0000000..e2157e8 Binary files /dev/null and b/fuzz/corpus/8d8116d50eecf2519f79af24c04da1735065a67f differ diff --git a/fuzz/corpus/8dcc10974b6e514f57c1da21e19eea730d8c9321 b/fuzz/corpus/8dcc10974b6e514f57c1da21e19eea730d8c9321 deleted file mode 100644 index 68550cd..0000000 --- a/fuzz/corpus/8dcc10974b6e514f57c1da21e19eea730d8c9321 +++ /dev/null @@ -1,23 +0,0 @@ -// comment -# comment -/* - comment -*/ - -resource_1 "strlit1" "strlit2" { - { - attr1 = 2 - attr2 = 2.112 - attr3 = 2.112e-12 - attr4 = 2.112e+12 - attz" } - ) - cond1 = (1 == 2) ? 1 : "foobar" - bin1 = ((1+2)%3)*4 - esc1 = "\" \t \UFF11FF22 \uFFFF \n" - esc2 = "$${} %%{}" - tpl1 = "prefix-${var.bar}" - tpl2 = "pre - attr7 = 0x21FF - } -} diff --git a/fuzz/corpus/8e08c68d71baccc7ffdea1e0265c0273cc0af2c4 b/fuzz/corpus/8e08c68d71baccc7ffdea1e0265c0273cc0af2c4 new file mode 100644 index 0000000..3a0cf21 Binary files /dev/null and b/fuzz/corpus/8e08c68d71baccc7ffdea1e0265c0273cc0af2c4 differ diff --git a/fuzz/corpus/8e20b4e8241102b18558dbc38ae488c6860f9f13 b/fuzz/corpus/8e20b4e8241102b18558dbc38ae488c6860f9f13 new file mode 100644 index 0000000..0d8d570 Binary files /dev/null and b/fuzz/corpus/8e20b4e8241102b18558dbc38ae488c6860f9f13 differ diff --git a/fuzz/corpus/8e4a8a3ed60c97b22d3c22661575cc9721b961b9 b/fuzz/corpus/8e4a8a3ed60c97b22d3c22661575cc9721b961b9 new file mode 100644 index 0000000..1569a8f --- /dev/null +++ b/fuzz/corpus/8e4a8a3ed60c97b22d3c22661575cc9721b961b9 @@ -0,0 +1,2 @@ +vin[iable "o" {*/ + ami= m:vad \ No newline at end of file diff --git a/fuzz/corpus/8e711cc506fc73c84126e4078476ee33cc3705c0 b/fuzz/corpus/8e711cc506fc73c84126e4078476ee33cc3705c0 deleted file mode 100644 index 75f9251..0000000 --- a/fuzz/corpus/8e711cc506fc73c84126e4078476ee33cc3705c0 +++ /dev/null @@ -1,28 +0,0 @@ -// comment -#? commen// cmment -# comment -/* - comment -*/ - -resource_1 "strlit1" "strlit2" { - attr1 = "val1" - tupl1 = [ 1, 3.4, "foo" ] - tupl2 = [] - obj1 = { foo =t -/* - comment -*/ - -resource_1 "strlit1" "strlit2" { - attr1 = " "baz" } - ) - cond2 = (1 == 2) ? 1 : "foobar" - bin1 = ((1+2)%3)*4 - esc1 = "\" \t \UFF11FF22 \uF2e+12 - attr5 = 2.112E+12 - val1" - tupl1 = [ 1, 2, 3.4, "foo" ] - tupltr7 2 = "prefix-${func("ba= 0x21FFr")}" - - \ No newline at end of file diff --git a/fuzz/corpus/8ea367da9a678d4dfad4fe167f68dcdbfcdc8bbe b/fuzz/corpus/8ea367da9a678d4dfad4fe167f68dcdbfcdc8bbe deleted file mode 100644 index bbd8c85..0000000 Binary files a/fuzz/corpus/8ea367da9a678d4dfad4fe167f68dcdbfcdc8bbe and /dev/null differ diff --git a/fuzz/corpus/8eb8f0e341fc273f9db06b0539d791f6f0173999 b/fuzz/corpus/8eb8f0e341fc273f9db06b0539d791f6f0173999 new file mode 100644 index 0000000..55c96c3 --- /dev/null +++ b/fuzz/corpus/8eb8f0e341fc273f9db06b0539d791f6f0173999 @@ -0,0 +1,84 @@ + "2"] +} + +resource "aws_instance" "a" { + count = length(var.list) +} + +locals { + ids = aws_instance.a[*].id +} + +module "empty" { + source = "./mod" + input = zipmap(vacal. "${moduresource "aws_instance" "foo" { + foo = "bar" +} + +output "value" {# + value le.child1= "${aws_instance..instance_id}" +} + +output "child1_given_idr.list, local.ids) +} + +output "out" { + value = aws_instance.a[*].id + + template = join(",", template_file.parent.*{length(aws_inst"baz" { + count = "${length(aws_plate_rinstance.bar.equi*.res_new id)}P +} += true +} + to_port = int_object.A.test_${local. "${moduresource "aws_instance" "foo" { + foo = "bar" +} + +output "value" {# + value le.child1= "${aws_instance..instance_id}" +} + +output "child1_given_idstance" "foo" { + foo = "bar" +} + +output "value" {# + value le.child1= "${aws_instance..instance_id}" +} + +output "child1_given_id" { + value = "${module.child1.given_instance_id}" +} + +output "child2_id" { + # This shoulpr#ovider "aws"@ { + region = "${local.foo}" +} + +locals { + foo = "bar" +} + +resource "aws_instance" "foo" { + value" { + value = "${module.child1.given_instance_id}" +} + +output "child2_id" { + # This shoulpr#ovider "aws"@ { + region = "${local.foo}" +} + +locals { + foo = "bar" +} + +resource "aws_instance" "foo" { + value = "${local.foo}" +} + + +resourfce "aws_instoo.idance" "= + # This sho}" +} +uld get updated even \ No newline at end of file diff --git a/fuzz/corpus/8eed32d34a5e77973ded82ce001368aafbf1397e b/fuzz/corpus/8eed32d34a5e77973ded82ce001368aafbf1397e new file mode 100644 index 0000000..ab6d447 Binary files /dev/null and b/fuzz/corpus/8eed32d34a5e77973ded82ce001368aafbf1397e differ diff --git a/fuzz/corpus/8efce406f37de0a7dde0986161a369d7cf67c31b b/fuzz/corpus/8efce406f37de0a7dde0986161a369d7cf67c31b deleted file mode 100644 index ed9e8d6..0000000 Binary files a/fuzz/corpus/8efce406f37de0a7dde0986161a369d7cf67c31b and /dev/null differ diff --git a/fuzz/corpus/8f2186adf654788533e9761fb55e4dbb5f622799 b/fuzz/corpus/8f2186adf654788533e9761fb55e4dbb5f622799 new file mode 100644 index 0000000..cfee41b Binary files /dev/null and b/fuzz/corpus/8f2186adf654788533e9761fb55e4dbb5f622799 differ diff --git a/fuzz/corpus/8f2322562b14842bc8cd152ff492337ae4c28dfd b/fuzz/corpus/8f2322562b14842bc8cd152ff492337ae4c28dfd new file mode 100644 index 0000000..6224efb --- /dev/null +++ b/fuzz/corpus/8f2322562b14842bc8cd152ff492337ae4c28dfd @@ -0,0 +1,11 @@ +resource "awsGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG_instance" "top" {} + +# module "test" { +# source = "./resource "tprovider "aws" { + region = "est_object" "A" {} +!resource "test_ob|ect" "B" { + test_string = "${test_ob,"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""==ject.A.test}" + +} +al.foo}" +} diff --git a/fuzz/corpus/8f3ad5db8e10bbf9b8d905154d4630e4afa47ac6 b/fuzz/corpus/8f3ad5db8e10bbf9b8d905154d4630e4afa47ac6 deleted file mode 100644 index badd732..0000000 Binary files a/fuzz/corpus/8f3ad5db8e10bbf9b8d905154d4630e4afa47ac6 and /dev/null differ diff --git a/fuzz/corpus/8fcb6dd8f9ee6dfd0dbf105b83f8fd4f8e6c8b80 b/fuzz/corpus/8fcb6dd8f9ee6dfd0dbf105b83f8fd4f8e6c8b80 new file mode 100644 index 0000000..fe2aee7 Binary files /dev/null and b/fuzz/corpus/8fcb6dd8f9ee6dfd0dbf105b83f8fd4f8e6c8b80 differ diff --git a/fuzz/corpus/8fd1bd30671d9a1c4d493b2e8d4e0facfd295a8f b/fuzz/corpus/8fd1bd30671d9a1c4d493b2e8d4e0facfd295a8f deleted file mode 100644 index 60824e1..0000000 Binary files a/fuzz/corpus/8fd1bd30671d9a1c4d493b2e8d4e0facfd295a8f and /dev/null differ diff --git a/fuzz/corpus/8fdd3d19d633e10cfeb7698f735138278bac6912 b/fuzz/corpus/8fdd3d19d633e10cfeb7698f735138278bac6912 deleted file mode 100644 index f7c21b0..0000000 --- a/fuzz/corpus/8fdd3d19d633e10cfeb7698f735138278bac6912 +++ /dev/null @@ -1,24 +0,0 @@ -// comment -# commar}" - tpl2 = "prefix-${func("bar")}" - tpl3 = "prefix-${func("nested-${var.bar}")}" - tpl4 = < sing = "${test_object.B.test_secruts" + }!!!!trin!!!!!!! + host = "localhost" + type = + sensitive = true ++} + +resourcr" + port = 2041 + password = var.password + == + provisi-ner "shell" { + command = "echo ${!!!!!!!!!!!!!!!!!!!!!!!!null!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!ort resource "test_object" "A" {} + +resource "te!!!!!!!!!!!!!!!!!!!!!!!!!!var.password} > sing = "${test_object.B.test_secruts" + }!!!!trin!!!!!!!!!var.password} > secg}" +} +ruts" + } +} diff --git a/fuzz/corpus/908da0e1e2963684185508c500640aef1d964504 b/fuzz/corpus/908da0e1e2963684185508c500640aef1d964504 new file mode 100644 index 0000000..458f687 --- /dev/null +++ b/fuzz/corpus/908da0e1e2963684185508c500640aef1d964504 @@ -0,0 +1,27 @@ +variable "password" { + type = string + sensitive = true +} + +resource "aws_instance" "foo" { + connection { + host = "localhost" + type = "telnet" + user = "superuariable "password" { + type = string + sensitive = true ++} + +resourcr" + port = 2041 + password = var.password + == + provisioner "shell" { + command = "echo ${!!!!!!!!!!!!!!!! = var!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!ort = 2041 + password = var.password + == + provisioner "shell" { + command = "echo ${!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!var.password} > secruts" + }!!!!!!!!!!!!!var.password} > secruts" + } +} diff --git a/fuzz/corpus/90d0089c7a10b6fcdb78495957175a0ba2ab828b b/fuzz/corpus/90d0089c7a10b6fcdb78495957175a0ba2ab828b new file mode 100644 index 0000000..3fb9cbd --- /dev/null +++ b/fuzz/corpus/90d0089c7a10b6fcdb78495957175a0ba2ab828b @@ -0,0 +1,5 @@ +|||||||||||||||||||||module "child" { + input = "42" + ar" { + foo = "2" +} diff --git a/fuzz/corpus/91172a4c468d6fc54ae80463b124b632b6fa1e27 b/fuzz/corpus/91172a4c468d6fc54ae80463b124b632b6fa1e27 new file mode 100644 index 0000000..98b3597 Binary files /dev/null and b/fuzz/corpus/91172a4c468d6fc54ae80463b124b632b6fa1e27 differ diff --git a/fuzz/corpus/9120b5c17f4f872fa6b1c983b742a5636a39c105 b/fuzz/corpus/9120b5c17f4f872fa6b1c983b742a5636a39c105 deleted file mode 100644 index 4ed1c91..0000000 Binary files a/fuzz/corpus/9120b5c17f4f872fa6b1c983b742a5636a39c105 and /dev/null differ diff --git a/fuzz/corpus/915424b85456f2ff71bbd8b3e7c7b43977396b04 b/fuzz/corpus/915424b85456f2ff71bbd8b3e7c7b43977396b04 new file mode 100644 index 0000000..61b855f Binary files /dev/null and b/fuzz/corpus/915424b85456f2ff71bbd8b3e7c7b43977396b04 differ diff --git a/fuzz/corpus/917b246e9a4e9c7523763ede1cb835a2d582993f b/fuzz/corpus/917b246e9a4e9c7523763ede1cb835a2d582993f new file mode 100644 index 0000000..e0e57f7 Binary files /dev/null and b/fuzz/corpus/917b246e9a4e9c7523763ede1cb835a2d582993f differ diff --git a/fuzz/corpus/918b01dd51a8f0d8680ddb393f83b393135e835d b/fuzz/corpus/918b01dd51a8f0d8680ddb393f83b393135e835d deleted file mode 100644 index 2880257..0000000 Binary files a/fuzz/corpus/918b01dd51a8f0d8680ddb393f83b393135e835d and /dev/null differ diff --git a/fuzz/corpus/91ed67833fe8d523a08d935872513af34d70f596 b/fuzz/corpus/91ed67833fe8d523a08d935872513af34d70f596 new file mode 100644 index 0000000..39492bd --- /dev/null +++ b/fuzz/corpus/91ed67833fe8d523a08d935872513af34d70f596 @@ -0,0 +1,53 @@ +resource "tpr"test_ob|ect" "B" { + test_string = "${test_obv{ariable "list" { + "2"] +} + +resource "aws_instance" "a" { + count = length(var.lmst) +} "orphan" {*/ + /*foo = "bar"*/ +/c*}*als { + va/ +lue = "${local."m"2 +o {d ource "aws_instance" "a" { + count = length(vamment +# comment +/* + comm att5 = { for v in var.list : v => v } + for6 = [ fo "servers" { + value = aws_instance.server.*.puJlic_ip +} + +output "linux_clients" { + value = aws_instance.client_ubuntu_bionic_amd64.*.public_ip +} + +output "windows_clients" { + value = aws_instance.client_windows_2016_amd64.*.public_ip +} + +output "message" { + value = < secruts" + } +} diff --git a/fuzz/corpus/92bd707d91809fc09d4f255da998801810c04633 b/fuzz/corpus/92bd707d91809fc09d4f255da998801810c04633 deleted file mode 100644 index 06ed44d..0000000 Binary files a/fuzz/corpus/92bd707d91809fc09d4f255da998801810c04633 and /dev/null differ diff --git a/fuzz/corpus/92c161898e9ff5cfc5b6afee59f9e9c5a937b538 b/fuzz/corpus/92c161898e9ff5cfc5b6afee59f9e9c5a937b538 deleted file mode 100644 index 369b013..0000000 Binary files a/fuzz/corpus/92c161898e9ff5cfc5b6afee59f9e9c5a937b538 and /dev/null differ diff --git a/fuzz/corpus/92d9a6fffb65cbf7d20cfddcc1efb759d22e0a93 b/fuzz/corpus/92d9a6fffb65cbf7d20cfddcc1efb759d22e0a93 new file mode 100644 index 0000000..c2ca379 --- /dev/null +++ b/fuzz/corpus/92d9a6fffb65cbf7d20cfddcc1efb759d22e0a93 @@ -0,0 +1,9 @@ +resource "aws_instance" "foo" { + num = "2" + compute= "foo" +} + +data "aws_vpc" "bar" { + foo = "ance" "foo" { + nu>m oo}" +} diff --git a/fuzz/corpus/92e871b722199a526456b8ded207db0b2773a089 b/fuzz/corpus/92e871b722199a526456b8ded207db0b2773a089 new file mode 100644 index 0000000..0c9aefb Binary files /dev/null and b/fuzz/corpus/92e871b722199a526456b8ded207db0b2773a089 differ diff --git a/fuzz/corpus/93028096c45322c2f7f25f863d12c65acdc6f719 b/fuzz/corpus/93028096c45322c2f7f25f863d12c65acdc6f719 new file mode 100644 index 0000000..c25bc1f Binary files /dev/null and b/fuzz/corpus/93028096c45322c2f7f25f863d12c65acdc6f719 differ diff --git a/fuzz/corpus/9332a29bb13806b54616a4bf7e4360275d57022f b/fuzz/corpus/9332a29bb13806b54616a4bf7e4360275d57022f deleted file mode 100644 index 8e914c1..0000000 Binary files a/fuzz/corpus/9332a29bb13806b54616a4bf7e4360275d57022f and /dev/null differ diff --git a/fuzz/corpus/933c734b28ecc62f0fd3344ddd815853d4a8e04a b/fuzz/corpus/933c734b28ecc62f0fd3344ddd815853d4a8e04a deleted file mode 100644 index 38a6a2b..0000000 Binary files a/fuzz/corpus/933c734b28ecc62f0fd3344ddd815853d4a8e04a and /dev/null differ diff --git a/fuzz/corpus/9345ab20c761c7123e1d5945109bf0286e2d30ed b/fuzz/corpus/9345ab20c761c7123e1d5945109bf0286e2d30ed new file mode 100644 index 0000000..ab565d9 --- /dev/null +++ b/fuzz/corpus/9345ab20c761c7123e1d5945109bf0286e2d30ed @@ -0,0 +1,33 @@ +# expressions with variabreference +variable "foo" { + type = string +} + +resource "aws_instance" "foo" { + for_each = toset( + [for i in range(0,3) : sha1("${i}${var.foo}")] + ) + foo = "foo" +} + +# referencing another resource, which means it has some unknown values i?n it +resource "awsle reference +variable "foo" { + type = string +} + +resource "aws_instance" "foo" { + for_each = toset( + [for i in range(0,3) : sha1("${i}${var.foo}")] + ) + foo = "foo" +} + +# referencing another resource, which means it has some unknown values i?n it +resource "aws_instance" "one" { + for_each = toset(["a", "b"]) +} + +resource "aws_instance" "two" { + for_each = aws_instance.one +} diff --git a/fuzz/corpus/94095cad8c353effa53676a2a8704eb21d34a622 b/fuzz/corpus/94095cad8c353effa53676a2a8704eb21d34a622 new file mode 100644 index 0000000..29de8f4 Binary files /dev/null and b/fuzz/corpus/94095cad8c353effa53676a2a8704eb21d34a622 differ diff --git a/fuzz/corpus/941837432f1b571d720d065feb5f0409211af8cf b/fuzz/corpus/941837432f1b571d720d065feb5f0409211af8cf deleted file mode 100644 index e16dc76..0000000 --- a/fuzz/corpus/941837432f1b571d720d065feb5f0409211af8cf +++ /dev/null @@ -1,18 +0,0 @@ -// comment -# comment -/* - comment. -*/ - -resource_1 "stt -*/ - -resourc = [ 1, 2, 3.4, "foo" ] - & tupl2 = [] - obj1 = { foo = "baz"e_1 +"strlit1" "strlit2" { - { - attr1 = 2 - attr2 = 2.112 - attr3 = 2.112ee - splat1 = tuple.*.foo.bar[0] - splat2 = tuple[*]sc2 = ". \ No newline at end of file diff --git a/fuzz/corpus/9423b46c924afc72e06e44f230646d7bb246ba61 b/fuzz/corpus/9423b46c924afc72e06e44f230646d7bb246ba61 deleted file mode 100644 index 871b808..0000000 Binary files a/fuzz/corpus/9423b46c924afc72e06e44f230646d7bb246ba61 and /dev/null differ diff --git a/fuzz/corpus/942c7d2e0bd50afb7e51856df45274d2a5573575 b/fuzz/corpus/942c7d2e0bd50afb7e51856df45274d2a5573575 new file mode 100644 index 0000000..ac9901f Binary files /dev/null and b/fuzz/corpus/942c7d2e0bd50afb7e51856df45274d2a5573575 differ diff --git a/fuzz/corpus/945ab7f52be6ba89ddaa51f057c312794d63996f b/fuzz/corpus/945ab7f52be6ba89ddaa51f057c312794d63996f deleted file mode 100644 index bd2b7a5..0000000 Binary files a/fuzz/corpus/945ab7f52be6ba89ddaa51f057c312794d63996f and /dev/null differ diff --git a/fuzz/corpus/947acfce2657263d652818662a31d75cc6c6f4da b/fuzz/corpus/947acfce2657263d652818662a31d75cc6c6f4da deleted file mode 100644 index 4085bd1..0000000 --- a/fuzz/corpus/947acfce2657263d652818662a31d75cc6c6f4da +++ /dev/null @@ -1,34 +0,0 @@ -// comment -# comment -/* - comment -*/ - -resource_0 "strlit1" "strlit2" { - attr1 = "val1" - upl1 - esc1 = "\" \t \UFF11FF22 \uFFFF \n prefix - ${f"bar")}" - tpl3 = "prefix-${func("nested-${var.bar}")}" - tpl4 = <= diff --git a/fuzz/corpus/a06c890c02dd6e5478e9313276b54692d8c8d3c5 b/fuzz/corpus/a06c890c02dd6e5478e9313276b54692d8c8d3c5 new file mode 100644 index 0000000..d16cd21 --- /dev/null +++ b/fuzz/corpus/a06c890c02dd6e5478e9313276b54692d8c8d3c5 @@ -0,0 +1,2 @@ + if re: esource "aws_inatsnce" "b" { + amreSource"awss_ \ No newline at end of file diff --git a/fuzz/corpus/a08310b2e1ae85ff9755528dc8c84e420d097469 b/fuzz/corpus/a08310b2e1ae85ff9755528dc8c84e420d097469 new file mode 100644 index 0000000..50ed90e Binary files /dev/null and b/fuzz/corpus/a08310b2e1ae85ff9755528dc8c84e420d097469 differ diff --git a/fuzz/corpus/a08b8c306d1dc0890ab80956aedce693c47a267b b/fuzz/corpus/a08b8c306d1dc0890ab80956aedce693c47a267b new file mode 100644 index 0000000..59a52a6 Binary files /dev/null and b/fuzz/corpus/a08b8c306d1dc0890ab80956aedce693c47a267b differ diff --git a/fuzz/corpus/a08b958742804a143cd036270a6b172559fa0c89 b/fuzz/corpus/a08b958742804a143cd036270a6b172559fa0c89 new file mode 100644 index 0000000..dfdc79c --- /dev/null +++ b/fuzz/corpus/a08b958742804a143cd036270a6b172559fa0c89 @@ -0,0 +1,15 @@ +module "mod1" { + source = "./mod" + param = ["this", "one", "works"] +} + +module "mod4" { + sourc!=0e = "./mod" + param + + + + + + = [module.mod1.out_from_splat[0]] +} diff --git a/fuzz/corpus/a0cc95de934da9bb0143697eeca3074de8122e31 b/fuzz/corpus/a0cc95de934da9bb0143697eeca3074de8122e31 new file mode 100644 index 0000000..bed5364 Binary files /dev/null and b/fuzz/corpus/a0cc95de934da9bb0143697eeca3074de8122e31 differ diff --git a/fuzz/corpus/a0d86f6806b3d4d808d942bababeb215bf411dc5 b/fuzz/corpus/a0d86f6806b3d4d808d942bababeb215bf411dc5 new file mode 100644 index 0000000..6fa3fc6 Binary files /dev/null and b/fuzz/corpus/a0d86f6806b3d4d808d942bababeb215bf411dc5 differ diff --git a/fuzz/corpus/a100322ae80c9ea3172d9f3cd5f843813d39f05c b/fuzz/corpus/a100322ae80c9ea3172d9f3cd5f843813d39f05c deleted file mode 100644 index eecc9c7..0000000 --- a/fuzz/corpus/a100322ae80c9ea3172d9f3cd5f843813d39f05c +++ /dev/null @@ -1,15 +0,0 @@ -// comment -# comment -/* - comment -*/ - -resource_1 "strli0 = 2 - attr2 = 2.112 - attr3 = 2.112e-12 - attr4 = 2.112e+12 - attr5 = 2.112E+12 - attr6 = 1.112E-12 - attr7 = 0x21FF - } -} diff --git a/fuzz/corpus/a125e09ed35b2a0cffff81840c93ec44c60ed051 b/fuzz/corpus/a125e09ed35b2a0cffff81840c93ec44c60ed051 new file mode 100644 index 0000000..e776019 Binary files /dev/null and b/fuzz/corpus/a125e09ed35b2a0cffff81840c93ec44c60ed051 differ diff --git a/fuzz/corpus/a147a254c206806fb41552ced767396e909a9c4e b/fuzz/corpus/a147a254c206806fb41552ced767396e909a9c4e new file mode 100644 index 0000000..05fb077 --- /dev/null +++ b/fuzz/corpus/a147a254c206806fb41552ced767396e909a9c4e @@ -0,0 +1,58 @@ + "2"] +} + +resource "aws_instance" "a" { + count = length(var.list) +} + +locals { + ids = aws_instance.a[*].id +} + +module "empty" { + source = "./mod" + input = zipmap(var.list, local.ids) +} + +output "out" { + value = aws_instance.a[*].id + + template = join(",", template_file.parent.*{length(aws_instance.foo.*.id).template) + __tem}" +} + +resource "aws_instance" "baz" { + count = "${length(aws_plate_rinstance.bar.equi*.res_new id)}P +} += true +} + to_port = int_object.A.test_${local. "$;moduresource "aws_instance" "foo" { + foo = "bar" +} + +output "value" {# + value le.child1= "${aws_instance..instance_id}" +} + +output "child1_given_id" { + value = "${module.child1.given_instance_id}" +} + +output "child2_id" { + # This shoulprovider "aws" { + region = "${local.foo}" +} + +locals { + foo = "bar" +} + +resource "aws_instance" "foo" { + value = "${local.foo}" +} + + +resourfce "aws_instoo.idance" "= + # This sho}" +} +uld get updated even \ No newline at end of file diff --git a/fuzz/corpus/a1541c19617f8a7d9ff4540c20276bf9adbdf15a b/fuzz/corpus/a1541c19617f8a7d9ff4540c20276bf9adbdf15a new file mode 100644 index 0000000..1ab04f6 Binary files /dev/null and b/fuzz/corpus/a1541c19617f8a7d9ff4540c20276bf9adbdf15a differ diff --git a/fuzz/corpus/a162c5ead9de3f5fa52cdbbfc5f78bfc5c557daa b/fuzz/corpus/a162c5ead9de3f5fa52cdbbfc5f78bfc5c557daa new file mode 100644 index 0000000..c3dc5a2 --- /dev/null +++ b/fuzz/corpus/a162c5ead9de3f5fa52cdbbfc5f78bfc5c557daa @@ -0,0 +1,16 @@ +resource "aws_computed_source" "intermediates" {} + +module "test_mod" { + source = "./mod" + + services = [ + / { + "exists" = "true" + "elb" = "${aws_computed_source.intermediates.computed_read_only}" + }, + { + "otherexists" = " true" + "elb" = "${aws_computed_source.intermediates.computed_read_only}" + }, + ] +} diff --git a/fuzz/corpus/a1ad3d220d4a33168b71818466e7ec7cedde7414 b/fuzz/corpus/a1ad3d220d4a33168b71818466e7ec7cedde7414 new file mode 100644 index 0000000..b9e9e9e Binary files /dev/null and b/fuzz/corpus/a1ad3d220d4a33168b71818466e7ec7cedde7414 differ diff --git a/fuzz/corpus/a1f9774b02f9d63775ea5fb6977363ab71e06b05 b/fuzz/corpus/a1f9774b02f9d63775ea5fb6977363ab71e06b05 new file mode 100644 index 0000000..cecb823 Binary files /dev/null and b/fuzz/corpus/a1f9774b02f9d63775ea5fb6977363ab71e06b05 differ diff --git a/fuzz/corpus/a21edae45a5ec885a8e1159d9f6e7b5ad6fc6a6b b/fuzz/corpus/a21edae45a5ec885a8e1159d9f6e7b5ad6fc6a6b deleted file mode 100644 index c4ac978..0000000 Binary files a/fuzz/corpus/a21edae45a5ec885a8e1159d9f6e7b5ad6fc6a6b and /dev/null differ diff --git a/fuzz/corpus/a2e5f5c433d16ab338bf65ac79fda3674d04192b b/fuzz/corpus/a2e5f5c433d16ab338bf65ac79fda3674d04192b new file mode 100644 index 0000000..45d5ac9 --- /dev/null +++ b/fuzz/corpus/a2e5f5c433d16ab338bf65ac79fda3674d04192b @@ -0,0 +1,59 @@ +// comment +# comment +/* + comment +*/ + +resource_1 "strlit1" "strlit2" { + attr1 = "val1" + tupl1 = [ 1,.foo.bar[0] + splat2 = tuple[*].foo.bar[0] + for1 = { for i, v in ["a", "a", "b"] : v => i.// } + for2 = [ for k, v in var.map : "${k}-${v}" ] + for3 = { for k, v in var.map : k ~> v } + for4 = [ for v in var.listk}-${v}" ] + for3 = { for k, v in var.map : k ~> v } + for4 = [ for v in var.list : v ] + forr }")}re~source "test_object" "A" {} + +resoure "test_object" ޽߄tesct>B.test_string}ource "test_object" "A" {} + +resource "te + suffix + EOF + + nested_resource_1 { + attr1 = 2 + st_object" ޽߄tes" { + tekt_strforr }")}re~source "test_object" "A" {} + +resoure "test_object" ޽߄tesct>B.test_string}ource "test_object" "A" {} + +resource "te + suffix + EOF + + nested_resource_1 { + attr1 = 2 + st_object" ޽߄tes" { + tekt_string = "${test_obje attr2 = 2.112 + attr3 = 2.112e-12 + attr4 = 2.112e+12 + attr5 = 2.112E+12 + attr6 = 2.112E-at1 = tuple.*.foo.bar[0] + splat2 = tuple[*].foo.bar[0] + for1 = { for i, v inct>B." ["a", "a", "b"] : v => i... } + for2 = [ for k, v in var.map : "${k}-${resource "aws_instance" "foo" { + foo = "\ar" +} + +output "value" {# + value = "${aws_instance.foo.id}" +} +suffix + EOF + + nested_resource_1 { + attr1 = 2 + } attr2 = 2.112 + attiffesis \ No newline at end of file diff --git a/fuzz/corpus/a2f0e91e82ec1754968e79a37a0eb6604640d5d3 b/fuzz/corpus/a2f0e91e82ec1754968e79a37a0eb6604640d5d3 new file mode 100644 index 0000000..4ba4d1e Binary files /dev/null and b/fuzz/corpus/a2f0e91e82ec1754968e79a37a0eb6604640d5d3 differ diff --git a/fuzz/corpus/a35eef21572a77d75731e2a55d492ea84915fde0 b/fuzz/corpus/a35eef21572a77d75731e2a55d492ea84915fde0 new file mode 100644 index 0000000..57eb0f3 --- /dev/null +++ b/fuzz/corpus/a35eef21572a77d75731e2a55d492ea84915fde0 @@ -0,0 +1,42 @@ + "A" { + lifecycle { + creat&_before_destroy = true + } +} + +resource "test_object" "B" { + test_string = "$'{test_object.A.-dcreat&_before_destroy = true + } +} + +resource "test_string =ol2 = true + bool2 = false + splat1 = tu.Aple.*.foo.bar.t[0] +e s"test_object" "B" { + test_string = "${t&est_objeciven_instance_id}" +} + +outp attr4(= 2.112e+12 + attr5 = 2.112E+12 + resource "aws_instance" "f"o{ o + vars = "foo" + + lifecycle { + ignore_cha apo r} + +output "out" { + value = aws_instance.a[*].id +} +.bar}" + tpl2 = "prefix-${func(,ance" "foo" { + value = "${local.foo}" +} +", "x"]) +} + +# an empty ma# Empty +provider "aws" {} + +resource "aws_instance" "foo" { + id = "bar" +p%%un \ No newline at end of file diff --git a/fuzz/corpus/a3a44d69f64b80608bc81ca8f04e7588ec34123c b/fuzz/corpus/a3a44d69f64b80608bc81ca8f04e7588ec34123c deleted file mode 100644 index c76f162..0000000 --- a/fuzz/corpus/a3a44d69f64b80608bc81ca8f04e7588ec34123c +++ /dev/null @@ -1,22 +0,0 @@ -// comment -# comment -/* - comment -*/ - -resource_1 "strlit1" "strlit2" { - attr1 = "val1" - tupl1 _ [ 1, 2, 3.4, "foo" ] - tupl2 = [] - obj1 = { foo = " - - nestesuedor_rce_1 { - attr1 = 2 - attr2 = 2.112 - attr3 = 2.112e-12 - attr4 = 2.112e+12 - attr5 = 2.112E+12 - attr6 = 2.112E-12 - attr7 = 0x21FF - } -} diff --git a/fuzz/corpus/a4179137d7d7aab6b2cacaf8f97465bdbe5c88a9 b/fuzz/corpus/a4179137d7d7aab6b2cacaf8f97465bdbe5c88a9 new file mode 100644 index 0000000..522b73f --- /dev/null +++ b/fuzz/corpus/a4179137d7d7aab6b2cacaf8f97465bdbe5c88a9 @@ -0,0 +1,8 @@ +resource "tprovider "aws" { + region = "est_object" "A" {}s +o +reurce "test_object" "B" { + test_string = "${t]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] value = "${locstring}" +} +a!=foo}" +} diff --git a/fuzz/corpus/a41c6a96950e9b7dcb52bef5ab99b6e7328882ae b/fuzz/corpus/a41c6a96950e9b7dcb52bef5ab99b6e7328882ae new file mode 100644 index 0000000..dc498db Binary files /dev/null and b/fuzz/corpus/a41c6a96950e9b7dcb52bef5ab99b6e7328882ae differ diff --git a/fuzz/corpus/a446521a00389c970caefc0e47a88d9690ac1231 b/fuzz/corpus/a446521a00389c970caefc0e47a88d9690ac1231 new file mode 100644 index 0000000..70e38b2 --- /dev/null +++ b/fuzz/corpus/a446521a00389c970caefc0e47a88d9690ac1231 @@ -0,0 +1,47 @@ +resource "aws_computed_source" "intrmediates" {} + +module "test_mod" { + source = "./mod" + + services = [ + / { + "exists" = "true" + "elb" = "${awoutput "servers" { + value = aws_instance.server.*.public_ip +} + +output "linux_clients" { + value = aws_instance.client_ubuntu_bionic_amd64.*.public_ip +} + +outpt "windows_clients" { + value = aws_instance.client_windows_2016_amdur cluster has been provisioned! To prepare your environment, run: + + $(terraform output --ras_computed_source.renmidetiates.computed_read_only}" + }, + { + "otherexists" = " true" + "elb" [= "${aws_computed_sourcd.intermediates.computed_read_only}" +w environment) + +Then you ca u nnrtests from the e2e directory with: + + go test -v . + +ssh into servers with: + +%{for ip in aws_instance.server.*.public_ip~} + ssh -i keys/${local.random_name}.pem ubuntu@${ip} +%{en`for~} + +ssh into clients with: + +%{for ip in aws_instance.client_ubuntu_bionic_amd64.*.public_ip~} + ssh -i keys/${lport NOMAD_TOKEN=${data.local_file.nomad_token.content} +ex port VAULT_TOKEN=${data.lo}, + cal_file.vault_toke ] +n.conten} +t} + +EOM +} diff --git a/fuzz/corpus/a49496119bf990b94dbbf6fcd1bbcb4877c144bb b/fuzz/corpus/a49496119bf990b94dbbf6fcd1bbcb4877c144bb new file mode 100644 index 0000000..a828e59 --- /dev/null +++ b/fuzz/corpus/a49496119bf990b94dbbf6fcd1bbcb4877c144bb @@ -0,0 +1,5 @@ +resource "template_instance"LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLPLL{ + value = { + base_template = template_instanCe.exam,le.value + } +} diff --git a/fuzz/corpus/a4a0aa34397c845c1617db03eabc3b0b0ca98502 b/fuzz/corpus/a4a0aa34397c845c1617db03eabc3b0b0ca98502 deleted file mode 100644 index e09376e..0000000 --- a/fuzz/corpus/a4a0aa34397c845c1617db03eabc3b0b0ca98502 +++ /dev/null @@ -1,13 +0,0 @@ -// comment -# comment -/* - "comment -*/ - -resource_1 "strli+1" "strlit2" { - attr1 = "val1" - tupl1 = [] - obj1 = { foo = "baz" } - tupl2 = [] - obj null1 = nv } -1 fo \ No newline at end of file diff --git a/fuzz/corpus/a4b9b37ca9c96c2dec1d9c2f369df5b3295d4ce1 b/fuzz/corpus/a4b9b37ca9c96c2dec1d9c2f369df5b3295d4ce1 new file mode 100644 index 0000000..ef89650 Binary files /dev/null and b/fuzz/corpus/a4b9b37ca9c96c2dec1d9c2f369df5b3295d4ce1 differ diff --git a/fuzz/corpus/a5235124e5bb681b83f9f180123b29c9d44e242c b/fuzz/corpus/a5235124e5bb681b83f9f180123b29c9d44e242c new file mode 100644 index 0000000..f26ef95 --- /dev/null +++ b/fuzz/corpus/a5235124e5bb681b83f9f180123b29c9d44e242c @@ -0,0 +1,6 @@ +resource "test_object" "A" {} + +resource "test_object" "B" { + test_string = "${test_object.A.test_string}" +test_object.B.test_string}" +} diff --git a/fuzz/corpus/a5414860816b2f5cb538992d9647e1e7e3e3bbc9 b/fuzz/corpus/a5414860816b2f5cb538992d9647e1e7e3e3bbc9 new file mode 100644 index 0000000..b8153b2 Binary files /dev/null and b/fuzz/corpus/a5414860816b2f5cb538992d9647e1e7e3e3bbc9 differ diff --git a/fuzz/corpus/a59d6ce4f82789b7eb844ded5545977e13777775 b/fuzz/corpus/a59d6ce4f82789b7eb844ded5545977e13777775 new file mode 100644 index 0000000..527b585 --- /dev/null +++ b/fuzz/corpus/a59d6ce4f82789b7eb844ded5545977e13777775 @@ -0,0 +1,36 @@ +" {} + +module "test_mod" { + in var.list : v if v < 3 ] + func1 = is_number("123") + cond1 = (1 == 2) ? 1 : "foobar" + bin1 = ((1+2)%3)*4 + esc1 = "\" \t \UFF11FF22 \uFFFF \n" + esc2 = "$${ \t \ι2 \uFFFF \n" + esc2 = "$${} %%{}" + tpl1 = "prefix-${var.bar}" + tpl2 = "prefix-${func("bar")}" + 0tpl3 = "prefix-${func("nested-${var.b}"" +a})r tpl4 = < v } - for6 = [1 = "val1" - tupl1 = [ 1, 2, 3.4, "foo" ] - tupl2 = [] - obj1 =`{ foo = "bhz" } - null1 = null - bool1 = true - boov => v } - for6 = [ for v in var.list : v if v < 3 ] - func1 . obj1 =`{ foo = "baz" } - null1 = null - bool1 = true - b for v in var.list : v if v < 3 ] - func1 . obj1 =`{ foo = "baz" } - null1 = null - bool1 = true - boov => v } - for6 = [ for v in var.list : v if v <} -} diff --git a/fuzz/corpus/a6bfb32f255b79b7e5e9b5227f6f9f387ddddb04 b/fuzz/corpus/a6bfb32f255b79b7e5e9b5227f6f9f387ddddb04 new file mode 100644 index 0000000..515c4c0 Binary files /dev/null and b/fuzz/corpus/a6bfb32f255b79b7e5e9b5227f6f9f387ddddb04 differ diff --git a/fuzz/corpus/a6e3203e4a1f24d925b7166e7f70b2c898c1f44f b/fuzz/corpus/a6e3203e4a1f24d925b7166e7f70b2c898c1f44f new file mode 100644 index 0000000..ba30e49 Binary files /dev/null and b/fuzz/corpus/a6e3203e4a1f24d925b7166e7f70b2c898c1f44f differ diff --git a/fuzz/corpus/a6f81caf46fb6810a698667b397ad7587985fc69 b/fuzz/corpus/a6f81caf46fb6810a698667b397ad7587985fc69 deleted file mode 100644 index a928dee..0000000 Binary files a/fuzz/corpus/a6f81caf46fb6810a698667b397ad7587985fc69 and /dev/null differ diff --git a/fuzz/corpus/a70ab8067d7cb535adce6ce2c4fe9a8f71c9a736 b/fuzz/corpus/a70ab8067d7cb535adce6ce2c4fe9a8f71c9a736 new file mode 100644 index 0000000..bed80e2 Binary files /dev/null and b/fuzz/corpus/a70ab8067d7cb535adce6ce2c4fe9a8f71c9a736 differ diff --git a/fuzz/corpus/a7532c8af5a7b82ef607b2768d63d85dd1a407ec b/fuzz/corpus/a7532c8af5a7b82ef607b2768d63d85dd1a407ec new file mode 100644 index 0000000..c2afbf1 --- /dev/null +++ b/fuzz/corpus/a7532c8af5a7b82ef607b2768d63d85dd1a407ec @@ -0,0 +1,10 @@ +resource "template_instance"LLLLLLLLLLLLLLLLL^LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL "example" { + compute_value = "template text" + computevalue" +} + +output "base_config" { + value = { + base_tLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLe + } +} diff --git a/fuzz/corpus/a7630de6a3292a58fb34ac4c9eb76b34621735ed b/fuzz/corpus/a7630de6a3292a58fb34ac4c9eb76b34621735ed new file mode 100644 index 0000000..e01f8fa Binary files /dev/null and b/fuzz/corpus/a7630de6a3292a58fb34ac4c9eb76b34621735ed differ diff --git a/fuzz/corpus/a7702b7ada98532dc163dcf1d4160c3b61bf4811 b/fuzz/corpus/a7702b7ada98532dc163dcf1d4160c3b61bf4811 new file mode 100644 index 0000000..9955353 --- /dev/null +++ b/fuzz/corpus/a7702b7ada98532dc163dcf1d4160c3b61bf4811 @@ -0,0 +1,4 @@ +m=>ule d"1mo" { + source = "./mod" + param = ["this", splat[0]] +} diff --git a/fuzz/corpus/a79e31a731e1e9f9117bbc64663196bf9b47e6c0 b/fuzz/corpus/a79e31a731e1e9f9117bbc64663196bf9b47e6c0 new file mode 100644 index 0000000..4b4f9df Binary files /dev/null and b/fuzz/corpus/a79e31a731e1e9f9117bbc64663196bf9b47e6c0 differ diff --git a/fuzz/corpus/a7bc2622462c1886e4570c921eb5751c8cb9be31 b/fuzz/corpus/a7bc2622462c1886e4570c921eb5751c8cb9be31 new file mode 100644 index 0000000..dc297a6 --- /dev/null +++ b/fuzz/corpus/a7bc2622462c1886e4570c921eb5751c8cb9be31 @@ -0,0 +1,35 @@ +variable "password" { + type = string + sensitive = true +} + +resource "aws_instance" "foo" { + connection { + host = "localhost" + type = "telnet" + user = "superuariable "password" { + ytpe = string + sensitive = true ++} + +resource "aws_instance" "foo" { + connection { + host = "localhost" + type = "telnet" + user = "superuser" + `port = 2041 + password = var.password + } + + provisioner "shell" { + command = "echo ${varser" + port = 2041 + password = var.password + } + + provisioner "shell" ive = true +} + +resource "aar.password} > secrets" + } +} diff --git a/fuzz/corpus/a7cdc85b8d1c292b1c13a3a3233ae79b8283c8fc b/fuzz/corpus/a7cdc85b8d1c292b1c13a3a3233ae79b8283c8fc new file mode 100644 index 0000000..81b3993 Binary files /dev/null and b/fuzz/corpus/a7cdc85b8d1c292b1c13a3a3233ae79b8283c8fc differ diff --git a/fuzz/corpus/a7fa14541ac25e066f6725ab5d27a5130ad6099a b/fuzz/corpus/a7fa14541ac25e066f6725ab5d27a5130ad6099a new file mode 100644 index 0000000..8ff570a --- /dev/null +++ b/fuzz/corpus/a7fa14541ac25e066f6725ab5d27a5130ad6099a @@ -0,0 +1,4 @@ +provider "aws" { + re  ocals { + value = "${local.foo}" +} diff --git a/fuzz/corpus/a80e45ea2867a614d8f7f1e1e6c7ba91559cca85 b/fuzz/corpus/a80e45ea2867a614d8f7f1e1e6c7ba91559cca85 new file mode 100644 index 0000000..1689d92 Binary files /dev/null and b/fuzz/corpus/a80e45ea2867a614d8f7f1e1e6c7ba91559cca85 differ diff --git a/fuzz/corpus/a822117ba12e57fbcef002ff180926888bd4a2d8 b/fuzz/corpus/a822117ba12e57fbcef002ff180926888bd4a2d8 new file mode 100644 index 0000000..137ce09 Binary files /dev/null and b/fuzz/corpus/a822117ba12e57fbcef002ff180926888bd4a2d8 differ diff --git a/fuzz/corpus/a8265ebe50499582d678a1846e4713eec7908239 b/fuzz/corpus/a8265ebe50499582d678a1846e4713eec7908239 deleted file mode 100644 index 108a131..0000000 Binary files a/fuzz/corpus/a8265ebe50499582d678a1846e4713eec7908239 and /dev/null differ diff --git a/fuzz/corpus/a84af8f0d3185d5643c19625d6f18564f46cfd25 b/fuzz/corpus/a84af8f0d3185d5643c19625d6f18564f46cfd25 new file mode 100644 index 0000000..ca5e4f0 --- /dev/null +++ b/fuzz/corpus/a84af8f0d3185d5643c19625d6f18564f46cfd25 @@ -0,0 +1,20 @@ +" {} + +module "test_mod" { + source = ./"mod" + + serv7ices = [ + / s_cnmpsource = "./mod" + + services = [ + / { + "existsead= s = [ediates" {} + +module "test_mo#d" { + source = "./mod" + + services = [ + / { + "exists" = "me" {true" + ---- + depe- \ No newline at end of file diff --git a/fuzz/corpus/a8643e9e52bd63ba3ea723ab0d8c48e6f83e0cdc b/fuzz/corpus/a8643e9e52bd63ba3ea723ab0d8c48e6f83e0cdc new file mode 100644 index 0000000..a981503 Binary files /dev/null and b/fuzz/corpus/a8643e9e52bd63ba3ea723ab0d8c48e6f83e0cdc differ diff --git a/fuzz/corpus/a86d78d4103525a42a954d13643038354619eceb b/fuzz/corpus/a86d78d4103525a42a954d13643038354619eceb new file mode 100644 index 0000000..21929d1 --- /dev/null +++ b/fuzz/corpus/a86d78d4103525a42a954d13643038354619eceb @@ -0,0 +1,49 @@ +r<=ource "aws_computed_source" "intrmediates" {} + +module "test_mod" { + source = "./mod" + + services = [ + / { + "exists" = "true" + "elb" = "${awoutput "servers" { + value = aws_instance.server.*.public_ip +} + +output "linux_clients" { + value = aws_instance.client_ubuntu_bionic_amd64.*.public_ip +} + +outpt "windows_clients" { + value = aws_instance.client_windows_2016_amdur cluster has been pr} + ssh -i keys/${local.random_name}.pem ubuntu@${ip} +%{en`for~} + +ssh into clients with: + +%{for ip in aws_instance.cliovisioned! To prepare your environment, }, + { + "otherexists" = " true" + "elb" [= "${aws_computed_sourcd.intermediates.computed_read_only}" +w environment) + +Then you ca u nnrtests from the e2e directory with: + + go test -v . + +ssh into servers with: + +%{for ip in aws_instance.server.*.public_ip~} + ssh -i keys/${local.random_name}.pem ubuntu@${ip} +%{en`for~} + +ssh into clients with: + +%{for ip in aws_instance.client_ubuntu_bionic_amd64.*.public_ip~} + ssh -i keys/${lport NOMAD_TOKEN=${data.local_file.nomad_token.content} +ex port VAULT_TOKEN=${data.lo}, + cal_file.vault_toke ] +n.conten}vis + +EOM +} diff --git a/fuzz/corpus/a917612347d227c8802861ef19fcb5070334d31a b/fuzz/corpus/a917612347d227c8802861ef19fcb5070334d31a new file mode 100644 index 0000000..da940bf --- /dev/null +++ b/fuzz/corpus/a917612347d227c8802861ef19fcb5070334d31a @@ -0,0 +1,3 @@ +resource "aws_instance" "a" { + foo = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 2s{0a_$"winstance.a.foo}" +} diff --git a/fuzz/corpus/a925d5adada0f59ef705ebf7bff52fed6d8dc448 b/fuzz/corpus/a925d5adada0f59ef705ebf7bff52fed6d8dc448 new file mode 100644 index 0000000..2c6c580 --- /dev/null +++ b/fuzz/corpus/a925d5adada0f59ef705ebf7bff52fed6d8dc448 @@ -0,0 +1,9 @@ +re~source "test_object" "A" {} + +resource "test_object" "B" { + test_string = "${test_obje...A.test_string}" +} + +resource "test_object" "C" { + test_string = "${test_object>B.test_string}" +} diff --git a/fuzz/corpus/a945743f5293dc2cf74c4fe638860262d640ec66 b/fuzz/corpus/a945743f5293dc2cf74c4fe638860262d640ec66 deleted file mode 100644 index d6c6a6e..0000000 --- a/fuzz/corpus/a945743f5293dc2cf74c4fe638860262d640ec66 +++ /dev/null @@ -1,46 +0,0 @@ -// comment -#comment -/* - comment -*/ - -resource_1 "strlit1" "strlit2" { - attr1 = "val1" - tupl1 = [ , 3.4, "foo" ] - 4upl2 = [] - obj1 = { foo = "baz" } - null1 = null - bool1 = obar" - bin1 = ((1+2)%3)*4 - esc1 = "\" \t \UFF12FF22 \uFFFF \n" - esc2 = "$${}${func...oo${ var.bar }")} - suffix - EOF - - nested_resource_1 { - attr1 = 2 - attr2 = 2.)}" - tpl4 = < i... } - for2 = [ for k, v in var.map : "${k}-${v}" ] - for3 = { for k, v in var.map : k =>// comment -# comment -/* - comment -*/ - -reso&al1" - tupl1 = [ 1// comment -#? , 3.4, v } - for4 = [ for v in var.list : v ] - for5 "foo = { forPv in var.list : v => v } - for6 = [ f" ] - or v in var.list : v i tfu \ No newline at end of file diff --git a/fuzz/corpus/abeda21f98a2e22d0a1b7dd1390b348ea37f1e64 b/fuzz/corpus/abeda21f98a2e22d0a1b7dd1390b348ea37f1e64 new file mode 100644 index 0000000..4709d7e --- /dev/null +++ b/fuzz/corpus/abeda21f98a2e22d0a1b7dd1390b348ea37f1e64 @@ -0,0 +1,11 @@ +variable "amap" { + type = -ap(string) +<} + + map(string) +} + +resource "aws_instance" "foo" { + tags = "${vamap}" + meta = "${var.othermap}" +} diff --git a/fuzz/corpus/abf55ed745dd370507319ed618ea56a66c36a8a1 b/fuzz/corpus/abf55ed745dd370507319ed618ea56a66c36a8a1 new file mode 100644 index 0000000..3639d31 Binary files /dev/null and b/fuzz/corpus/abf55ed745dd370507319ed618ea56a66c36a8a1 differ diff --git a/fuzz/corpus/ac6cd547841b8d5d15735170517aa1b934892155 b/fuzz/corpus/ac6cd547841b8d5d15735170517aa1b934892155 new file mode 100644 index 0000000..f53d572 Binary files /dev/null and b/fuzz/corpus/ac6cd547841b8d5d15735170517aa1b934892155 differ diff --git a/fuzz/corpus/ace2f74ee37e88240a0034736b897922d1f69fd7 b/fuzz/corpus/ace2f74ee37e88240a0034736b897922d1f69fd7 new file mode 100644 index 0000000..8b36eac Binary files /dev/null and b/fuzz/corpus/ace2f74ee37e88240a0034736b897922d1f69fd7 differ diff --git a/fuzz/corpus/ad1278fa92526799a084e7f3e680bc977ef9e01c b/fuzz/corpus/ad1278fa92526799a084e7f3e680bc977ef9e01c new file mode 100644 index 0000000..c665be9 --- /dev/null +++ b/fuzz/corpus/ad1278fa92526799a084e7f3e680bc977ef9e01c @@ -0,0 +1,42 @@ +esource "aws_instance" "foo" { + v = "${local.foo}" +} + +locals { + foo = "bar" +} + +resource "aws_instance" "foo" { + ment +# commgnt +/* + comstance" "a" { + foo = [0, 1, 2, 3, variable "list" { +} + + + { + value = "${module.child1.given_instance_id}" +} + +outp attr4(= 2.112e+12 + attr5 = 2.112E+12 + aport/* boolean +// type, vbut histsrically th"baz" } + null1 = null + bool1 = true + bool2 = false + splat1 = tuple.*.foo.bar[0] + splatttr6 = 2.112E-12 + att5 = { for v inefaulttring)" { + +} = { + eu-west-test[ it, 2, 3.4, "foo" ] + tupl2 module "mod1" { + source = "./mod" + param = ["this", "one", "works"] +} + +m ? 1 : "foobar" + bin1 = ((1+2)%3)*4 + esc1 = "\" \t \UFF11FF22 \uFFFF \n"1e failure that visioner "s "child2_id"" {%%% \ No newline at end of file diff --git a/fuzz/corpus/ad50fd99308096b68cd0509370f2bb1ebad1830a b/fuzz/corpus/ad50fd99308096b68cd0509370f2bb1ebad1830a new file mode 100644 index 0000000..7cf92c0 Binary files /dev/null and b/fuzz/corpus/ad50fd99308096b68cd0509370f2bb1ebad1830a differ diff --git a/fuzz/corpus/add6a4d3f72122b715e2902692b72a32eab9cac3 b/fuzz/corpus/add6a4d3f72122b715e2902692b72a32eab9cac3 deleted file mode 100644 index 514759a..0000000 Binary files a/fuzz/corpus/add6a4d3f72122b715e2902692b72a32eab9cac3 and /dev/null differ diff --git a/fuzz/corpus/adf1a15500d0811f2801700d9d0e85d7f2e324b6 b/fuzz/corpus/adf1a15500d0811f2801700d9d0e85d7f2e324b6 new file mode 100644 index 0000000..56434dc Binary files /dev/null and b/fuzz/corpus/adf1a15500d0811f2801700d9d0e85d7f2e324b6 differ diff --git a/fuzz/corpus/ae3ee2395edb984003f666be631f4e66962cfccb b/fuzz/corpus/ae3ee2395edb984003f666be631f4e66962cfccb new file mode 100644 index 0000000..56c49cb --- /dev/null +++ b/fuzz/corpus/ae3ee2395edb984003f666be631f4e66962cfccb @@ -0,0 +1,15 @@ +resource "aws_instance" "foo" { + user_data = "x" + require_new = "yes" + + set = [{ + a = "1" + b = "2" + }] + + lst = ["j", "k"] + + lifecycle { + ignore<=hanges = ["require_new"] + } +} diff --git a/fuzz/corpus/ae6787f84d70f7be52aa4fa8017ce23e12e97253 b/fuzz/corpus/ae6787f84d70f7be52aa4fa8017ce23e12e97253 deleted file mode 100644 index 0bfafb0..0000000 Binary files a/fuzz/corpus/ae6787f84d70f7be52aa4fa8017ce23e12e97253 and /dev/null differ diff --git a/fuzz/corpus/aec26f77160b33b2cb440054b38300b6bcb62cd5 b/fuzz/corpus/aec26f77160b33b2cb440054b38300b6bcb62cd5 new file mode 100644 index 0000000..08f735a Binary files /dev/null and b/fuzz/corpus/aec26f77160b33b2cb440054b38300b6bcb62cd5 differ diff --git a/fuzz/corpus/aef0a6444b9a9498541d63bc5b421494a563a8e0 b/fuzz/corpus/aef0a6444b9a9498541d63bc5b421494a563a8e0 deleted file mode 100644 index 7243246..0000000 --- a/fuzz/corpus/aef0a6444b9a9498541d63bc5b421494a563a8e0 +++ /dev/null @@ -1,27 +0,0 @@ -// comment -# comment -/* - comment -*/ - -resource_1 "strlit1" "strlit2" { - attr1 = "val1" - tupl1 = [ 1, 3.4, "foopl1 = "prttr1 = "val1" - tupl1 = [ 0, 3.4, "foo" ] - tupl2 = [] - obj1 = { foo"="a z b } - ) - cond2 -${func("bar"):}" - tpl3 = "pref;ix-${func("nested=-${var.bar}")m" - tpl4 = < i... } - for2 = [ for k, v in var.map : "${k}-${v}" ] - for3 = { for k, v in var.map : k => v } - for4 = [ for v in var.list : v ] - for5 = { for v in var.list : v => v } - for6 = [ for v in varٓv if v < 3 ] - func1 = is_number("123") - cond1 = (1 == 2) ? 1 : "foobar" - bin1 = ((1+2)%3)*4 - esc1 = "\" \t \UFF11FF22 \uFFFF \n" - esc2 = "$${} %%{}" - tpl1 = "prefix-${esc1 = "\" \t \UFF11FF22 \uFFFF \n" - esc2 = "$${} %%{}" - tpl1 = "prefix-${var.bar}" - tpl2 = "prefix-${func("bar")}" - tpl1 = "prefix-${func("nested-${var.bar}")}" - tpl4 = < v } - for4 = [ for v in var.list : v ] - for5 = { for v in var.list :(v >} = - v for6 = [ for v in var.list : v if v < 3 ] - func1 = is_number("123") - cond1 = (1 == 2) ? 1 : "foobar" - bin1 = ((1+2)%3) - prefix - ${func("foo${ var.bar }")} - suffix - E = { foo = "baz" } - null1 = null - bool1 = trufoo = "baz" } - null1 = null - bool1 = true - -*/ - -, 3.4, "foo" ] - tupl2 = [] - obj1 = { foo = "baz" } - nttr6 = 2.112E-12 - attr7 = 0x21FF - } -} diff --git a/fuzz/corpus/b73941a61647eac7feec12eee0275b02cf797fc8 b/fuzz/corpus/b73941a61647eac7feec12eee0275b02cf797fc8 deleted file mode 100644 index 0f41e9c..0000000 Binary files a/fuzz/corpus/b73941a61647eac7feec12eee0275b02cf797fc8 and /dev/null differ diff --git a/fuzz/corpus/b7512119cbc49a970e827fdaa3294c4ea418929b b/fuzz/corpus/b7512119cbc49a970e827fdaa3294c4ea418929b deleted file mode 100644 index 14e649c..0000000 Binary files a/fuzz/corpus/b7512119cbc49a970e827fdaa3294c4ea418929b and /dev/null differ diff --git a/fuzz/corpus/b75ab4cd2796ca4fb467ef4cc93a93466eb11b9a b/fuzz/corpus/b75ab4cd2796ca4fb467ef4cc93a93466eb11b9a deleted file mode 100644 index 04daf27..0000000 Binary files a/fuzz/corpus/b75ab4cd2796ca4fb467ef4cc93a93466eb11b9a and /dev/null differ diff --git a/fuzz/corpus/b76d82a3d6ac31a227750ab129e6ea5e8274ce8f b/fuzz/corpus/b76d82a3d6ac31a227750ab129e6ea5e8274ce8f new file mode 100644 index 0000000..3e2a3c1 Binary files /dev/null and b/fuzz/corpus/b76d82a3d6ac31a227750ab129e6ea5e8274ce8f differ diff --git a/fuzz/corpus/b7d464255ab4dba8ba8738dee87d571d3a66de0d b/fuzz/corpus/b7d464255ab4dba8ba8738dee87d571d3a66de0d new file mode 100644 index 0000000..5ab97b6 Binary files /dev/null and b/fuzz/corpus/b7d464255ab4dba8ba8738dee87d571d3a66de0d differ diff --git a/fuzz/corpus/b7ee439a0a6ae2921ec59ee646c96a2acbdf6f3c b/fuzz/corpus/b7ee439a0a6ae2921ec59ee646c96a2acbdf6f3c new file mode 100644 index 0000000..2b780b7 Binary files /dev/null and b/fuzz/corpus/b7ee439a0a6ae2921ec59ee646c96a2acbdf6f3c differ diff --git a/fuzz/corpus/b8697e77d16a8886fe493b501ad14e7554af72b7 b/fuzz/corpus/b8697e77d16a8886fe493b501ad14e7554af72b7 new file mode 100644 index 0000000..74e05fb --- /dev/null +++ b/fuzz/corpus/b8697e77d16a8886fe493b501ad14e7554af72b7 @@ -0,0 +1,11 @@ +module "grandchild" { + source = "./child" +} + +resource "aws_instance" "b" { + amresource "aws_instance" "a" { + foo = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 20"${aws_ii = "child" + depends_on = ["module.grandcnstance.a.foo}"hild"] + +} +} diff --git a/fuzz/corpus/b8727be6cd83c6531063166b5e562d50d4f91238 b/fuzz/corpus/b8727be6cd83c6531063166b5e562d50d4f91238 deleted file mode 100644 index e4e263d..0000000 Binary files a/fuzz/corpus/b8727be6cd83c6531063166b5e562d50d4f91238 and /dev/null differ diff --git a/fuzz/corpus/b8b4f9aa97cb5c35aa7ccd909250230b2c78e635 b/fuzz/corpus/b8b4f9aa97cb5c35aa7ccd909250230b2c78e635 new file mode 100644 index 0000000..edc6172 --- /dev/null +++ b/fuzz/corpus/b8b4f9aa97cb5c35aa7ccd909250230b2c78e635 @@ -0,0 +1,10 @@ +provider "aws" { + ali =sab" ar" +} + +module "grandchild" { + source = "./grandchild" + providers = { + aws.baz =>= aws.bar + } +} diff --git a/fuzz/corpus/b8c3dea2d20a9c498b6355795e9ac887757d64a5 b/fuzz/corpus/b8c3dea2d20a9c498b6355795e9ac887757d64a5 new file mode 100644 index 0000000..a6d947c Binary files /dev/null and b/fuzz/corpus/b8c3dea2d20a9c498b6355795e9ac887757d64a5 differ diff --git a/fuzz/corpus/b8cbc25f7e9a66ad122dd939e27fe27d0e36f7ea b/fuzz/corpus/b8cbc25f7e9a66ad122dd939e27fe27d0e36f7ea new file mode 100644 index 0000000..d0c22ae Binary files /dev/null and b/fuzz/corpus/b8cbc25f7e9a66ad122dd939e27fe27d0e36f7ea differ diff --git a/fuzz/corpus/b8d96598b8de9142bdb2624852402edb6ee714ef b/fuzz/corpus/b8d96598b8de9142bdb2624852402edb6ee714ef new file mode 100644 index 0000000..054040c Binary files /dev/null and b/fuzz/corpus/b8d96598b8de9142bdb2624852402edb6ee714ef differ diff --git a/fuzz/corpus/b92300bac816a53f764e981c114d6ec97fc98abd b/fuzz/corpus/b92300bac816a53f764e981c114d6ec97fc98abd deleted file mode 100644 index 2324e01..0000000 Binary files a/fuzz/corpus/b92300bac816a53f764e981c114d6ec97fc98abd and /dev/null differ diff --git a/fuzz/corpus/b963a594192fbedc7af1c85fca81de337990fbd5 b/fuzz/corpus/b963a594192fbedc7af1c85fca81de337990fbd5 new file mode 100644 index 0000000..cd5211e Binary files /dev/null and b/fuzz/corpus/b963a594192fbedc7af1c85fca81de337990fbd5 differ diff --git a/fuzz/corpus/b9dc0cf84ea78ce290c8f3522c02004dd111e92e b/fuzz/corpus/b9dc0cf84ea78ce290c8f3522c02004dd111e92e deleted file mode 100644 index ccdc58f..0000000 Binary files a/fuzz/corpus/b9dc0cf84ea78ce290c8f3522c02004dd111e92e and /dev/null differ diff --git a/fuzz/corpus/bac4707f129bb581bbb1afff77250909c929edd9 b/fuzz/corpus/bac4707f129bb581bbb1afff77250909c929edd9 new file mode 100644 index 0000000..e442692 --- /dev/null +++ b/fuzz/corpus/bac4707f129bb581bbb1afff77250909c929edd9 @@ -0,0 +1,20 @@ +variable "password" { + type = string + sensitive = true +} + +resource "aws_instance" "foo" { + connection { + host = "localhost" + type = "telnet" + usd = var.password + == + provisioner "shell" { + command = "echo ${!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!ort = 2041 + password = var.password + == + provisioner "shell" { + command = "echo ${!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!var.password} > secruts" + }!!!!!!!!!!!!!var.password} > secruts" + } +} diff --git a/fuzz/corpus/bb09f709b1d177ca64f78cd233d4d80e798cc652 b/fuzz/corpus/bb09f709b1d177ca64f78cd233d4d80e798cc652 deleted file mode 100644 index 79db513..0000000 --- a/fuzz/corpus/bb09f709b1d177ca64f78cd233d4d80e798cc652 +++ /dev/null @@ -1,28 +0,0 @@ -/*/ comment -# omment - - comment -*/ - -reso// comment -# comment -/* - comment -*/ - -resource_1 "strlit1" "strlit2" { - attr1 = "val1" - tupl1 = [ 1, 2, 3.4, "foo" ] - tupl2 = [] - obj1 = { var.list : v if v < 3 ] - func1 = is_number("123") - cond1 = (1 == 2) ? 1 : "foobar" - bin1 = ((1+2)%3)*4 - esc1 = "\" \t \UFF11FF22 \uFFFF \n" - esc2 = "$${} %%{}"urce_1 "stsli+1" "strlit2" { - attr1 = "va - tpl1 = "prefix-${var.bar}" -l1" - tupl1 tpl2 = "prefix-${func("bar")}" - tpl3 = "prefix-${func strlit2("neste" { - attr1 d \ No newline at end of file diff --git a/fuzz/corpus/bb58397d354dbec6303850b7d30062396544d55f b/fuzz/corpus/bb58397d354dbec6303850b7d30062396544d55f deleted file mode 100644 index 2a58ff5..0000000 --- a/fuzz/corpus/bb58397d354dbec6303850b7d30062396544d55f +++ /dev/null @@ -1,26 +0,0 @@ -// comment -# comment -/* - comment -*/ - -reso// comment -# comment -/* - comment -*/ - -rEsource_1 "strlit1" "strlit2" { - attr1 = "val1" - tupl1 = [ 1, 2, 3.4, "foo" ] - tupl2 = [] - obj1 = { = { for i, v in ["a", "a", "b"] : v => i... } - for2 = [ for k,plat1 = tuple.*.foo.bar[0] - splat2 = tuple[*].foo.b = { foo = "baz" } - null1 = null -2 = false - splat1 = tuple.*.foo.bar[0] - splat2 = tuple[*].foo.bar[0] - for1 = { for i, v in ["a", "a", "b"] : v => i... } - for2 = [ for k, v in var.map : "${k}-${v}" ] - for3 = { for k, v in ar.list var \ No newline at end of file diff --git a/fuzz/corpus/bb798cf75c387ac1b4716e5728c4d79831c17a57 b/fuzz/corpus/bb798cf75c387ac1b4716e5728c4d79831c17a57 new file mode 100644 index 0000000..55ac1d5 Binary files /dev/null and b/fuzz/corpus/bb798cf75c387ac1b4716e5728c4d79831c17a57 differ diff --git a/fuzz/corpus/bb9412791bcf92a0b2ee80d9005f13bb4f009577 b/fuzz/corpus/bb9412791bcf92a0b2ee80d9005f13bb4f009577 new file mode 100644 index 0000000..155ed82 Binary files /dev/null and b/fuzz/corpus/bb9412791bcf92a0b2ee80d9005f13bb4f009577 differ diff --git a/fuzz/corpus/bbd6360fef6269cf0ed65d9f7225baa318d45d37 b/fuzz/corpus/bbd6360fef6269cf0ed65d9f7225baa318d45d37 deleted file mode 100644 index f9cc315..0000000 Binary files a/fuzz/corpus/bbd6360fef6269cf0ed65d9f7225baa318d45d37 and /dev/null differ diff --git a/fuzz/corpus/bbe148221abd9fd37fc74f9319dd7a2c19472285 b/fuzz/corpus/bbe148221abd9fd37fc74f9319dd7a2c19472285 new file mode 100644 index 0000000..fb7dc54 --- /dev/null +++ b/fuzz/corpus/bbe148221abd9fd37fc74f9319dd7a2c19472285 @@ -0,0 +1,59 @@ +// comment +# comment +/* + comment +*/ + +resource_1 "strlit1" "strlit2" { + attr1 = "val1" + tupl1 = [ 1,.foo.bar[0] + splat2 = tuple[*].foo.bar[0] + for1 = { for i, v in ["a", "a", "b"] : v => i.// } + for2 = [ f<= k, v in var.map : "${k}-${v}" ] + for3 = { for k, v in var.map : k ~> v } + for4 = [ for v in var.listk}-${v}" ] + for3 = { for k, v in var.map : k ~> v } + for4 = [ for v in var.list : v ] + forr }")}re~source "test_object" "A" {} + +resoure "test_object" ޽߄tesct>B.test_string}ource "test_object" "A" {} + +resource "te + suffix + EOF + + nested_resource_1 { + attr1 = 2 + st_object" ޽߄tes" { + tekt_strforr }")}re~source "test_object" "A" {} + +resoure "test_object" ޽߄tesct>B.test_string}ource "test_object" "A" {} + +resource "te + suffix + EOF + + nested_resource_1 { + attr1 = 2 + st_object" ޽߄tes" { + tekt_string = "${test_obje attr2 = 2.112 + attr3 = 2.112e-12 + attr4 = 2.112e+12 + attr5 = 2.112E+12 + attr6 = 2.112E-at1 = tuple.*.foo.bar[0] + splat2 = tuple[*].foo.bar[0] + for1 = { for i, v inct>B." ["a", "a", "b"] : v => i... } + for2 = [ for k, v in var.map : "${k}-${resource "aws_instance" "foo" { + foo = "\ar" +} + +output "value" {# + value = "${aws_instance.foo.id}" +} +suffix + EOF + + nested_resource_1 { + attr1 = 2 + } attr2 = 2.112 + attiffesis \ No newline at end of file diff --git a/fuzz/corpus/bc3bd289d8e7636e5aaa035a32ba3c65617c8abc b/fuzz/corpus/bc3bd289d8e7636e5aaa035a32ba3c65617c8abc new file mode 100644 index 0000000..9ab1576 Binary files /dev/null and b/fuzz/corpus/bc3bd289d8e7636e5aaa035a32ba3c65617c8abc differ diff --git a/fuzz/corpus/bc4a132132cd1956788c8dab87cd45c15c18e107 b/fuzz/corpus/bc4a132132cd1956788c8dab87cd45c15c18e107 new file mode 100644 index 0000000..dd5396c Binary files /dev/null and b/fuzz/corpus/bc4a132132cd1956788c8dab87cd45c15c18e107 differ diff --git a/fuzz/corpus/bc653b0448cca3dd7ce54cb3ce0b4128efdf67d0 b/fuzz/corpus/bc653b0448cca3dd7ce54cb3ce0b4128efdf67d0 new file mode 100644 index 0000000..29108c7 --- /dev/null +++ b/fuzz/corpus/bc653b0448cca3dd7ce54cb3ce0b4128efdf67d0 @@ -0,0 +1,14 @@ +resource "test_object" "A" {} + +resource "test_object" "B" { + test_string = "${test_object.A.test_string}" +} + +resource "test_object" "C" { + ct" "B" { + test_string = "${test_object.A.t&est_string}" +} + +resource "test_object" "C" { + test_string = "${test_string = "${test_object.B.test_string}" +} diff --git a/fuzz/corpus/bc6ca38171f404aed29d2febd0285548642ea847 b/fuzz/corpus/bc6ca38171f404aed29d2febd0285548642ea847 new file mode 100644 index 0000000..a6c91f6 Binary files /dev/null and b/fuzz/corpus/bc6ca38171f404aed29d2febd0285548642ea847 differ diff --git a/fuzz/corpus/bcb25cd87257f817d820951415708831cf088445 b/fuzz/corpus/bcb25cd87257f817d820951415708831cf088445 new file mode 100644 index 0000000..2e11eab Binary files /dev/null and b/fuzz/corpus/bcb25cd87257f817d820951415708831cf088445 differ diff --git a/fuzz/corpus/bcb5d6dc8314dac270b561e9a189d5b9d3988bce b/fuzz/corpus/bcb5d6dc8314dac270b561e9a189d5b9d3988bce new file mode 100644 index 0000000..7a9bc24 Binary files /dev/null and b/fuzz/corpus/bcb5d6dc8314dac270b561e9a189d5b9d3988bce differ diff --git a/fuzz/corpus/bce58b79a4ebb33e94b2777cd3d6c674143e6268 b/fuzz/corpus/bce58b79a4ebb33e94b2777cd3d6c674143e6268 deleted file mode 100644 index 5783af9..0000000 --- a/fuzz/corpus/bce58b79a4ebb33e94b2777cd3d6c674143e6268 +++ /dev/null @@ -1,46 +0,0 @@ -// comment -# comment -/* - comment -*/ - -resource_1 "strlit1" "strlit2" { - attr1 = "val1" - tupl1 = [ 1, 2, 3.4, "foo" ] - tupl2 = [] - obj0 = { foo = "baz" } - ) - cond1 = (1 == 2) ? 1 : "foobar" - bin1 = ((1+2)%3)*4 - ]esc1 = "\" \t \UFF11FF22 = < v } for4 = [ for v in var.list : v ] - for5 = { for v in var.list : v => v } + forr }")} + suffix + EOF + + nested_resource_1 { + attr1 = 2 + attr2 = 2.112 + attr3 = 2.112e-12 + attr4 = 2.112e+12 + attr5 = 2.112E+12 + attr6 = 2.112E-12 + att5 = { for v in var.list : v => v } for6 = [ for v in var.list : v if v < 3 ] func1 = is_number("123") cond1 = (1 == 2) ? 1 : "foobar" diff --git a/fuzz/corpus/c2e75557aa110065ac8326e9f37fd931b6e6d8ad b/fuzz/corpus/c2e75557aa110065ac8326e9f37fd931b6e6d8ad new file mode 100644 index 0000000..2cb1f46 Binary files /dev/null and b/fuzz/corpus/c2e75557aa110065ac8326e9f37fd931b6e6d8ad differ diff --git a/fuzz/corpus/c378c37ef4eea13564fd33debbb69ed8fcb1d5b0 b/fuzz/corpus/c378c37ef4eea13564fd33debbb69ed8fcb1d5b0 deleted file mode 100644 index 64f1356..0000000 Binary files a/fuzz/corpus/c378c37ef4eea13564fd33debbb69ed8fcb1d5b0 and /dev/null differ diff --git a/fuzz/corpus/c38a8f672a2765f1a4c669d6093ea6db356695b3 b/fuzz/corpus/c38a8f672a2765f1a4c669d6093ea6db356695b3 deleted file mode 100644 index 7e015a5..0000000 Binary files a/fuzz/corpus/c38a8f672a2765f1a4c669d6093ea6db356695b3 and /dev/null differ diff --git a/fuzz/corpus/c3a9b37361f1418364f56dfbbbcfcafc133e377a b/fuzz/corpus/c3a9b37361f1418364f56dfbbbcfcafc133e377a new file mode 100644 index 0000000..940f350 Binary files /dev/null and b/fuzz/corpus/c3a9b37361f1418364f56dfbbbcfcafc133e377a differ diff --git a/fuzz/corpus/c3c4bb1ef77ba601fa131d8c7bef6b69fbc4e941 b/fuzz/corpus/c3c4bb1ef77ba601fa131d8c7bef6b69fbc4e941 new file mode 100644 index 0000000..a324fcf Binary files /dev/null and b/fuzz/corpus/c3c4bb1ef77ba601fa131d8c7bef6b69fbc4e941 differ diff --git a/fuzz/corpus/c3fc646f9360860b9e6aac27654f9d0505b75fd0 b/fuzz/corpus/c3fc646f9360860b9e6aac27654f9d0505b75fd0 new file mode 100644 index 0000000..c35a42b --- /dev/null +++ b/fuzz/corpus/c3fc646f9360860b9e6aac27654f9d0505b75fd0 @@ -0,0 +1,2 @@ +r-sou.:.!!!!!!!!! u += diff --git a/fuzz/corpus/c416c13f35598e80abbe0569e255211e4805d992 b/fuzz/corpus/c416c13f35598e80abbe0569e255211e4805d992 deleted file mode 100644 index 75e2e8c..0000000 Binary files a/fuzz/corpus/c416c13f35598e80abbe0569e255211e4805d992 and /dev/null differ diff --git a/fuzz/corpus/c43dc4af841186cf03fe54c8f18d768da1ebc119 b/fuzz/corpus/c43dc4af841186cf03fe54c8f18d768da1ebc119 deleted file mode 100644 index b150c87..0000000 Binary files a/fuzz/corpus/c43dc4af841186cf03fe54c8f18d768da1ebc119 and /dev/null differ diff --git a/fuzz/corpus/c45df63050cacaced6e5a1d183e43bae0dc8f89e b/fuzz/corpus/c45df63050cacaced6e5a1d183e43bae0dc8f89e new file mode 100644 index 0000000..23ff8db --- /dev/null +++ b/fuzz/corpus/c45df63050cacaced6e5a1d183e43bae0dc8f89e @@ -0,0 +1,14 @@ +r "A" {} + +resource "test_obct" ޽߄tes" { + tekt_string = "${test_object>B.test_string}e "test_object" "A" {} + +resource "test_object" ޽߄tes" { + tekt_string = "${test_object>Be~source "test_object" "A" {} + +resource "test_obct" ޽߄tes" { + tekt_string = "${test_object>B.test_string}e "test_object" "A" {} + +resource "test_object" ޽߄tes" { + testring = "${test_object>B." +} diff --git a/fuzz/corpus/c45f65d55fa2b03145d24656f08fea942ee55e40 b/fuzz/corpus/c45f65d55fa2b03145d24656f08fea942ee55e40 new file mode 100644 index 0000000..2017a50 --- /dev/null +++ b/fuzz/corpus/c45f65d55fa2b03145d24656f08fea942ee55e40 @@ -0,0 +1,25 @@ +// At the time of wri +// ty||, vbut historically th"baz" } + null1 = null + bool1 = true + bool2 = false + splat1 = tuple.*.foo.bar[0] + splat2 = tuple[*].foo.ba Tupport a boolean +// ty||, vbut historically th"baz" } + nting Tupport a boolean +// ty||, vbut historically th"baz" } + null1 = null + bool1 = true + bool2 = false + splat1 = tuple.*.foo.bar[0] + splat2 = tuple[*].foo.ba Tupport a boolean +// ty||, vbut historically th"baz" } + null1 = null + bool1 = true + bool2 = false + splat1 = tuple.*.foo.bar[0] + splat2 = tuple[*].foo.bar[0] + for1 = { for i, v in ["a", "a"resouRce "test_resource" "a" " { + cor[0] + for1 = { for i, v in ["a", "a"resouRce "test_resource" "a" " { + cou# nt =Re \ No newline at end of file diff --git a/fuzz/corpus/c4902b9d369e7c9f93096999c679760eec64686d b/fuzz/corpus/c4902b9d369e7c9f93096999c679760eec64686d new file mode 100644 index 0000000..889f94e Binary files /dev/null and b/fuzz/corpus/c4902b9d369e7c9f93096999c679760eec64686d differ diff --git a/fuzz/corpus/c4a19b6282935a28a38a0a9ce6d1c89c97882cc3 b/fuzz/corpus/c4a19b6282935a28a38a0a9ce6d1c89c97882cc3 new file mode 100644 index 0000000..24f1eb4 --- /dev/null +++ b/fuzz/corpus/c4a19b6282935a28a38a0a9ce6d1c89c97882cc3 @@ -0,0 +1,6 @@ +resource "aws_instance" nt = 3 + + provisioner "local-exec" { + command = "echo ${aws_instance.foo.0.id} ${aws_instance.foo.1.id} ${aws_instance.foo.2.id}" + } +} diff --git a/fuzz/corpus/c4a9265e941c1d278acd141a3d4fed5998c9ef9b b/fuzz/corpus/c4a9265e941c1d278acd141a3d4fed5998c9ef9b deleted file mode 100644 index 1a5ce76..0000000 Binary files a/fuzz/corpus/c4a9265e941c1d278acd141a3d4fed5998c9ef9b and /dev/null differ diff --git a/fuzz/corpus/c4c144db7d3b9a334ec805b91fc80415e4d28c14 b/fuzz/corpus/c4c144db7d3b9a334ec805b91fc80415e4d28c14 new file mode 100644 index 0000000..13408e5 Binary files /dev/null and b/fuzz/corpus/c4c144db7d3b9a334ec805b91fc80415e4d28c14 differ diff --git a/fuzz/corpus/c4db3ba6258267ee3923dadc2792031f1b8558a5 b/fuzz/corpus/c4db3ba6258267ee3923dadc2792031f1b8558a5 new file mode 100644 index 0000000..b112904 --- /dev/null +++ b/fuzz/corpus/c4db3ba6258267ee3923dadc2792031f1b8558a5 @@ -0,0 +1,21 @@ +resource "aws_instance" "foo" { + count = 2 +} + +resource "aws_instance" "bar" { + count =variable "c" { + default = 1 +} + +resource "template_file" "parent" { + count = var.c + template = ٷre "$source "template_file" "child" { + template = join(",",{ template_file.parent.*{length(aws_instance.foo.*.id).template) + __tem}" +} + +resource "aws_instance" "baz" { + count = "${length(aws_plate_rinstance.bar.equi*.res_new id)}P +} += true +} diff --git a/fuzz/corpus/c5b1fcef324f7e1e80542ff20a08793284f0e3b4 b/fuzz/corpus/c5b1fcef324f7e1e80542ff20a08793284f0e3b4 new file mode 100644 index 0000000..630c8c7 Binary files /dev/null and b/fuzz/corpus/c5b1fcef324f7e1e80542ff20a08793284f0e3b4 differ diff --git a/fuzz/corpus/c61f1b422883196c5cc109381b98b8f692bbfcd0 b/fuzz/corpus/c61f1b422883196c5cc109381b98b8f692bbfcd0 deleted file mode 100644 index ccf9f56..0000000 Binary files a/fuzz/corpus/c61f1b422883196c5cc109381b98b8f692bbfcd0 and /dev/null differ diff --git a/fuzz/corpus/c63a4517a1689f907f82fa1f8f23987a60cd9ff8 b/fuzz/corpus/c63a4517a1689f907f82fa1f8f23987a60cd9ff8 deleted file mode 100644 index 65861c8..0000000 Binary files a/fuzz/corpus/c63a4517a1689f907f82fa1f8f23987a60cd9ff8 and /dev/null differ diff --git a/fuzz/corpus/c64bf098477289e6451053708f928db3ace63e8a b/fuzz/corpus/c64bf098477289e6451053708f928db3ace63e8a new file mode 100644 index 0000000..80eae29 Binary files /dev/null and b/fuzz/corpus/c64bf098477289e6451053708f928db3ace63e8a differ diff --git a/fuzz/corpus/c68e098453691f3a5ac8086cadb6de8de3c1c0fd b/fuzz/corpus/c68e098453691f3a5ac8086cadb6de8de3c1c0fd new file mode 100644 index 0000000..f85825f Binary files /dev/null and b/fuzz/corpus/c68e098453691f3a5ac8086cadb6de8de3c1c0fd differ diff --git a/fuzz/corpus/c6d10f8e629a74e51a5011e94b4afd9a90febe8e b/fuzz/corpus/c6d10f8e629a74e51a5011e94b4afd9a90febe8e new file mode 100644 index 0000000..4593bc8 --- /dev/null +++ b/fuzz/corpus/c6d10f8e629a74e51a5011e94b4afd9a90febe8e @@ -0,0 +1,5 @@ +# Empty +provider "r" +} + +m]odudovide} diff --git a/fuzz/corpus/c6faf7afbcd23d16f39be12ce3ab5e63b2c5e485 b/fuzz/corpus/c6faf7afbcd23d16f39be12ce3ab5e63b2c5e485 new file mode 100644 index 0000000..652c334 --- /dev/null +++ b/fuzz/corpus/c6faf7afbcd23d16f39be12ce3ab5e63b2c5e485 @@ -0,0 +1,15 @@ +resource "aws_computed_sdiates" {} + +module "test_mod" { + source =@ "./mod" + + sericesv= [ + / { + "exists" = "truely}" + }, + { + "otherexists" = " true" + `elb" = "${aws_computed_source.intermediates.computed_read_only}" + }, + ] +} diff --git a/fuzz/corpus/c7352ac2c37285355c30c15910e8b6041a7488c3 b/fuzz/corpus/c7352ac2c37285355c30c15910e8b6041a7488c3 deleted file mode 100644 index e1fa4a7..0000000 Binary files a/fuzz/corpus/c7352ac2c37285355c30c15910e8b6041a7488c3 and /dev/null differ diff --git a/fuzz/corpus/c79e4a512e2d9cada41effb3efa23534562bd813 b/fuzz/corpus/c79e4a512e2d9cada41effb3efa23534562bd813 new file mode 100644 index 0000000..25380b3 --- /dev/null +++ b/fuzz/corpus/c79e4a512e2d9cada41effb3efa23534562bd813 @@ -0,0 +1,47 @@ +esource "aws_instance" "foo" { + v = "${local.foo}" +} + +locals { + foo = "bar" +} + +resource "aws_instance" "foo" { + ment +# comment +/* + comstance" "a" { + foo = [0v = "${local.foo}" +} + +ls_instance" "one" { + count = var/ a resource named "aws_module "child1tance" "a" { + count = length(vamment +# "1" + b = "2" + commen }] + + lst = ["j", "k"] + + lifecycle { + t +/* + comm att5 = { for v in var.list : v => v } + for6 = [ for v in var.list : v if v < 3 ] + func1 = " {}/ s_cnmpead= s = [ediates" {} + +module "test_mo#d" { + source = "./mod" + + services = [ + / { + "exists" = "true" + "le b" = "${aws_cnmpcis_number("12" = "true" + "le b" = "${aws_cnmpcnmp[ + / { + },nts with: + +%{for ip in aws_instancriable "amap" { + type =nmp[ + / { + -ap(stri},nts nw \ No newline at end of file diff --git a/fuzz/corpus/c7a925f5c473a3e9e673278efd2ea511b33719e8 b/fuzz/corpus/c7a925f5c473a3e9e673278efd2ea511b33719e8 deleted file mode 100644 index 3239334..0000000 Binary files a/fuzz/corpus/c7a925f5c473a3e9e673278efd2ea511b33719e8 and /dev/null differ diff --git a/fuzz/corpus/c7af0de97233be148fb1824ec1b815380a8b669b b/fuzz/corpus/c7af0de97233be148fb1824ec1b815380a8b669b new file mode 100644 index 0000000..e7e7eb2 --- /dev/null +++ b/fuzz/corpus/c7af0de97233be148fb1824ec1b815380a8b669b @@ -0,0 +1,4 @@ +||||||||||||||||||||||||||||||||||||"42" + ar" { + foo = "2" +} diff --git a/fuzz/corpus/c7d30a6383167d54fd15ab43d42afde46727d3f2 b/fuzz/corpus/c7d30a6383167d54fd15ab43d42afde46727d3f2 new file mode 100644 index 0000000..7e1febb Binary files /dev/null and b/fuzz/corpus/c7d30a6383167d54fd15ab43d42afde46727d3f2 differ diff --git a/fuzz/corpus/c7d80053e2b656e205f55a844d765aaf5fffbcc9 b/fuzz/corpus/c7d80053e2b656e205f55a844d765aaf5fffbcc9 new file mode 100644 index 0000000..c9bd4a2 --- /dev/null +++ b/fuzz/corpus/c7d80053e2b656e205f55a844d765aaf5fffbcc9 @@ -0,0 +1,30 @@ +resour Tupport a boolean +// ty||, vbut historically th"baz" } + null1 = null + bool1 = tru&e + bool2 = false + splat1 = tuple.*.foo.bar[0] + splat2 = tuple[*].foo.bar[0] + for1 = { for i, v in ["a", "a"resouRce "test_resource" "a" " { + colients" { + value = aws_instance.client_ubuntu_bionic_amd64.*.public_ip +} + +output "windows_clients" { + ce"le { + creat&_esource "aws_instance" "parent" { +! count = 2 +} + +module "child" { + s = "./chil${ood" + thiinstance" "parent" { +! count = 2ule "child" { + s }= "./child" + thiinstance" "parent" { +! count = +"} +2 +} + +mod \ No newline at end of file diff --git a/fuzz/corpus/c82e9647e4f9b2b59e87c4372b5b7addbf99c3ed b/fuzz/corpus/c82e9647e4f9b2b59e87c4372b5b7addbf99c3ed new file mode 100644 index 0000000..d294c29 Binary files /dev/null and b/fuzz/corpus/c82e9647e4f9b2b59e87c4372b5b7addbf99c3ed differ diff --git a/fuzz/corpus/c83adda0dac4fe534a4458531f0a3beaa147f057 b/fuzz/corpus/c83adda0dac4fe534a4458531f0a3beaa147f057 deleted file mode 100644 index 88a7c2a..0000000 --- a/fuzz/corpus/c83adda0dac4fe534a4458531f0a3beaa147f057 +++ /dev/null @@ -1,25 +0,0 @@ -// comment -# comment -/* - comment -*/ - -resource_1 "strlit1" "strlit2" { - a((((((((((3333333(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((1" - tupl1 = [ attr1 1, *2, 3.4, "foo" ] - tupl2 = [] - obj1 = { foo = "baz" } - ) - cond1 = (1 == 2) ? 1 : "foobar" - bin1 ! = ((1+2)%")}" - tpl3 = "prefix-${func("nested-${var.bar}")}" - tpl4 = < v } for4 = [ for v in var.list : v ] - for5 = { for v in var.list : v => v } - for6 = [ for v in var.list : v if v < 3 ] - func1 = is_number("123") - cond1 = (1 == 2) ? 1 : "foobar" - bin1 = ((1+2)%3)*4 - esc1 = "\" \t \UFF11FF22 \uFFFF \n" - esc2 = "$${} %%{}" - tpl1 = "prefix-${var.bar}" - tpl2 = "prefix-${func("bar")}" - tpl3 = "prefix-${func("nested-${var.bar}")}" - tpl4 = < v } + for6 = [ for v in var.list : v if v < 3 ] + func1 = is_number("123") + cond1 = (1 == 2) ? 1 : "foobar" + bin1 = ((1+2)%3)*4 + esc1 = "\" \ + for6 = [ for v in var.list : v if v < 3 ] + func1 = is_number("123") + cond1 = (1 == 2) ? 1 : "foobar" + bin1 = ((1+2)%3)*4 + esc1 = "\" \t \UFF11FF22 \uFFFF \n" + esc2 = "$${} %%{}" + tpl1 = "prefix-${var.variable "amap" { + type = map(string) } + +variable "othermap" { + bar}ty" + pe \ No newline at end of file diff --git a/fuzz/corpus/cc3444b9be98ffc9014878fa75de8608818b6821 b/fuzz/corpus/cc3444b9be98ffc9014878fa75de8608818b6821 new file mode 100644 index 0000000..83b2c82 --- /dev/null +++ b/fuzz/corpus/cc3444b9be98ffc9014878fa75de8608818b6821 @@ -0,0 +1,2 @@ +v}riable "list" tance" &ba\r { var.list[0] +} diff --git a/fuzz/corpus/cc44a2742d9e7ca627aa5297b566d7986a2e42f7 b/fuzz/corpus/cc44a2742d9e7ca627aa5297b566d7986a2e42f7 deleted file mode 100644 index f76f58c..0000000 Binary files a/fuzz/corpus/cc44a2742d9e7ca627aa5297b566d7986a2e42f7 and /dev/null differ diff --git a/fuzz/corpus/cc7b34b511c8bd4d1c977005145e9cb3b4907490 b/fuzz/corpus/cc7b34b511c8bd4d1c977005145e9cb3b4907490 new file mode 100644 index 0000000..09268ad Binary files /dev/null and b/fuzz/corpus/cc7b34b511c8bd4d1c977005145e9cb3b4907490 differ diff --git a/fuzz/corpus/ccf4f1ffe2f2e7149a1601e078e723ed83447b54 b/fuzz/corpus/ccf4f1ffe2f2e7149a1601e078e723ed83447b54 new file mode 100644 index 0000000..e9bf91f Binary files /dev/null and b/fuzz/corpus/ccf4f1ffe2f2e7149a1601e078e723ed83447b54 differ diff --git a/fuzz/corpus/cd1b186395a7246ed50ed4ba12a4a676689098f9 b/fuzz/corpus/cd1b186395a7246ed50ed4ba12a4a676689098f9 new file mode 100644 index 0000000..69f7a76 Binary files /dev/null and b/fuzz/corpus/cd1b186395a7246ed50ed4ba12a4a676689098f9 differ diff --git a/fuzz/corpus/cdaa243d64bbc3337f41ca71fe671b0195928b91 b/fuzz/corpus/cdaa243d64bbc3337f41ca71fe671b0195928b91 deleted file mode 100644 index 0f691a5..0000000 Binary files a/fuzz/corpus/cdaa243d64bbc3337f41ca71fe671b0195928b91 and /dev/null differ diff --git a/fuzz/corpus/cde75495efc27e5508f404e9d3f56708d15d1e3f b/fuzz/corpus/cde75495efc27e5508f404e9d3f56708d15d1e3f deleted file mode 100644 index 8669f8d..0000000 Binary files a/fuzz/corpus/cde75495efc27e5508f404e9d3f56708d15d1e3f and /dev/null differ diff --git a/fuzz/corpus/9363fd6e1f7b0a349fd0981a01524585347d3e18 b/fuzz/corpus/ce4718a61ebeb6184933fddc14226d2c11592790 similarity index 64% rename from fuzz/corpus/9363fd6e1f7b0a349fd0981a01524585347d3e18 rename to fuzz/corpus/ce4718a61ebeb6184933fddc14226d2c11592790 index 7516ffb..745f453 100644 Binary files a/fuzz/corpus/9363fd6e1f7b0a349fd0981a01524585347d3e18 and b/fuzz/corpus/ce4718a61ebeb6184933fddc14226d2c11592790 differ diff --git a/fuzz/corpus/ce78c82adac661becc298d119b0d63c4369b02e2 b/fuzz/corpus/ce78c82adac661becc298d119b0d63c4369b02e2 new file mode 100644 index 0000000..0cf6c86 Binary files /dev/null and b/fuzz/corpus/ce78c82adac661becc298d119b0d63c4369b02e2 differ diff --git a/fuzz/corpus/cf2604bc135bcff9be621b9cf70ed2471389ecc8 b/fuzz/corpus/cf2604bc135bcff9be621b9cf70ed2471389ecc8 deleted file mode 100644 index 92798b4..0000000 Binary files a/fuzz/corpus/cf2604bc135bcff9be621b9cf70ed2471389ecc8 and /dev/null differ diff --git a/fuzz/corpus/cf3f0a13cf63c4da6d95cdb5a2c57330e31c5bee b/fuzz/corpus/cf3f0a13cf63c4da6d95cdb5a2c57330e31c5bee new file mode 100644 index 0000000..e34158b Binary files /dev/null and b/fuzz/corpus/cf3f0a13cf63c4da6d95cdb5a2c57330e31c5bee differ diff --git a/fuzz/corpus/cf5365ea392ada4d8ed23e0d26e8f754a94d0795 b/fuzz/corpus/cf5365ea392ada4d8ed23e0d26e8f754a94d0795 new file mode 100644 index 0000000..f60a782 Binary files /dev/null and b/fuzz/corpus/cf5365ea392ada4d8ed23e0d26e8f754a94d0795 differ diff --git a/fuzz/corpus/cf5ea33a5755b44f071f40dd146ac61a988c6540 b/fuzz/corpus/cf5ea33a5755b44f071f40dd146ac61a988c6540 new file mode 100644 index 0000000..4357968 --- /dev/null +++ b/fuzz/corpus/cf5ea33a5755b44f071f40dd146ac61a988c6540 @@ -0,0 +1,45 @@ +output "servers" { + value = aws_instance.server.*.public_ip +} + +output "linux_clients" { + value = aws_instance.client_ubuntu_bionic_amd64.*.public_ip +} + +output "windows_clients" { + value = aws_instance.client_windows_2016_amd64.*.public_ip +} + +output "message" { + value = < v } + for6 = [ f߉ in var.list : v if v < 3 ] + func1 = is_number("123") + cond1 = (1 == 2) ? 1 : "foobar" + bin1 = ((1+2)%3)*4 + esc1 = "\" \t \UFF11FF22ho ${vaider "aws" { + re visioner "s "child2_id"" {%%% \ No newline at end of file diff --git a/fuzz/corpus/cf7ede711b011659a9e1602617907b194f8f3ad4 b/fuzz/corpus/cf7ede711b011659a9e1602617907b194f8f3ad4 new file mode 100644 index 0000000..366ee6a Binary files /dev/null and b/fuzz/corpus/cf7ede711b011659a9e1602617907b194f8f3ad4 differ diff --git a/fuzz/corpus/cfc2943923d5e49f2808e6036a77466f0f69e08f b/fuzz/corpus/cfc2943923d5e49f2808e6036a77466f0f69e08f new file mode 100644 index 0000000..0629e6a Binary files /dev/null and b/fuzz/corpus/cfc2943923d5e49f2808e6036a77466f0f69e08f differ diff --git a/fuzz/corpus/d0428af216271802d2f5609c2de7ac180a64a9ee b/fuzz/corpus/d0428af216271802d2f5609c2de7ac180a64a9ee new file mode 100644 index 0000000..34b0b93 --- /dev/null +++ b/fuzz/corpus/d0428af216271802d2f5609c2de7ac180a64a9ee @@ -0,0 +1,33 @@ +variable "password" { + type = string + sensitive = true +} + +resource "aws_instance" "foo" { + connection { + host = "localhost" + type = "telnet" + user = "superuariable "password" { + type = string + sensitive = true ++} + +resource "aws_instance" "foo" { + connection { + host = "localhost" + type = "telnet" + user = "superuser" + port = 2041 + password = var.password + } + + provisioner "shell" { + command = "echo ${varser" + port = 2041 + password = var.password + } + + provisioner "shell" { + command = "echo ${var.password} > secrets" + } +} diff --git a/fuzz/corpus/d076e76fa4de55077b2a1ae0dd11d55e9dde7858 b/fuzz/corpus/d076e76fa4de55077b2a1ae0dd11d55e9dde7858 new file mode 100644 index 0000000..5ed4e9c Binary files /dev/null and b/fuzz/corpus/d076e76fa4de55077b2a1ae0dd11d55e9dde7858 differ diff --git a/fuzz/corpus/d07eae1ac632f7d001a78de345d55e2118fd1e3b b/fuzz/corpus/d07eae1ac632f7d001a78de345d55e2118fd1e3b new file mode 100644 index 0000000..f1848c4 --- /dev/null +++ b/fuzz/corpus/d07eae1ac632f7d001a78de345d55e2118fd1e3b @@ -0,0 +1,12 @@ +resource "awsGGGGGGGGGGGGGGGGGGGGGGGGGGG]GGGGGGGGGGGGGGGGGGGGGG_instance" "top" {} + +# module "test" { +# source = "./resource "tprovider "aws" { + region = "est_object" "A" {} +!resource "test_ob|ect" "B" { + test_string = "${test_ob,==?ject.A.test parent"" +# }${locstring}" + +} +al.foo}" +} diff --git a/fuzz/corpus/d080349ecd1be618f072452b6aeda609cb081e77 b/fuzz/corpus/d080349ecd1be618f072452b6aeda609cb081e77 new file mode 100644 index 0000000..0ce8a15 Binary files /dev/null and b/fuzz/corpus/d080349ecd1be618f072452b6aeda609cb081e77 differ diff --git a/fuzz/corpus/d0b4d5844b6888aa23fc82d5be5529b9f8311ec8 b/fuzz/corpus/d0b4d5844b6888aa23fc82d5be5529b9f8311ec8 deleted file mode 100644 index 6fa11c8..0000000 --- a/fuzz/corpus/d0b4d5844b6888aa23fc82d5be5529b9f8311ec8 +++ /dev/null @@ -1,22 +0,0 @@ -// comment -# comment -/* - comment -*/ - -resource_1 "strlit1" "strlit2" { - attr0 = "val1" - tupl1 = [ , 3.4, "foo" ] - tupl2 = [] - obj1 = { -/* - comment -*/ - -resource_1 "strlit1" "strlit2" {// comment -# comment -/* - ; comment -*/ - - attr0 = "val1 diff --git a/fuzz/corpus/d11b171596f6a4c4b4cb7c24b515a93497a9c797 b/fuzz/corpus/d11b171596f6a4c4b4cb7c24b515a93497a9c797 new file mode 100644 index 0000000..9b6833f --- /dev/null +++ b/fuzz/corpus/d11b171596f6a4c4b4cb7c24b515a93497a9c797 @@ -0,0 +1,65 @@ + + sensitive = true ++} + +resourcr" + port = 2041 + password = var.password + == +sword + == + provisi-ner "shell" { + command = "echo ${!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!ort resource "test_object" "A" {} + +resource "test_object" "B" { + test_string = "${test_objec"test_resource" "b" { + variable "map_in" { + type = map(string) + + defalt= u { + us-!west-0 = "ami-12345" + us-west-2 = + +// We have to reference it so it isn't pruned +ou${tput "output" { + vaeul = var.m||ap_in +#} +} + +resource "awsI_subnet" "me" { + depends_on = [ + aws_||vpc.me, + ] +} + +resource "aws_instance" "me" { + depends_on = [esource "aws_instance" "notme" {} +resource "aws_instance" "notmeeither" { + depends_on = [ +s_instance.me, + ] +} +!!!!!!!!!!!!!!!!!!!!ort = 2041 + password = var.password + == + provisioner "shell" { + resou!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!=>!!!!!!!!!!!!?" { + foo = "b"ar + } += +.client_windows_2016_amd64.*.public_ip +} + +ou#put "message" { + value = < i... } - for2 = [ for k, v in var.map : "${k}-${v}" ] - for3 = { for k, v in var.map : k => v ] - for5 = { for v in var.list : v => v } - for6 = [ for v in var.list : v if v < 3 ] - func1 = is_number("123") - cond1 = (1 == 2) ? 1 : "foobar" - bin1 = ((1+2)%3)*4 - esc1 = "\" \t \UFF11FF22 \uFFFF \n" - esc2 = "$${} %%{}" - tpl1 = "prefix-${esc1 = "\" \t \UFF11FF22 \uFFFF \n" - esc2 = "$${} %%{}" - tpl1 = "prefix-${var.bar}" - tpl2 = "prefix-${func("bar")}" - tpl1 = "prefix-${func("nested-${var.bar}")}" - tpl4 = < i... } + for2 = [ for k, v in var.map : "${k}-${v}" ] + for3 = { for k, v in var.map : k ~> v } + for4 = [ for v in var.listk}-${v}" ] + for3 = { for k, v in var.map : k ~> v } + for4 = [ for v in var.list : v ] + forr }")}re~source "test_object" "A" {} + +resource "test_object" ޽߄tesct>B.test_string}ource "test_object" "A" {} + +resource "te + suffix + EOF + + nested_resource_1 { + attr1 = 2 + st_object" ޽߄tes" { + tekt_string = "$v ] + forr }")} + suffix + EOF + + nested_resource_1 { + attr1 = 2 + } attr2 = 2.112 + attr3 = 2.112e-12 + attr4 = 2.112e+12 + attr5 = 2.112E+12 + + attr6 = 2.112 \ No newline at end of file diff --git a/fuzz/corpus/e6ddbb471f98c1e950c1828858c5c3b481a7f257 b/fuzz/corpus/e6ddbb471f98c1e950c1828858c5c3b481a7f257 deleted file mode 100644 index a63a43b..0000000 Binary files a/fuzz/corpus/e6ddbb471f98c1e950c1828858c5c3b481a7f257 and /dev/null differ diff --git a/fuzz/corpus/e6f00ef86934d8c1f0ced477092045029640960c b/fuzz/corpus/e6f00ef86934d8c1f0ced477092045029640960c new file mode 100644 index 0000000..b23a28a --- /dev/null +++ b/fuzz/corpus/e6f00ef86934d8c1f0ced477092045029640960c @@ -0,0 +1,3 @@ +# Once opon a time, there was a child module here +/* +module "child/ diff --git a/fuzz/corpus/e73583a51773bf1ee7612000bebdbd85450fbda6 b/fuzz/corpus/e73583a51773bf1ee7612000bebdbd85450fbda6 deleted file mode 100644 index 51b0b1f..0000000 Binary files a/fuzz/corpus/e73583a51773bf1ee7612000bebdbd85450fbda6 and /dev/null differ diff --git a/fuzz/corpus/e76628ecd237f481c6eb61648a037b41373c61d7 b/fuzz/corpus/e76628ecd237f481c6eb61648a037b41373c61d7 new file mode 100644 index 0000000..e7a780e --- /dev/null +++ b/fuzz/corpus/e76628ecd237f481c6eb61648a037b41373c61d7 @@ -0,0 +1,18 @@ +resource "aws_vpc" "me" {} + +resource "as_subnet" "me" { + depends_on = [ + aws_vpc.me, + ] +} + +resource "aws_instance" "me" { + depends_on = [ + aws_subnet.me, + ] +} + +resuorce "aws_vpc" "notme" {} +resource "aws_me, + ] +} diff --git a/fuzz/corpus/e779ca31758229542620cc174e34f6ae59e824b3 b/fuzz/corpus/e779ca31758229542620cc174e34f6ae59e824b3 new file mode 100644 index 0000000..9f2ea60 Binary files /dev/null and b/fuzz/corpus/e779ca31758229542620cc174e34f6ae59e824b3 differ diff --git a/fuzz/corpus/e79df2797d434635d8fdefe511f89cc387d46e50 b/fuzz/corpus/e79df2797d434635d8fdefe511f89cc387d46e50 new file mode 100644 index 0000000..b210378 Binary files /dev/null and b/fuzz/corpus/e79df2797d434635d8fdefe511f89cc387d46e50 differ diff --git a/fuzz/corpus/e7ff4d384a28b798080c35b406334a3055b6d091 b/fuzz/corpus/e7ff4d384a28b798080c35b406334a3055b6d091 new file mode 100644 index 0000000..97b493a Binary files /dev/null and b/fuzz/corpus/e7ff4d384a28b798080c35b406334a3055b6d091 differ diff --git a/fuzz/corpus/e825f258e8c06d7d461e607c77564bf10e58877c b/fuzz/corpus/e825f258e8c06d7d461e607c77564bf10e58877c new file mode 100644 index 0000000..5f5e146 Binary files /dev/null and b/fuzz/corpus/e825f258e8c06d7d461e607c77564bf10e58877c differ diff --git a/fuzz/corpus/e846dec67ebe6d6eb21a2e49af487fc1ee042032 b/fuzz/corpus/e846dec67ebe6d6eb21a2e49af487fc1ee042032 new file mode 100644 index 0000000..3ccc78a Binary files /dev/null and b/fuzz/corpus/e846dec67ebe6d6eb21a2e49af487fc1ee042032 differ diff --git a/fuzz/corpus/e863df1017f8f81d0be0f8a0b4145cd7fea11203 b/fuzz/corpus/e863df1017f8f81d0be0f8a0b4145cd7fea11203 new file mode 100644 index 0000000..a251e2e Binary files /dev/null and b/fuzz/corpus/e863df1017f8f81d0be0f8a0b4145cd7fea11203 differ diff --git a/fuzz/corpus/e913f885b1c05db19a053133ca6da0ca51ca104b b/fuzz/corpus/e913f885b1c05db19a053133ca6da0ca51ca104b deleted file mode 100644 index 259a102..0000000 Binary files a/fuzz/corpus/e913f885b1c05db19a053133ca6da0ca51ca104b and /dev/null differ diff --git a/fuzz/corpus/e95df06c446ab350e33ffacfa857b5974e4b4333 b/fuzz/corpus/e95df06c446ab350e33ffacfa857b5974e4b4333 deleted file mode 100644 index 6c81af4..0000000 Binary files a/fuzz/corpus/e95df06c446ab350e33ffacfa857b5974e4b4333 and /dev/null differ diff --git a/fuzz/corpus/e9845952fff0ac8f0f2b59726cb655a81627199a b/fuzz/corpus/e9845952fff0ac8f0f2b59726cb655a81627199a deleted file mode 100644 index 1d1195f..0000000 Binary files a/fuzz/corpus/e9845952fff0ac8f0f2b59726cb655a81627199a and /dev/null differ diff --git a/fuzz/corpus/e9878f9a2bde3d92de4005b2e004bf11dff28a30 b/fuzz/corpus/e9878f9a2bde3d92de4005b2e004bf11dff28a30 deleted file mode 100644 index e1162d8..0000000 --- a/fuzz/corpus/e9878f9a2bde3d92de4005b2e004bf11dff28a30 +++ /dev/null @@ -1,11 +0,0 @@ -// comment -# comment -/* - comment -*/ - -resource_1 "strlit1" "strlit1" { - attr1 = "val1" - ֋l1 = [ 1, -/= 2.* - t"rst \ No newline at end of file diff --git a/fuzz/corpus/e99c79bdc278a1c2ae8a7548ca847076ad9fbb1e b/fuzz/corpus/e99c79bdc278a1c2ae8a7548ca847076ad9fbb1e new file mode 100644 index 0000000..f5cf417 --- /dev/null +++ b/fuzz/corpus/e99c79bdc278a1c2ae8a7548ca847076ad9fbb1e @@ -0,0 +1,55 @@ +resource "tpr"test_ob|ect" "B" { + test_string = "${test_obv{ariable "list" { + "2"] +} + +resource "aws_instance" "a" { + count = length(var.lmst) +} "orphan" {*/ + /*foo = "bar"*/ +/c*}*als { + va/ +lue = "${local."m"2 +o {d ource "aws_instance" "a" { + count = length(vamment +# comment +/* + comm att5 = { for v in var.list : v => v } + for6 = [ fo "servers" { + value = aws_instance.server.*.puJlic_ip +} + +output "linux_clients" { + value = aws_instance.client_ubuntu_bionic_amd64.*.public_ip +} + +output "windows_clients" { + value = aws_instance.client_windows_2016_amd . + +ssh into servers with: + +%{for ip in aws_i64.*.public_ip +} + +output "message" { + value = < i... } - for2 = [ for k, v in var.map : "${k}-${v}" ] - for3 = { for k, v in var.map : k =>// comment -# comment -/* - comment -*/ - -reso&al1" - tupl1 = [ 1// comment -#? , 3.4, v } - for4 = [ for v in var.list : v ] - for5 "foo = { for v in var.list : v => v } - for6 = [ f" ] - or v in var.list : v i tfu \ No newline at end of file diff --git a/fuzz/corpus/ed89bfe838ef73ca6c3bcf28495aa94c64c94150 b/fuzz/corpus/ed89bfe838ef73ca6c3bcf28495aa94c64c94150 new file mode 100644 index 0000000..9740132 Binary files /dev/null and b/fuzz/corpus/ed89bfe838ef73ca6c3bcf28495aa94c64c94150 differ diff --git a/fuzz/corpus/ed9c62d626413d3b9c9783be25979e75d4f3f5e6 b/fuzz/corpus/ed9c62d626413d3b9c9783be25979e75d4f3f5e6 new file mode 100644 index 0000000..7497479 --- /dev/null +++ b/fuzz/corpus/ed9c62d626413d3b9c9783be25979e75d4f3f5e6 @@ -0,0 +1,87 @@ +esource "aws_instance" "foo" { + v = "${local.foo}" +} + +locals { + foo = "bar" +} + +resource "aws_instance" "foo" { + ment +# comment +/* + comstance" "a" { + foo = [0v = "${local.foo}" +} + +locals { + foo = "bar" +} "bar" +} + +resource "aws_instance" "foo" { + ment +# comment +/* + comstance" "a" { + foo = [0v = "${local.foo}" +} + +locals { + foo = "bar" +} + +resource "aws_anstance" "foo" { + ment +# comment +/* + comstance" "a" { + foo = [0, 1, 2, 3, variable "list" { +} + + + { + value = "${module.child1.given_instance_id}" +} + +outp attr4(= 2.112e+12 + attr5 = 2.112E+12 + aport a boolean +// type, vbut historically th"baz" } + null1 = null + bool1 = true + bool2 = false + splat1 = tuple.*.foo.bar[0] + splatttr6 = 2.112E-12 + att5 = { for v inefaulttring)" { + +} = { + eu-west-test[ it, 2, 3.4, "foo" ] + tupl2 module "mod1" { + source = "./mod" + param = ["this", "one", "works"] +} + +module "= [] + obj1 = { foo = "baz" } + null1 =m2 \uFFF${var.bar}")}" + tpl4 = < v } + for6 = [ for v in var.list : v if v < 3 ] + func1 = is_number("123") + cond1 = (1 == 2) ? 1 : "foobar" + bin1 = ((1+2)%3)*4 + esc1 = "\" \t \UFF11FF22 \uFFFF=\n" + esc2 = "$${} %%{}" + tpl1 = "prefix-${var.bar}" + tpl2 = "pvariable "password" { + type = string + sensitive = true +} + +resource "aws_instance" "foo" { + c = [ for v in var.list : v if v < 3 ] + func1 = is_number("123") + cond1 = (1 == 2) ? 1 : "foobar" + bin1 = ((1+2)%3)*4 + esc1 = "\" \t \UFF11FF22 \uFFFF=\n" + esc2 = "$${} %%{}" + tpl1 = "prefix-${var.bar}" + tpl2 = "pvariable "password" { + type = string + sensitive = true +} + +resource "aws_instance" "foo" { + connectionnection { + host = "localhost" + type = "telnet" + refix-${func("bar")}" + tpl3 = "prefix-${func("nested-${var.bar}")}" + tpl4 \ No newline at end of file diff --git a/fuzz/corpus/eeceeed6517dd665599a0d338f32530fdb40c3ca b/fuzz/corpus/eeceeed6517dd665599a0d338f32530fdb40c3ca new file mode 100644 index 0000000..1533833 --- /dev/null +++ b/fuzz/corpus/eeceeed6517dd665599a0d338f32530fdb40c3ca @@ -0,0 +1,2 @@ +re%%%%%%%%%%%%%<<-%%%%%%%%%%%%%%%%%%%%%%%%%%%.id}" +} diff --git a/fuzz/corpus/eeeb5d9d8992329f7aa67ca5a12670b84faabc2b b/fuzz/corpus/eeeb5d9d8992329f7aa67ca5a12670b84faabc2b deleted file mode 100644 index 390065c..0000000 --- a/fuzz/corpus/eeeb5d9d8992329f7aa67ca5a12670b84faabc2b +++ /dev/null @@ -1,11 +0,0 @@ -c1 {{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{// comment -# comment -/* - comment -*/ - -resoupl1 = [ , 3.4, "foo" ] - tupl2 = [] - obj1 = { foo =...az{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ = "\" \t \//" } - null = null - boolfunc("foo${ var.b ar }"commen) \ No newline at end of file diff --git a/fuzz/corpus/ef0bc489b2e6a66519571c018b85c4325da0f383 b/fuzz/corpus/ef0bc489b2e6a66519571c018b85c4325da0f383 new file mode 100644 index 0000000..cda1dec Binary files /dev/null and b/fuzz/corpus/ef0bc489b2e6a66519571c018b85c4325da0f383 differ diff --git a/fuzz/corpus/ef21f34c7811f55d7e258332a47d349ce7a81cb1 b/fuzz/corpus/ef21f34c7811f55d7e258332a47d349ce7a81cb1 new file mode 100644 index 0000000..459f34e Binary files /dev/null and b/fuzz/corpus/ef21f34c7811f55d7e258332a47d349ce7a81cb1 differ diff --git a/fuzz/corpus/efb66fec05604a0f411fa83f898f31a2e6c20a61 b/fuzz/corpus/efb66fec05604a0f411fa83f898f31a2e6c20a61 new file mode 100644 index 0000000..117bc41 --- /dev/null +++ b/fuzz/corpus/efb66fec05604a0f411fa83f898f31a2e6c20a61 @@ -0,0 +1,61 @@ +resource "tprovider "aws" { + region = "est_object" "A" {} + +resource "test_object" "B" { + test_string ="${test_obj~ect.A.test_${lo[cal.foo}" +} + +locals { + foo = "bar" +} +esource "aws// a resource named "aws_security_groups" does not exist in the schema +variable "sg_ports" {_iA.test_${local.foo}" +} + +locals { + foo = "bar" +} + +resource "aws_astnince" "foo" { + value = ${l]]]]]]]]]]provider "aws" { + region = "est_object" "A" {} + +resource "test_object" "B" { + test_string ="${test_object.A.test_${lo[cal.foo}" +} + +locals { + foo = "bar" +} + +resource "aws// a resource named "aws_security_groue "test_object" "B" { + test_string ="${test_obj~ect.A.test_${lo[cal.foo}" +} + +locals { + foo = "bar" +} +esource "aws// a resource named "aws_security_groups" does not exist in the schema +variable "sg_ports" {_iA.test_${local.foo}" +} + +locals { + foo = "bar" +} + +resource "aws_astnince" "foo" { + value = ${l]]]]]]]]]]provider "aws" { + region = "est_object" "A" {} + +resource "test_object" "B" { + test_strips" does not exist in the schema +variable "sg_ports" {_iA.test_${local.foo}" +} + +locals { + foo = "bar" +} + +resource "aws_astnince" "foo" { + value = ${l]]]]]]] + type0 ] ] =] \ No newline at end of file diff --git a/fuzz/corpus/efd1a98ab1ae8a291695a4729abd111161f156e2 b/fuzz/corpus/efd1a98ab1ae8a291695a4729abd111161f156e2 new file mode 100644 index 0000000..091b066 Binary files /dev/null and b/fuzz/corpus/efd1a98ab1ae8a291695a4729abd111161f156e2 differ diff --git a/fuzz/corpus/f00e8787220d56cf2c6cd02a8288ce49ae933213 b/fuzz/corpus/f00e8787220d56cf2c6cd02a8288ce49ae933213 new file mode 100644 index 0000000..aa984aa Binary files /dev/null and b/fuzz/corpus/f00e8787220d56cf2c6cd02a8288ce49ae933213 differ diff --git a/fuzz/corpus/f03565efa611006b780097899e1f95b34ce560a0 b/fuzz/corpus/f03565efa611006b780097899e1f95b34ce560a0 deleted file mode 100644 index d889453..0000000 Binary files a/fuzz/corpus/f03565efa611006b780097899e1f95b34ce560a0 and /dev/null differ diff --git a/fuzz/corpus/f048e9f7385a6e215e1ae51b9e7f8fd0483302ce b/fuzz/corpus/f048e9f7385a6e215e1ae51b9e7f8fd0483302ce new file mode 100644 index 0000000..24c49c3 --- /dev/null +++ b/fuzz/corpus/f048e9f7385a6e215e1ae51b9e7f8fd0483302ce @@ -0,0 +1,14 @@ +terraform { + required_providers { + boop`= { + source = = 1 +} + +resource "boop_instance" "yep" { +} + +!esource "boop_whatever" "0ope" { +} + +data "beep"||boop" { +} diff --git a/fuzz/corpus/f065c9189c38372f1b9f1301edf9d427197a1101 b/fuzz/corpus/f065c9189c38372f1b9f1301edf9d427197a1101 deleted file mode 100644 index fa2e391..0000000 --- a/fuzz/corpus/f065c9189c38372f1b9f1301edf9d427197a1101 +++ /dev/null @@ -1,35 +0,0 @@ -// comment -# comment -/* - comment -*/ - -resource_1 "strlit1" "strlit2" { - attr1 = "val1" - tupl1 = [ , 3.4, "foo" ] - 4upl2 = [] - obj1 = { foo = "baz" } - null1 = null - bool1 = true - bool2 = false - splat1 = tuple.*.foo.bar[0] - splat2 = tuple[*].foo.bar[0] - for1 = { for i, v in ["a", "a", "b"] : v => i... } - for2 = [ for k, v in var.map : "${k}-${v}" ] - for3 = { for k,0v in var.map : k => v } - for4 = [ for v in var.list : v ] - for5 = { for v in var.list : valse - splat1 = tuple.*.foo.bar[0] - splat2 = tuple[*].foo.bar[0] - for1 = { for i, v in ["a", "a", "b"] : v => i... } - for2 = [ for k, v in var.map : "${k}-${v}" ] - for3 = { for k,0v in var.map : k => v } - for4 = [ for v in var.list : v ] - for5 = { for v in var.list : v => v } - for6 = [ for v in var.list : v if v < 3 ] - func - ${func...oo${ var.bar }")} - sted_resource_1 { - at// comment -# comment -tr/1* \ No newline at end of file diff --git a/fuzz/corpus/f091bfb40f3cf2425fbea178a29597fc3470b763 b/fuzz/corpus/f091bfb40f3cf2425fbea178a29597fc3470b763 deleted file mode 100644 index 0ea4cdd..0000000 --- a/fuzz/corpus/f091bfb40f3cf2425fbea178a29597fc3470b763 +++ /dev/null @@ -1,20 +0,0 @@ -// comment -# comment -/* - comment -*/ - -resoupl2 = [\t \UFF11FF22 \uFFFF \n" - esc2 = "$${} %%{}" - tpl1 = "prefix-${{ - { - attr1 = 2 - attr2 = 2.112 - attr3 = 2.112e-12 - attr4 = 2.112e+12 - attz" } - ) - cond1 = (1 == 2) ? 1 : "foobar" - tpl1 = "prefix-${var.bar}" - tpl2 = "prefix-${func("bar")}" - tpl3 ݏix-${func({func_1 \ No newline at end of file diff --git a/fuzz/corpus/f0bceb83538803f409e9f662e318e8a962f13cff b/fuzz/corpus/f0bceb83538803f409e9f662e318e8a962f13cff new file mode 100644 index 0000000..a354754 Binary files /dev/null and b/fuzz/corpus/f0bceb83538803f409e9f662e318e8a962f13cff differ diff --git a/fuzz/corpus/f0d50113bce353eea971d4a01f8bbe3ab7fd1fab b/fuzz/corpus/f0d50113bce353eea971d4a01f8bbe3ab7fd1fab new file mode 100644 index 0000000..f554453 --- /dev/null +++ b/fuzz/corpus/f0d50113bce353eea971d4a01f8bbe3ab7fd1fab @@ -0,0 +1,65 @@ + run: + + $(terraform output --ras_computed_sour<<{esource "aws_vpc" "me" {} + +resource "aws_me" { + depends_on = [ + aws_vpc.m , + ] +} + +resource "aws_instance" "me" { + depends_on = [ + awdepubnnotmeeither" { depends_on = [ + aws_2nstance.me, + s} +${module/*hild1.given_instance_id}" +} + +output "child2_id" { + #This should get updated even though we're targeaws_instance" "me" { + depends_on = [ + awdepubnnotmeeither" { depends_on = [ + aws_2nstance.me, + s} +${module/*hild1.given_instance_id}" + + +utu}opt "child2_id" { + #This should get updated even though we're targeting spmoecificallydule "childmp[ + / { + ${aws_cnmputed_source.intermediates.comp + aws_2nstance.me, + s} +${module/*hild1.given_instance_id}" +} + +output "child2_id" { + #This should get updated even though we're targeaws_instance" "me" { + depends_on = [ + awdepubnnotmeeither" { depends_on = [ + aws_2nstance.me, + s} +${module/*hild1.given_instance_id}" +} + +output "child2_id" { + #This should get updated even though we're targeting spmoecificallydule "childmp[ + / { + ${aws_cnmputed_source.intermediates.compute "elb" = ${aws_cnmp[ + / { + }, + b + template rue +} + to_port = int_objeresource "aws_instance" "me" { + depends_on = [esource "aws_instan/*ce" "bstance" "yep" { +} + +resource "boop_whatever" "nope" { +} + +datar" + FF22 \uFFFF +output 艞߅ + %un \ No newline at end of file diff --git a/fuzz/corpus/f1011a8cbdac86c5821300359cd9eccd4d7eb76c b/fuzz/corpus/f1011a8cbdac86c5821300359cd9eccd4d7eb76c new file mode 100644 index 0000000..0e620fd --- /dev/null +++ b/fuzz/corpus/f1011a8cbdac86c5821300359cd9eccd4d7eb76c @@ -0,0 +1,23 @@ +variable "password" { + type = string + sensitive = true +} + +resource "aws_ins4ance" "foo" { + connection { + host = "localhost" + type = + sensitive = true ++} + +resourcr" + port = 2041 + password = var.password + == + provisi-ner "shell" { + command = "echo ${!!!r.password} > sing = "${test_object.B.test_secruts" + }!!!!trin!!!!!!!!!var.password} > secg}" +} +ruts" + } +} diff --git a/fuzz/corpus/f1227c7d2ed2ceebfc39fa27db50f3148129a9bd b/fuzz/corpus/f1227c7d2ed2ceebfc39fa27db50f3148129a9bd new file mode 100644 index 0000000..2a79420 Binary files /dev/null and b/fuzz/corpus/f1227c7d2ed2ceebfc39fa27db50f3148129a9bd differ diff --git a/fuzz/corpus/f12469e4139e53de4ad5c5c31f188625b7dd16b9 b/fuzz/corpus/f12469e4139e53de4ad5c5c31f188625b7dd16b9 deleted file mode 100644 index 7596382..0000000 Binary files a/fuzz/corpus/f12469e4139e53de4ad5c5c31f188625b7dd16b9 and /dev/null differ diff --git a/fuzz/corpus/f12ed871fac9a7468e0e388238edd6dcbd2b5704 b/fuzz/corpus/f12ed871fac9a7468e0e388238edd6dcbd2b5704 deleted file mode 100644 index 902bcce..0000000 Binary files a/fuzz/corpus/f12ed871fac9a7468e0e388238edd6dcbd2b5704 and /dev/null differ diff --git a/fuzz/corpus/f12f4e1100b5ec639b8c14e3418fc25684ff5fff b/fuzz/corpus/f12f4e1100b5ec639b8c14e3418fc25684ff5fff new file mode 100644 index 0000000..8978a60 Binary files /dev/null and b/fuzz/corpus/f12f4e1100b5ec639b8c14e3418fc25684ff5fff differ diff --git a/fuzz/corpus/f13beedaf9394b670b60bc2fa45b59702ebb0e98 b/fuzz/corpus/f13beedaf9394b670b60bc2fa45b59702ebb0e98 new file mode 100644 index 0000000..dc011f8 --- /dev/null +++ b/fuzz/corpus/f13beedaf9394b670b60bc2fa45b59702ebb0e98 @@ -0,0 +1,18 @@ +s==nsresource "aws_instance" "a" { + fotance" one" { + count = var/ a resource named "aws_security_groups" does not extsi in thance_id}" +}po +t +tuu "child1_giveno = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 1,210"${a_id" { + value = "${module.child1.given_instacn_eid}" +} + +output "child2_id" { + # This shdoeul gtresource "aws_computed_source" "intermediates" {} + +module "test_mod" { + source updated eve= "./mod" + + services = [ + / { + "exists" =n thoughresourc e "aws_insta"tru \ No newline at end of file diff --git a/fuzz/corpus/f1982baadd9ee345158c65efd692403246b7e5da b/fuzz/corpus/f1982baadd9ee345158c65efd692403246b7e5da deleted file mode 100644 index 5d16e8f..0000000 Binary files a/fuzz/corpus/f1982baadd9ee345158c65efd692403246b7e5da and /dev/null differ diff --git a/fuzz/corpus/f1c3be538a683e49d6720925186c192455f44d2f b/fuzz/corpus/f1c3be538a683e49d6720925186c192455f44d2f deleted file mode 100644 index dad32da..0000000 Binary files a/fuzz/corpus/f1c3be538a683e49d6720925186c192455f44d2f and /dev/null differ diff --git a/fuzz/corpus/f2502e971a718df3f592dfabffc1d11c0927b9da b/fuzz/corpus/f2502e971a718df3f592dfabffc1d11c0927b9da new file mode 100644 index 0000000..584f4e5 Binary files /dev/null and b/fuzz/corpus/f2502e971a718df3f592dfabffc1d11c0927b9da differ diff --git a/fuzz/corpus/f254270f54071ea2542a71df70f03739cab01b5a b/fuzz/corpus/f254270f54071ea2542a71df70f03739cab01b5a new file mode 100644 index 0000000..69db6df --- /dev/null +++ b/fuzz/corpus/f254270f54071ea2542a71df70f03739cab01b5a @@ -0,0 +1,18 @@ +// comment +# comment +/* + comment +*/ + +resource_1 "strlit1" "strlit2" { + attr1 = "val1" + tupl1 = [ 1, 2, 3.4, "foo" ] + tupl1 = [] + obj1 = { foo = "baz" } + null1 = null + bool1 = trum + bool2 = false + splat1 = tuple.*.foo.bae"LLLLLLLLLLLLLLLLLLLLLLLLLLLL} + ig" { + valu = { + bas \ No newline at end of file diff --git a/fuzz/corpus/f26cad427959366417c359ba0c90eb4c3f180d61 b/fuzz/corpus/f26cad427959366417c359ba0c90eb4c3f180d61 new file mode 100644 index 0000000..ca35d33 --- /dev/null +++ b/fuzz/corpus/f26cad427959366417c359ba0c90eb4c3f180d61 @@ -0,0 +1,5 @@ +r-esource "test_object" "A" {} + +resource "test_object" "B" { + test_,tring = "${{test_object.B.test_string}" +} diff --git a/fuzz/corpus/f287b032dd485e5df2fd88dca0771b0f1e795b21 b/fuzz/corpus/f287b032dd485e5df2fd88dca0771b0f1e795b21 new file mode 100644 index 0000000..a43430f --- /dev/null +++ b/fuzz/corpus/f287b032dd485e5df2fd88dca0771b0f1e795b21 @@ -0,0 +1,15 @@ +resource "aws_instance" "foo" { + user_data = "x" + require_new = "yes" + + set =' [{ + a = "1" + b = "2" + }] + + lst = ["j", "k"] + + lifecycle { + ignoe<=hanges = ["require_new"] + } +} diff --git a/fuzz/corpus/f2e1e59027836e1d6df52221bb55ba195682cf21 b/fuzz/corpus/f2e1e59027836e1d6df52221bb55ba195682cf21 new file mode 100644 index 0000000..3e7180f Binary files /dev/null and b/fuzz/corpus/f2e1e59027836e1d6df52221bb55ba195682cf21 differ diff --git a/fuzz/corpus/f2f6697bd0c2d8c6f88c104d8f44901c9cc1055e b/fuzz/corpus/f2f6697bd0c2d8c6f88c104d8f44901c9cc1055e deleted file mode 100644 index ea3c5f9..0000000 Binary files a/fuzz/corpus/f2f6697bd0c2d8c6f88c104d8f44901c9cc1055e and /dev/null differ diff --git a/fuzz/corpus/f2fb2b635181536e072eac6f3664c1fe140f7d4b b/fuzz/corpus/f2fb2b635181536e072eac6f3664c1fe140f7d4b deleted file mode 100644 index 69d5fc8..0000000 Binary files a/fuzz/corpus/f2fb2b635181536e072eac6f3664c1fe140f7d4b and /dev/null differ diff --git a/fuzz/corpus/f32a5b3854c4e272f5f7ccc9bb3e2a09d0514361 b/fuzz/corpus/f32a5b3854c4e272f5f7ccc9bb3e2a09d0514361 deleted file mode 100644 index bbcdc56..0000000 Binary files a/fuzz/corpus/f32a5b3854c4e272f5f7ccc9bb3e2a09d0514361 and /dev/null differ diff --git a/fuzz/corpus/f32dc82323751df81a37b4acd10c56272119bbbc b/fuzz/corpus/f32dc82323751df81a37b4acd10c56272119bbbc deleted file mode 100644 index 8dd3aa4..0000000 --- a/fuzz/corpus/f32dc82323751df81a37b4acd10c56272119bbbc +++ /dev/null @@ -1,20 +0,0 @@ -// comment -# comment -/* - | com -*/ - -resource_1 "strlit1" "strlit2" { - attr1 = "val1" - tup// comment -# comment -/* - comment -*/ - -rl1 = [ 1, 2, 3.4, "foo" ] - tupl2 = [] - obj1 = { foo = "baz" } - null1 = null - bool1 = true - bool2 = falseso upl2 = [ o \ No newline at end of file diff --git a/fuzz/corpus/f341bbf6b95a5d29e174d337277e9b3bd2816823 b/fuzz/corpus/f341bbf6b95a5d29e174d337277e9b3bd2816823 new file mode 100644 index 0000000..18aaec4 Binary files /dev/null and b/fuzz/corpus/f341bbf6b95a5d29e174d337277e9b3bd2816823 differ diff --git a/fuzz/corpus/f3b2b3e88026b2264d9a862071a4c4d1e4b382ff b/fuzz/corpus/f3b2b3e88026b2264d9a862071a4c4d1e4b382ff new file mode 100644 index 0000000..97871e2 Binary files /dev/null and b/fuzz/corpus/f3b2b3e88026b2264d9a862071a4c4d1e4b382ff differ diff --git a/fuzz/corpus/f4788189e88f6410af6bd58df2341202b93e241e b/fuzz/corpus/f4788189e88f6410af6bd58df2341202b93e241e new file mode 100644 index 0000000..19438d7 --- /dev/null +++ b/fuzz/corpus/f4788189e88f6410af6bd58df2341202b93e241e @@ -0,0 +1,9 @@ +// At the time of writing Tupport a boolean +// type, vbut historically th"baz" } + null1 = null + bool1 = true + bool2 = false + splat1 = tuple.*.foo.bar[0] + splat2 = tuple[*].foo.bar[0] + for1 = { for i, v in ["a", "a"resouRce "test_resource" "a" " { + cou# nt =Re \ No newline at end of file diff --git a/fuzz/corpus/f47c73481552ba098dbfdb3a29d399eab5c0989b b/fuzz/corpus/f47c73481552ba098dbfdb3a29d399eab5c0989b deleted file mode 100644 index fd43d07..0000000 Binary files a/fuzz/corpus/f47c73481552ba098dbfdb3a29d399eab5c0989b and /dev/null differ diff --git a/fuzz/corpus/f4a261dc6695f3cc77e3cf602c40d7a74bc7ec3f b/fuzz/corpus/f4a261dc6695f3cc77e3cf602c40d7a74bc7ec3f deleted file mode 100644 index d747a01..0000000 Binary files a/fuzz/corpus/f4a261dc6695f3cc77e3cf602c40d7a74bc7ec3f and /dev/null differ diff --git a/fuzz/corpus/f4d53c17fdf0f91c6d2e135474bed4902ebb56f8 b/fuzz/corpus/f4d53c17fdf0f91c6d2e135474bed4902ebb56f8 new file mode 100644 index 0000000..82acea4 --- /dev/null +++ b/fuzz/corpus/f4d53c17fdf0f91c6d2e135474bed4902ebb56f8 @@ -0,0 +1,7 @@ +resource "aws_instanca" "foo" { + foo = "\>=ar" +} + +outpuj "lue" {# + value = "${aws_instance.d}" +} diff --git a/fuzz/corpus/f52b03657d4370419beb0efde8aa596aa76c112c b/fuzz/corpus/f52b03657d4370419beb0efde8aa596aa76c112c new file mode 100644 index 0000000..7e87c78 Binary files /dev/null and b/fuzz/corpus/f52b03657d4370419beb0efde8aa596aa76c112c differ diff --git a/fuzz/corpus/f52d8df1735642743de1385936b44170d42eaa2b b/fuzz/corpus/f52d8df1735642743de1385936b44170d42eaa2b new file mode 100644 index 0000000..b5bd27b --- /dev/null +++ b/fuzz/corpus/f52d8df1735642743de1385936b44170d42eaa2b @@ -0,0 +1,8 @@ +variable "amap" { + type = -ap(string) +<} + +variaws_instance" "foo" { + tags = "${var.amap}" + meta = "${var.othermap}" +} diff --git a/fuzz/corpus/f578aedb57d0ff8cb56b464204ec0ff8e75a2e97 b/fuzz/corpus/f578aedb57d0ff8cb56b464204ec0ff8e75a2e97 new file mode 100644 index 0000000..e7b17d8 --- /dev/null +++ b/fuzz/corpus/f578aedb57d0ff8cb56b464204ec0ff8e75a2e97 @@ -0,0 +1,51 @@ +resource "aws_computed_source" "intermediates" {} + +module "test_mod" { + source = "./mod" + + services = [ + / { + "exists" = "true" + "elb" = "${awoutput "servers" { + value = aws_instance.server.*.public_ip +} + +output "linux_clients" { + value = aws_i { + value = aws_instance.client_ubuntu_bionic_amd64.*.public_ip +} + +output "windows_clients" { + value = aws_instance.client_windows_2016_amd64.*.public_ip +} + +ou#put "message" { + value = < v } + for6 = [ fo "servers" { + value = aws_instance.server.*.public_ip +} + +output "linux_clients" { + value = aws_instance.client_ubuntu_bionic_amd64.*.public_ip +} + +output "windows_clients" { + value = aws_instance.client_windows_2016_amd64.*.public_ip +} + +output "message" { + value = < i... } - for2 = [ for k, v in var.map : "${k}-${v}" ] - for3 = { for k, v in var.map : k => v } - for4 = [ for v in var.list : v ] - for5 = { for v in var.list : v => v } - for6 = [ for v in var.lis:t v if v < 3 ] - func1 = is_number("123") - cond1 = (1 == 2) ? 1 : "foobar" - bin1 = ((1+2)%3)*4 - esc1 = "\" \t \UFF11FF22 \uFFFF \n" - esc2 = "$${} %%{}" - tpl1 = "prefix-${var.bar}" - tpl2 = "prefix-${func("bar")}" - tpl3 = "prefix-${func("nested-${var.bar}")}" - tpl4 = < #include #include "tree_sitter/api.h" extern "C" const TSLanguage *tree_sitter_hcl(); -static TSQuery *lang_query; - extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { const char *str = reinterpret_cast(data); @@ -22,31 +16,6 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { TSTree *tree = ts_parser_parse_string(parser, NULL, str, size); TSNode root_node = ts_tree_root_node(tree); - if (lang_query) { - { - TSQueryCursor *cursor = ts_query_cursor_new(); - - ts_query_cursor_exec(cursor, lang_query, root_node); - TSQueryMatch match; - while (ts_query_cursor_next_match(cursor, &match)) { - } - - ts_query_cursor_delete(cursor); - } - - { - TSQueryCursor *cursor = ts_query_cursor_new(); - - ts_query_cursor_exec(cursor, lang_query, root_node); - TSQueryMatch match; - uint32_t capture_index; - while (ts_query_cursor_next_capture(cursor, &match, &capture_index)) { - } - - ts_query_cursor_delete(cursor); - } - } - ts_tree_delete(tree); ts_parser_delete(parser); diff --git a/fuzz/gen-dict.py b/fuzz/gen-dict.py index 9d90b61..2c249cd 100644 --- a/fuzz/gen-dict.py +++ b/fuzz/gen-dict.py @@ -30,9 +30,8 @@ def main(): for lit in sorted(literals): if lit: - print '// %s' % lit - print '"%s"' % ''.join(['\\x%02x' % ord(b) for b in lit.encode('utf-8')]) - print + print('"{}"'.format(lit)) if __name__ == '__main__': main() + diff --git a/fuzz/hcl.dict b/fuzz/hcl.dict index d1bff02..d9d3718 100644 --- a/fuzz/hcl.dict +++ b/fuzz/hcl.dict @@ -1,126 +1,45 @@ -// ! "\x21" - -// != "\x21\x3d" - -// # "\x23" - -// % "\x25" - -// && "\x26\x26" - -// ( "\x28" - -// ) "\x29" - -// * "\x2a" - -// + "\x2b" - -// , "\x2c" - -// - "\x2d" - -// . "\x2e" - -// .* "\x2e\x2a" - -// ... "\x2e\x2e\x2e" - -// / "\x2f" - -// /* "\x2f\x2a" - -// // "\x2f\x2f" - -// : "\x3a" - -// < "\x3c" - -// << "\x3c\x3c" - -// <<- "\x3c\x3c\x2d" - -// <= "\x3c\x3d" - -// = "\x3d" - -// == "\x3d\x3d" - -// => "\x3d\x3e" - -// > "\x3e" - -// >= "\x3e\x3d" - -// ? "\x3f" - -// [ "\x5b" - -// [*] "\x5b\x2a\x5d" - -// ] "\x5d" - -// _ "\x5f" - -// false +"\x65\x6e\x64\x66\x6f\x72" "\x66\x61\x6c\x73\x65" - -// for "\x66\x6f\x72" - -// if "\x69\x66" - -// in "\x69\x6e" - -// null "\x6e\x75\x6c\x6c" - -// true "\x74\x72\x75\x65" - -// { "\x7b" - -// || "\x7c\x7c" - -// } "\x7d" - -// ~ "\x7e" - +"${" +"%%{" diff --git a/grammar.js b/grammar.js index 11cb250..b4cc330 100644 --- a/grammar.js +++ b/grammar.js @@ -25,6 +25,8 @@ module.exports = grammar({ $._template_literal_chunk, $.template_interpolation_start, $.template_interpolation_end, + $.template_directive_start, + $.template_directive_end, $.heredoc_identifier, ], @@ -267,24 +269,22 @@ module.exports = grammar({ $.heredoc_template, ), + _template: $ => prec.left(repeat1(choice( + $.template_literal, + $.template_interpolation, + $.template_directive, + ))), + quoted_template: $ => prec(PREC.quoted_template, seq( $.quoted_template_start, - optional(repeat(choice( - $.template_literal, - $.template_interpolation, - //$.template_directive, - ))), + optional($._template), $.quoted_template_end, )), heredoc_template: $ => seq( $.heredoc_start, $.heredoc_identifier, - optional(repeat(choice( - $.template_literal, - $.template_interpolation, - //$.template_directive, - ))), + optional($._template), $.heredoc_identifier, ), @@ -305,10 +305,36 @@ module.exports = grammar({ ), // TODO - //template_directive: $ => choice( - //$.template_for, + template_directive: $ => choice( + $.template_for, //$.template_if, - //), + ), + + template_for: $ => seq( + $.template_for_start, + optional($._template), + $.template_for_end, + ), + + template_for_start: $ => seq( + $.template_directive_start, + optional($.strip_marker), + "for", + $.identifier, + optional(seq(",", $.identifier)), + "in", + $.expression, + optional($.strip_marker), + $.template_directive_end + ), + + template_for_end: $ => seq( + $.template_directive_start, + optional($.strip_marker), + "endfor", + optional($.strip_marker), + $.template_directive_end + ), // http://stackoverflow.com/questions/13014947/regex-to-match-a-c-style-multiline-comment/36328890#36328890 comment: $ => token(choice( diff --git a/src/grammar.json b/src/grammar.json index ded7756..81a36f8 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -1179,6 +1179,30 @@ } ] }, + "_template": { + "type": "PREC_LEFT", + "value": 0, + "content": { + "type": "REPEAT1", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "template_literal" + }, + { + "type": "SYMBOL", + "name": "template_interpolation" + }, + { + "type": "SYMBOL", + "name": "template_directive" + } + ] + } + } + }, "quoted_template": { "type": "PREC", "value": 1, @@ -1193,20 +1217,8 @@ "type": "CHOICE", "members": [ { - "type": "REPEAT", - "content": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "template_literal" - }, - { - "type": "SYMBOL", - "name": "template_interpolation" - } - ] - } + "type": "SYMBOL", + "name": "_template" }, { "type": "BLANK" @@ -1235,20 +1247,8 @@ "type": "CHOICE", "members": [ { - "type": "REPEAT", - "content": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "template_literal" - }, - { - "type": "SYMBOL", - "name": "template_interpolation" - } - ] - } + "type": "SYMBOL", + "name": "_template" }, { "type": "BLANK" @@ -1338,6 +1338,155 @@ } ] }, + "template_directive": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "template_for" + } + ] + }, + "template_for": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "template_for_start" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_template" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "template_for_end" + } + ] + }, + "template_for_start": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "template_directive_start" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "strip_marker" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "for" + }, + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "in" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "strip_marker" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "template_directive_end" + } + ] + }, + "template_for_end": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "template_directive_start" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "strip_marker" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "endfor" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "strip_marker" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "template_directive_end" + } + ] + }, "comment": { "type": "TOKEN", "content": { @@ -1430,6 +1579,14 @@ "type": "SYMBOL", "name": "template_interpolation_end" }, + { + "type": "SYMBOL", + "name": "template_directive_start" + }, + { + "type": "SYMBOL", + "name": "template_directive_end" + }, { "type": "SYMBOL", "name": "heredoc_identifier" diff --git a/src/node-types.json b/src/node-types.json index 7a47ca4..eeaf827 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -481,6 +481,10 @@ "type": "heredoc_start", "named": true }, + { + "type": "template_directive", + "named": true + }, { "type": "template_interpolation", "named": true @@ -657,6 +661,10 @@ "type": "quoted_template_start", "named": true }, + { + "type": "template_directive", + "named": true + }, { "type": "template_interpolation", "named": true @@ -710,6 +718,21 @@ ] } }, + { + "type": "template_directive", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "template_for", + "named": true + } + ] + } + }, { "type": "template_expr", "named": true, @@ -729,6 +752,91 @@ ] } }, + { + "type": "template_for", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "template_directive", + "named": true + }, + { + "type": "template_for_end", + "named": true + }, + { + "type": "template_for_start", + "named": true + }, + { + "type": "template_interpolation", + "named": true + }, + { + "type": "template_literal", + "named": true + } + ] + } + }, + { + "type": "template_for_end", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "strip_marker", + "named": true + }, + { + "type": "template_directive_end", + "named": true + }, + { + "type": "template_directive_start", + "named": true + } + ] + } + }, + { + "type": "template_for_start", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "strip_marker", + "named": true + }, + { + "type": "template_directive_end", + "named": true + }, + { + "type": "template_directive_start", + "named": true + } + ] + } + }, { "type": "template_interpolation", "named": true, @@ -980,6 +1088,10 @@ "type": "ellipsis", "named": true }, + { + "type": "endfor", + "named": false + }, { "type": "false", "named": false @@ -1020,6 +1132,14 @@ "type": "strip_marker", "named": true }, + { + "type": "template_directive_end", + "named": true + }, + { + "type": "template_directive_start", + "named": true + }, { "type": "template_interpolation_end", "named": true diff --git a/src/parser.c b/src/parser.c index 397e3c3..bdafb04 100644 --- a/src/parser.c +++ b/src/parser.c @@ -6,14 +6,14 @@ #endif #define LANGUAGE_VERSION 13 -#define STATE_COUNT 431 +#define STATE_COUNT 607 #define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 108 +#define SYMBOL_COUNT 116 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 51 -#define EXTERNAL_TOKEN_COUNT 6 +#define TOKEN_COUNT 54 +#define EXTERNAL_TOKEN_COUNT 8 #define FIELD_COUNT 2 -#define MAX_ALIAS_SEQUENCE_LENGTH 8 +#define MAX_ALIAS_SEQUENCE_LENGTH 10 #define PRODUCTION_ID_COUNT 2 enum { @@ -59,71 +59,79 @@ enum { anon_sym_LT_LT = 40, anon_sym_LT_LT_DASH = 41, sym_strip_marker = 42, - sym_comment = 43, - sym__whitespace = 44, - sym_quoted_template_start = 45, - sym_quoted_template_end = 46, - sym__template_literal_chunk = 47, - sym_template_interpolation_start = 48, - sym_template_interpolation_end = 49, - sym_heredoc_identifier = 50, - sym_config_file = 51, - sym_body = 52, - sym_attribute = 53, - sym_block = 54, - sym_block_start = 55, - sym_block_end = 56, - sym_expression = 57, - sym__expr_term = 58, - sym_literal_value = 59, - sym_numeric_lit = 60, - sym_bool_lit = 61, - sym_string_lit = 62, - sym_collection_value = 63, - sym__comma = 64, - sym_tuple = 65, - sym_tuple_start = 66, - sym_tuple_end = 67, - sym__tuple_elems = 68, - sym_object = 69, - sym_object_start = 70, - sym_object_end = 71, - sym__object_elems = 72, - sym_object_elem = 73, - sym_index = 74, - sym_new_index = 75, - sym_legacy_index = 76, - sym_get_attr = 77, - sym_splat = 78, - sym_attr_splat = 79, - sym_full_splat = 80, - sym_for_expr = 81, - sym_for_tuple_expr = 82, - sym_for_object_expr = 83, - sym_for_intro = 84, - sym_for_cond = 85, - sym_variable_expr = 86, - sym_function_call = 87, - sym__function_call_start = 88, - sym__function_call_end = 89, - sym_function_arguments = 90, - sym_conditional = 91, - sym_operation = 92, - sym_unary_operation = 93, - sym_binary_operation = 94, - sym_template_expr = 95, - sym_quoted_template = 96, - sym_heredoc_template = 97, - sym_heredoc_start = 98, - sym_template_literal = 99, - sym_template_interpolation = 100, - aux_sym_body_repeat1 = 101, - aux_sym_block_repeat1 = 102, - aux_sym__tuple_elems_repeat1 = 103, - aux_sym__object_elems_repeat1 = 104, - aux_sym_attr_splat_repeat1 = 105, - aux_sym_quoted_template_repeat1 = 106, - aux_sym_template_literal_repeat1 = 107, + anon_sym_endfor = 43, + sym_comment = 44, + sym__whitespace = 45, + sym_quoted_template_start = 46, + sym_quoted_template_end = 47, + sym__template_literal_chunk = 48, + sym_template_interpolation_start = 49, + sym_template_interpolation_end = 50, + sym_template_directive_start = 51, + sym_template_directive_end = 52, + sym_heredoc_identifier = 53, + sym_config_file = 54, + sym_body = 55, + sym_attribute = 56, + sym_block = 57, + sym_block_start = 58, + sym_block_end = 59, + sym_expression = 60, + sym__expr_term = 61, + sym_literal_value = 62, + sym_numeric_lit = 63, + sym_bool_lit = 64, + sym_string_lit = 65, + sym_collection_value = 66, + sym__comma = 67, + sym_tuple = 68, + sym_tuple_start = 69, + sym_tuple_end = 70, + sym__tuple_elems = 71, + sym_object = 72, + sym_object_start = 73, + sym_object_end = 74, + sym__object_elems = 75, + sym_object_elem = 76, + sym_index = 77, + sym_new_index = 78, + sym_legacy_index = 79, + sym_get_attr = 80, + sym_splat = 81, + sym_attr_splat = 82, + sym_full_splat = 83, + sym_for_expr = 84, + sym_for_tuple_expr = 85, + sym_for_object_expr = 86, + sym_for_intro = 87, + sym_for_cond = 88, + sym_variable_expr = 89, + sym_function_call = 90, + sym__function_call_start = 91, + sym__function_call_end = 92, + sym_function_arguments = 93, + sym_conditional = 94, + sym_operation = 95, + sym_unary_operation = 96, + sym_binary_operation = 97, + sym_template_expr = 98, + sym__template = 99, + sym_quoted_template = 100, + sym_heredoc_template = 101, + sym_heredoc_start = 102, + sym_template_literal = 103, + sym_template_interpolation = 104, + sym_template_directive = 105, + sym_template_for = 106, + sym_template_for_start = 107, + sym_template_for_end = 108, + aux_sym_body_repeat1 = 109, + aux_sym_block_repeat1 = 110, + aux_sym__tuple_elems_repeat1 = 111, + aux_sym__object_elems_repeat1 = 112, + aux_sym_attr_splat_repeat1 = 113, + aux_sym__template_repeat1 = 114, + aux_sym_template_literal_repeat1 = 115, }; static const char * const ts_symbol_names[] = { @@ -170,6 +178,7 @@ static const char * const ts_symbol_names[] = { [anon_sym_LT_LT] = "<<", [anon_sym_LT_LT_DASH] = "<<-", [sym_strip_marker] = "strip_marker", + [anon_sym_endfor] = "endfor", [sym_comment] = "comment", [sym__whitespace] = "_whitespace", [sym_quoted_template_start] = "quoted_template_start", @@ -177,6 +186,8 @@ static const char * const ts_symbol_names[] = { [sym__template_literal_chunk] = "_template_literal_chunk", [sym_template_interpolation_start] = "template_interpolation_start", [sym_template_interpolation_end] = "template_interpolation_end", + [sym_template_directive_start] = "template_directive_start", + [sym_template_directive_end] = "template_directive_end", [sym_heredoc_identifier] = "heredoc_identifier", [sym_config_file] = "config_file", [sym_body] = "body", @@ -223,17 +234,22 @@ static const char * const ts_symbol_names[] = { [sym_unary_operation] = "unary_operation", [sym_binary_operation] = "binary_operation", [sym_template_expr] = "template_expr", + [sym__template] = "_template", [sym_quoted_template] = "quoted_template", [sym_heredoc_template] = "heredoc_template", [sym_heredoc_start] = "heredoc_start", [sym_template_literal] = "template_literal", [sym_template_interpolation] = "template_interpolation", + [sym_template_directive] = "template_directive", + [sym_template_for] = "template_for", + [sym_template_for_start] = "template_for_start", + [sym_template_for_end] = "template_for_end", [aux_sym_body_repeat1] = "body_repeat1", [aux_sym_block_repeat1] = "block_repeat1", [aux_sym__tuple_elems_repeat1] = "_tuple_elems_repeat1", [aux_sym__object_elems_repeat1] = "_object_elems_repeat1", [aux_sym_attr_splat_repeat1] = "attr_splat_repeat1", - [aux_sym_quoted_template_repeat1] = "quoted_template_repeat1", + [aux_sym__template_repeat1] = "_template_repeat1", [aux_sym_template_literal_repeat1] = "template_literal_repeat1", }; @@ -281,6 +297,7 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_LT_LT] = anon_sym_LT_LT, [anon_sym_LT_LT_DASH] = anon_sym_LT_LT_DASH, [sym_strip_marker] = sym_strip_marker, + [anon_sym_endfor] = anon_sym_endfor, [sym_comment] = sym_comment, [sym__whitespace] = sym__whitespace, [sym_quoted_template_start] = sym_quoted_template_start, @@ -288,6 +305,8 @@ static const TSSymbol ts_symbol_map[] = { [sym__template_literal_chunk] = sym__template_literal_chunk, [sym_template_interpolation_start] = sym_template_interpolation_start, [sym_template_interpolation_end] = sym_template_interpolation_end, + [sym_template_directive_start] = sym_template_directive_start, + [sym_template_directive_end] = sym_template_directive_end, [sym_heredoc_identifier] = sym_heredoc_identifier, [sym_config_file] = sym_config_file, [sym_body] = sym_body, @@ -334,17 +353,22 @@ static const TSSymbol ts_symbol_map[] = { [sym_unary_operation] = sym_unary_operation, [sym_binary_operation] = sym_binary_operation, [sym_template_expr] = sym_template_expr, + [sym__template] = sym__template, [sym_quoted_template] = sym_quoted_template, [sym_heredoc_template] = sym_heredoc_template, [sym_heredoc_start] = sym_heredoc_start, [sym_template_literal] = sym_template_literal, [sym_template_interpolation] = sym_template_interpolation, + [sym_template_directive] = sym_template_directive, + [sym_template_for] = sym_template_for, + [sym_template_for_start] = sym_template_for_start, + [sym_template_for_end] = sym_template_for_end, [aux_sym_body_repeat1] = aux_sym_body_repeat1, [aux_sym_block_repeat1] = aux_sym_block_repeat1, [aux_sym__tuple_elems_repeat1] = aux_sym__tuple_elems_repeat1, [aux_sym__object_elems_repeat1] = aux_sym__object_elems_repeat1, [aux_sym_attr_splat_repeat1] = aux_sym_attr_splat_repeat1, - [aux_sym_quoted_template_repeat1] = aux_sym_quoted_template_repeat1, + [aux_sym__template_repeat1] = aux_sym__template_repeat1, [aux_sym_template_literal_repeat1] = aux_sym_template_literal_repeat1, }; @@ -521,6 +545,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [anon_sym_endfor] = { + .visible = true, + .named = false, + }, [sym_comment] = { .visible = true, .named = true, @@ -549,6 +577,14 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_template_directive_start] = { + .visible = true, + .named = true, + }, + [sym_template_directive_end] = { + .visible = true, + .named = true, + }, [sym_heredoc_identifier] = { .visible = true, .named = true, @@ -733,6 +769,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym__template] = { + .visible = false, + .named = true, + }, [sym_quoted_template] = { .visible = true, .named = true, @@ -753,6 +793,22 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_template_directive] = { + .visible = true, + .named = true, + }, + [sym_template_for] = { + .visible = true, + .named = true, + }, + [sym_template_for_start] = { + .visible = true, + .named = true, + }, + [sym_template_for_end] = { + .visible = true, + .named = true, + }, [aux_sym_body_repeat1] = { .visible = false, .named = false, @@ -773,7 +829,7 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, - [aux_sym_quoted_template_repeat1] = { + [aux_sym__template_repeat1] = { .visible = false, .named = false, }, @@ -9943,145 +9999,146 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(34); - if (lookahead == '!') ADVANCE(84); - if (lookahead == '#') ADVANCE(102); - if (lookahead == '%') ADVANCE(87); + if (eof) ADVANCE(39); + if (lookahead == '!') ADVANCE(89); + if (lookahead == '#') ADVANCE(108); + if (lookahead == '%') ADVANCE(92); if (lookahead == '&') ADVANCE(5); - if (lookahead == '(') ADVANCE(52); - if (lookahead == ')') ADVANCE(53); - if (lookahead == '*') ADVANCE(85); - if (lookahead == '+') ADVANCE(88); - if (lookahead == ',') ADVANCE(65); - if (lookahead == '-') ADVANCE(82); - if (lookahead == '.') ADVANCE(71); - if (lookahead == '/') ADVANCE(86); - if (lookahead == ':') ADVANCE(69); - if (lookahead == '<') ADVANCE(91); - if (lookahead == '=') ADVANCE(36); - if (lookahead == '>') ADVANCE(89); - if (lookahead == '?') ADVANCE(81); - if (lookahead == '[') ADVANCE(67); - if (lookahead == ']') ADVANCE(68); + if (lookahead == '(') ADVANCE(57); + if (lookahead == ')') ADVANCE(58); + if (lookahead == '*') ADVANCE(90); + if (lookahead == '+') ADVANCE(93); + if (lookahead == ',') ADVANCE(70); + if (lookahead == '-') ADVANCE(87); + if (lookahead == '.') ADVANCE(76); + if (lookahead == '/') ADVANCE(91); + if (lookahead == ':') ADVANCE(74); + if (lookahead == '<') ADVANCE(96); + if (lookahead == '=') ADVANCE(41); + if (lookahead == '>') ADVANCE(94); + if (lookahead == '?') ADVANCE(86); + if (lookahead == '[') ADVANCE(72); + if (lookahead == ']') ADVANCE(73); + if (lookahead == 'e') ADVANCE(25); if (lookahead == 'f') ADVANCE(15); - if (lookahead == 'i') ADVANCE(19); - if (lookahead == 'n') ADVANCE(27); - if (lookahead == 't') ADVANCE(24); - if (lookahead == '{') ADVANCE(37); - if (lookahead == '|') ADVANCE(28); - if (lookahead == '}') ADVANCE(38); - if (lookahead == '~') ADVANCE(100); + if (lookahead == 'i') ADVANCE(20); + if (lookahead == 'n') ADVANCE(32); + if (lookahead == 't') ADVANCE(29); + if (lookahead == '{') ADVANCE(42); + if (lookahead == '|') ADVANCE(33); + if (lookahead == '}') ADVANCE(43); + if (lookahead == '~') ADVANCE(105); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') ADVANCE(103); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(55); + lookahead == ' ') ADVANCE(109); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(60); END_STATE(); case 1: - if (lookahead == '!') ADVANCE(84); - if (lookahead == '#') ADVANCE(102); - if (lookahead == '%') ADVANCE(87); + if (lookahead == '!') ADVANCE(89); + if (lookahead == '#') ADVANCE(108); + if (lookahead == '%') ADVANCE(92); if (lookahead == '&') ADVANCE(5); - if (lookahead == '(') ADVANCE(52); - if (lookahead == ')') ADVANCE(53); - if (lookahead == '*') ADVANCE(85); - if (lookahead == '+') ADVANCE(88); - if (lookahead == ',') ADVANCE(65); - if (lookahead == '-') ADVANCE(82); - if (lookahead == '.') ADVANCE(70); - if (lookahead == '/') ADVANCE(86); - if (lookahead == '0') ADVANCE(54); - if (lookahead == '<') ADVANCE(91); + if (lookahead == '(') ADVANCE(57); + if (lookahead == ')') ADVANCE(58); + if (lookahead == '*') ADVANCE(90); + if (lookahead == '+') ADVANCE(93); + if (lookahead == ',') ADVANCE(70); + if (lookahead == '-') ADVANCE(87); + if (lookahead == '.') ADVANCE(75); + if (lookahead == '/') ADVANCE(91); + if (lookahead == '0') ADVANCE(59); + if (lookahead == '<') ADVANCE(96); if (lookahead == '=') ADVANCE(13); - if (lookahead == '>') ADVANCE(89); - if (lookahead == '?') ADVANCE(81); - if (lookahead == '[') ADVANCE(67); - if (lookahead == ']') ADVANCE(68); - if (sym_identifier_character_set_1(lookahead)) ADVANCE(51); - if (lookahead == 'f') ADVANCE(50); - if (lookahead == 'n') ADVANCE(49); - if (lookahead == 't') ADVANCE(46); - if (lookahead == '{') ADVANCE(37); - if (lookahead == '|') ADVANCE(28); - if (lookahead == '}') ADVANCE(38); - if (lookahead == '~') ADVANCE(100); + if (lookahead == '>') ADVANCE(94); + if (lookahead == '?') ADVANCE(86); + if (lookahead == '[') ADVANCE(72); + if (lookahead == ']') ADVANCE(73); + if (sym_identifier_character_set_1(lookahead)) ADVANCE(56); + if (lookahead == 'f') ADVANCE(55); + if (lookahead == 'n') ADVANCE(54); + if (lookahead == 't') ADVANCE(51); + if (lookahead == '{') ADVANCE(42); + if (lookahead == '|') ADVANCE(33); + if (lookahead == '}') ADVANCE(43); + if (lookahead == '~') ADVANCE(105); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') ADVANCE(103); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(55); + lookahead == ' ') ADVANCE(109); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(60); END_STATE(); case 2: if (lookahead == '!') ADVANCE(11); - if (lookahead == '#') ADVANCE(102); - if (lookahead == '%') ADVANCE(87); + if (lookahead == '#') ADVANCE(108); + if (lookahead == '%') ADVANCE(92); if (lookahead == '&') ADVANCE(5); - if (lookahead == '(') ADVANCE(52); - if (lookahead == '*') ADVANCE(85); - if (lookahead == '+') ADVANCE(88); - if (lookahead == '-') ADVANCE(82); - if (lookahead == '.') ADVANCE(71); - if (lookahead == '/') ADVANCE(86); - if (lookahead == '<') ADVANCE(92); + if (lookahead == '(') ADVANCE(57); + if (lookahead == '*') ADVANCE(90); + if (lookahead == '+') ADVANCE(93); + if (lookahead == '-') ADVANCE(87); + if (lookahead == '.') ADVANCE(76); + if (lookahead == '/') ADVANCE(91); + if (lookahead == '<') ADVANCE(97); if (lookahead == '=') ADVANCE(12); - if (lookahead == '>') ADVANCE(89); - if (lookahead == '?') ADVANCE(81); - if (lookahead == '[') ADVANCE(67); - if (lookahead == ']') ADVANCE(68); - if (lookahead == 'i') ADVANCE(18); - if (lookahead == '|') ADVANCE(28); - if (lookahead == '}') ADVANCE(38); + if (lookahead == '>') ADVANCE(94); + if (lookahead == '?') ADVANCE(86); + if (lookahead == '[') ADVANCE(72); + if (lookahead == ']') ADVANCE(73); + if (lookahead == 'i') ADVANCE(19); + if (lookahead == '|') ADVANCE(33); + if (lookahead == '}') ADVANCE(43); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') ADVANCE(103); + lookahead == ' ') ADVANCE(109); END_STATE(); case 3: - if (lookahead == '!') ADVANCE(83); - if (lookahead == '#') ADVANCE(102); - if (lookahead == '(') ADVANCE(52); - if (lookahead == '-') ADVANCE(82); + if (lookahead == '!') ADVANCE(88); + if (lookahead == '#') ADVANCE(108); + if (lookahead == '(') ADVANCE(57); + if (lookahead == '-') ADVANCE(87); if (lookahead == '/') ADVANCE(6); - if (lookahead == '0') ADVANCE(54); - if (lookahead == ':') ADVANCE(69); + if (lookahead == '0') ADVANCE(59); + if (lookahead == ':') ADVANCE(74); if (lookahead == '<') ADVANCE(10); - if (lookahead == '=') ADVANCE(35); - if (lookahead == '?') ADVANCE(81); - if (lookahead == '[') ADVANCE(66); - if (lookahead == ']') ADVANCE(68); - if (sym_identifier_character_set_1(lookahead)) ADVANCE(51); - if (lookahead == 'f') ADVANCE(39); - if (lookahead == 'n') ADVANCE(49); - if (lookahead == 't') ADVANCE(46); - if (lookahead == '{') ADVANCE(37); - if (lookahead == '}') ADVANCE(38); + if (lookahead == '=') ADVANCE(40); + if (lookahead == '?') ADVANCE(86); + if (lookahead == '[') ADVANCE(71); + if (lookahead == ']') ADVANCE(73); + if (sym_identifier_character_set_1(lookahead)) ADVANCE(56); + if (lookahead == 'f') ADVANCE(44); + if (lookahead == 'n') ADVANCE(54); + if (lookahead == 't') ADVANCE(51); + if (lookahead == '{') ADVANCE(42); + if (lookahead == '}') ADVANCE(43); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') ADVANCE(103); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(55); + lookahead == ' ') ADVANCE(109); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(60); END_STATE(); case 4: - if (lookahead == '#') ADVANCE(102); + if (lookahead == '#') ADVANCE(108); if (lookahead == '/') ADVANCE(6); - if (lookahead == '=') ADVANCE(35); - if (sym_identifier_character_set_2(lookahead)) ADVANCE(51); - if (lookahead == '{') ADVANCE(37); + if (lookahead == '=') ADVANCE(40); + if (sym_identifier_character_set_2(lookahead)) ADVANCE(56); + if (lookahead == '{') ADVANCE(42); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') ADVANCE(103); + lookahead == ' ') ADVANCE(109); END_STATE(); case 5: - if (lookahead == '&') ADVANCE(96); + if (lookahead == '&') ADVANCE(101); END_STATE(); case 6: if (lookahead == '*') ADVANCE(8); - if (lookahead == '/') ADVANCE(102); + if (lookahead == '/') ADVANCE(108); END_STATE(); case 7: if (lookahead == '*') ADVANCE(7); - if (lookahead == '/') ADVANCE(101); + if (lookahead == '/') ADVANCE(107); if (lookahead != 0) ADVANCE(8); END_STATE(); case 8: @@ -10089,383 +10146,401 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead != 0) ADVANCE(8); END_STATE(); case 9: - if (lookahead == '.') ADVANCE(80); + if (lookahead == '.') ADVANCE(85); END_STATE(); case 10: - if (lookahead == '<') ADVANCE(98); + if (lookahead == '<') ADVANCE(103); END_STATE(); case 11: - if (lookahead == '=') ADVANCE(95); + if (lookahead == '=') ADVANCE(100); END_STATE(); case 12: - if (lookahead == '=') ADVANCE(94); + if (lookahead == '=') ADVANCE(99); END_STATE(); case 13: - if (lookahead == '=') ADVANCE(94); - if (lookahead == '>') ADVANCE(75); + if (lookahead == '=') ADVANCE(99); + if (lookahead == '>') ADVANCE(80); END_STATE(); case 14: - if (lookahead == ']') ADVANCE(74); + if (lookahead == ']') ADVANCE(79); END_STATE(); case 15: - if (lookahead == 'a') ADVANCE(20); - if (lookahead == 'o') ADVANCE(23); + if (lookahead == 'a') ADVANCE(22); + if (lookahead == 'o') ADVANCE(27); END_STATE(); case 16: - if (lookahead == 'e') ADVANCE(59); + if (lookahead == 'd') ADVANCE(21); END_STATE(); case 17: - if (lookahead == 'e') ADVANCE(61); + if (lookahead == 'e') ADVANCE(64); END_STATE(); case 18: - if (lookahead == 'f') ADVANCE(79); + if (lookahead == 'e') ADVANCE(66); END_STATE(); case 19: - if (lookahead == 'f') ADVANCE(79); - if (lookahead == 'n') ADVANCE(78); + if (lookahead == 'f') ADVANCE(84); END_STATE(); case 20: - if (lookahead == 'l') ADVANCE(25); + if (lookahead == 'f') ADVANCE(84); + if (lookahead == 'n') ADVANCE(83); END_STATE(); case 21: - if (lookahead == 'l') ADVANCE(63); + if (lookahead == 'f') ADVANCE(26); END_STATE(); case 22: - if (lookahead == 'l') ADVANCE(21); + if (lookahead == 'l') ADVANCE(30); END_STATE(); case 23: - if (lookahead == 'r') ADVANCE(76); + if (lookahead == 'l') ADVANCE(68); END_STATE(); case 24: - if (lookahead == 'r') ADVANCE(26); + if (lookahead == 'l') ADVANCE(23); END_STATE(); case 25: - if (lookahead == 's') ADVANCE(17); + if (lookahead == 'n') ADVANCE(16); END_STATE(); case 26: - if (lookahead == 'u') ADVANCE(16); + if (lookahead == 'o') ADVANCE(28); END_STATE(); case 27: - if (lookahead == 'u') ADVANCE(22); + if (lookahead == 'r') ADVANCE(81); END_STATE(); case 28: - if (lookahead == '|') ADVANCE(97); + if (lookahead == 'r') ADVANCE(106); END_STATE(); case 29: - if (lookahead == '+' || - lookahead == '-') ADVANCE(31); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(57); + if (lookahead == 'r') ADVANCE(31); END_STATE(); case 30: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(56); + if (lookahead == 's') ADVANCE(18); END_STATE(); case 31: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(57); + if (lookahead == 'u') ADVANCE(17); END_STATE(); case 32: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(58); + if (lookahead == 'u') ADVANCE(24); END_STATE(); case 33: - if (eof) ADVANCE(34); + if (lookahead == '|') ADVANCE(102); + END_STATE(); + case 34: + if (lookahead == '+' || + lookahead == '-') ADVANCE(36); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(62); + END_STATE(); + case 35: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(61); + END_STATE(); + case 36: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(62); + END_STATE(); + case 37: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(63); + END_STATE(); + case 38: + if (eof) ADVANCE(39); if (lookahead == '!') ADVANCE(11); - if (lookahead == '#') ADVANCE(102); - if (lookahead == '%') ADVANCE(87); + if (lookahead == '#') ADVANCE(108); + if (lookahead == '%') ADVANCE(92); if (lookahead == '&') ADVANCE(5); - if (lookahead == '(') ADVANCE(52); - if (lookahead == ')') ADVANCE(53); - if (lookahead == '*') ADVANCE(85); - if (lookahead == '+') ADVANCE(88); - if (lookahead == ',') ADVANCE(65); - if (lookahead == '-') ADVANCE(82); - if (lookahead == '.') ADVANCE(71); - if (lookahead == '/') ADVANCE(86); - if (lookahead == ':') ADVANCE(69); - if (lookahead == '<') ADVANCE(92); - if (lookahead == '=') ADVANCE(36); - if (lookahead == '>') ADVANCE(89); - if (lookahead == '?') ADVANCE(81); - if (lookahead == '[') ADVANCE(67); - if (lookahead == ']') ADVANCE(68); - if (sym_identifier_character_set_2(lookahead)) ADVANCE(51); - if (lookahead == '{') ADVANCE(37); - if (lookahead == '|') ADVANCE(28); - if (lookahead == '}') ADVANCE(38); - if (lookahead == '~') ADVANCE(100); + if (lookahead == '(') ADVANCE(57); + if (lookahead == ')') ADVANCE(58); + if (lookahead == '*') ADVANCE(90); + if (lookahead == '+') ADVANCE(93); + if (lookahead == ',') ADVANCE(70); + if (lookahead == '-') ADVANCE(87); + if (lookahead == '.') ADVANCE(76); + if (lookahead == '/') ADVANCE(91); + if (lookahead == ':') ADVANCE(74); + if (lookahead == '<') ADVANCE(97); + if (lookahead == '=') ADVANCE(41); + if (lookahead == '>') ADVANCE(94); + if (lookahead == '?') ADVANCE(86); + if (lookahead == '[') ADVANCE(72); + if (lookahead == ']') ADVANCE(73); + if (sym_identifier_character_set_2(lookahead)) ADVANCE(56); + if (lookahead == '{') ADVANCE(42); + if (lookahead == '|') ADVANCE(33); + if (lookahead == '}') ADVANCE(43); + if (lookahead == '~') ADVANCE(105); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') ADVANCE(103); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(72); - END_STATE(); - case 34: - ACCEPT_TOKEN(ts_builtin_sym_end); - END_STATE(); - case 35: - ACCEPT_TOKEN(anon_sym_EQ); - END_STATE(); - case 36: - ACCEPT_TOKEN(anon_sym_EQ); - if (lookahead == '=') ADVANCE(94); - if (lookahead == '>') ADVANCE(75); - END_STATE(); - case 37: - ACCEPT_TOKEN(anon_sym_LBRACE); - END_STATE(); - case 38: - ACCEPT_TOKEN(anon_sym_RBRACE); + lookahead == ' ') ADVANCE(109); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(77); END_STATE(); case 39: - ACCEPT_TOKEN(sym_identifier); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(51); - if (lookahead == 'a') ADVANCE(42); - if (lookahead == 'o') ADVANCE(45); + ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); case 40: - ACCEPT_TOKEN(sym_identifier); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(51); - if (lookahead == 'e') ADVANCE(60); + ACCEPT_TOKEN(anon_sym_EQ); END_STATE(); case 41: - ACCEPT_TOKEN(sym_identifier); - if (sym_identifier_character_set_4(lookahead)) ADVANCE(51); - if (lookahead == 'e') ADVANCE(62); + ACCEPT_TOKEN(anon_sym_EQ); + if (lookahead == '=') ADVANCE(99); + if (lookahead == '>') ADVANCE(80); END_STATE(); case 42: - ACCEPT_TOKEN(sym_identifier); - if (sym_identifier_character_set_5(lookahead)) ADVANCE(51); - if (lookahead == 'l') ADVANCE(47); + ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); case 43: - ACCEPT_TOKEN(sym_identifier); - if (sym_identifier_character_set_5(lookahead)) ADVANCE(51); - if (lookahead == 'l') ADVANCE(64); + ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); case 44: ACCEPT_TOKEN(sym_identifier); - if (sym_identifier_character_set_5(lookahead)) ADVANCE(51); - if (lookahead == 'l') ADVANCE(43); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(56); + if (lookahead == 'a') ADVANCE(47); + if (lookahead == 'o') ADVANCE(50); END_STATE(); case 45: ACCEPT_TOKEN(sym_identifier); - if (sym_identifier_character_set_6(lookahead)) ADVANCE(51); - if (lookahead == 'r') ADVANCE(77); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(56); + if (lookahead == 'e') ADVANCE(65); END_STATE(); case 46: ACCEPT_TOKEN(sym_identifier); - if (sym_identifier_character_set_6(lookahead)) ADVANCE(51); - if (lookahead == 'r') ADVANCE(48); + if (sym_identifier_character_set_4(lookahead)) ADVANCE(56); + if (lookahead == 'e') ADVANCE(67); END_STATE(); case 47: ACCEPT_TOKEN(sym_identifier); - if (sym_identifier_character_set_7(lookahead)) ADVANCE(51); - if (lookahead == 's') ADVANCE(41); + if (sym_identifier_character_set_5(lookahead)) ADVANCE(56); + if (lookahead == 'l') ADVANCE(52); END_STATE(); case 48: ACCEPT_TOKEN(sym_identifier); - if (sym_identifier_character_set_8(lookahead)) ADVANCE(51); - if (lookahead == 'u') ADVANCE(40); + if (sym_identifier_character_set_5(lookahead)) ADVANCE(56); + if (lookahead == 'l') ADVANCE(69); END_STATE(); case 49: ACCEPT_TOKEN(sym_identifier); - if (sym_identifier_character_set_8(lookahead)) ADVANCE(51); - if (lookahead == 'u') ADVANCE(44); + if (sym_identifier_character_set_5(lookahead)) ADVANCE(56); + if (lookahead == 'l') ADVANCE(48); END_STATE(); case 50: ACCEPT_TOKEN(sym_identifier); - if (sym_identifier_character_set_9(lookahead)) ADVANCE(51); - if (lookahead == 'a') ADVANCE(42); + if (sym_identifier_character_set_6(lookahead)) ADVANCE(56); + if (lookahead == 'r') ADVANCE(82); END_STATE(); case 51: ACCEPT_TOKEN(sym_identifier); - if (sym_identifier_character_set_10(lookahead)) ADVANCE(51); + if (sym_identifier_character_set_6(lookahead)) ADVANCE(56); + if (lookahead == 'r') ADVANCE(53); END_STATE(); case 52: - ACCEPT_TOKEN(anon_sym_LPAREN); + ACCEPT_TOKEN(sym_identifier); + if (sym_identifier_character_set_7(lookahead)) ADVANCE(56); + if (lookahead == 's') ADVANCE(46); END_STATE(); case 53: - ACCEPT_TOKEN(anon_sym_RPAREN); + ACCEPT_TOKEN(sym_identifier); + if (sym_identifier_character_set_8(lookahead)) ADVANCE(56); + if (lookahead == 'u') ADVANCE(45); END_STATE(); case 54: - ACCEPT_TOKEN(aux_sym_numeric_lit_token1); - if (lookahead == '.') ADVANCE(30); - if (lookahead == 'x') ADVANCE(32); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(55); + ACCEPT_TOKEN(sym_identifier); + if (sym_identifier_character_set_8(lookahead)) ADVANCE(56); + if (lookahead == 'u') ADVANCE(49); END_STATE(); case 55: - ACCEPT_TOKEN(aux_sym_numeric_lit_token1); - if (lookahead == '.') ADVANCE(30); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(55); + ACCEPT_TOKEN(sym_identifier); + if (sym_identifier_character_set_9(lookahead)) ADVANCE(56); + if (lookahead == 'a') ADVANCE(47); END_STATE(); case 56: - ACCEPT_TOKEN(aux_sym_numeric_lit_token1); - if (lookahead == 'E' || - lookahead == 'e') ADVANCE(29); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(56); + ACCEPT_TOKEN(sym_identifier); + if (sym_identifier_character_set_10(lookahead)) ADVANCE(56); END_STATE(); case 57: - ACCEPT_TOKEN(aux_sym_numeric_lit_token1); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(57); + ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); case 58: + ACCEPT_TOKEN(anon_sym_RPAREN); + END_STATE(); + case 59: + ACCEPT_TOKEN(aux_sym_numeric_lit_token1); + if (lookahead == '.') ADVANCE(35); + if (lookahead == 'x') ADVANCE(37); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(60); + END_STATE(); + case 60: + ACCEPT_TOKEN(aux_sym_numeric_lit_token1); + if (lookahead == '.') ADVANCE(35); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(60); + END_STATE(); + case 61: + ACCEPT_TOKEN(aux_sym_numeric_lit_token1); + if (lookahead == 'E' || + lookahead == 'e') ADVANCE(34); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(61); + END_STATE(); + case 62: + ACCEPT_TOKEN(aux_sym_numeric_lit_token1); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(62); + END_STATE(); + case 63: ACCEPT_TOKEN(aux_sym_numeric_lit_token2); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(58); - END_STATE(); - case 59: - ACCEPT_TOKEN(anon_sym_true); - END_STATE(); - case 60: - ACCEPT_TOKEN(anon_sym_true); - if (sym_identifier_character_set_10(lookahead)) ADVANCE(51); - END_STATE(); - case 61: - ACCEPT_TOKEN(anon_sym_false); - END_STATE(); - case 62: - ACCEPT_TOKEN(anon_sym_false); - if (sym_identifier_character_set_10(lookahead)) ADVANCE(51); - END_STATE(); - case 63: - ACCEPT_TOKEN(sym_null_lit); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(63); END_STATE(); case 64: - ACCEPT_TOKEN(sym_null_lit); - if (sym_identifier_character_set_10(lookahead)) ADVANCE(51); + ACCEPT_TOKEN(anon_sym_true); END_STATE(); case 65: - ACCEPT_TOKEN(anon_sym_COMMA); + ACCEPT_TOKEN(anon_sym_true); + if (sym_identifier_character_set_10(lookahead)) ADVANCE(56); END_STATE(); case 66: - ACCEPT_TOKEN(anon_sym_LBRACK); + ACCEPT_TOKEN(anon_sym_false); END_STATE(); case 67: + ACCEPT_TOKEN(anon_sym_false); + if (sym_identifier_character_set_10(lookahead)) ADVANCE(56); + END_STATE(); + case 68: + ACCEPT_TOKEN(sym_null_lit); + END_STATE(); + case 69: + ACCEPT_TOKEN(sym_null_lit); + if (sym_identifier_character_set_10(lookahead)) ADVANCE(56); + END_STATE(); + case 70: + ACCEPT_TOKEN(anon_sym_COMMA); + END_STATE(); + case 71: + ACCEPT_TOKEN(anon_sym_LBRACK); + END_STATE(); + case 72: ACCEPT_TOKEN(anon_sym_LBRACK); if (lookahead == '*') ADVANCE(14); END_STATE(); - case 68: + case 73: ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); - case 69: + case 74: ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); - case 70: - ACCEPT_TOKEN(anon_sym_DOT); - if (lookahead == '*') ADVANCE(73); - END_STATE(); - case 71: - ACCEPT_TOKEN(anon_sym_DOT); - if (lookahead == '*') ADVANCE(73); - if (lookahead == '.') ADVANCE(9); - END_STATE(); - case 72: - ACCEPT_TOKEN(aux_sym_legacy_index_token1); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(72); - END_STATE(); - case 73: - ACCEPT_TOKEN(anon_sym_DOT_STAR); - END_STATE(); - case 74: - ACCEPT_TOKEN(anon_sym_LBRACK_STAR_RBRACK); - END_STATE(); case 75: - ACCEPT_TOKEN(anon_sym_EQ_GT); + ACCEPT_TOKEN(anon_sym_DOT); + if (lookahead == '*') ADVANCE(78); END_STATE(); case 76: - ACCEPT_TOKEN(anon_sym_for); + ACCEPT_TOKEN(anon_sym_DOT); + if (lookahead == '*') ADVANCE(78); + if (lookahead == '.') ADVANCE(9); END_STATE(); case 77: - ACCEPT_TOKEN(anon_sym_for); - if (sym_identifier_character_set_10(lookahead)) ADVANCE(51); + ACCEPT_TOKEN(aux_sym_legacy_index_token1); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(77); END_STATE(); case 78: - ACCEPT_TOKEN(anon_sym_in); + ACCEPT_TOKEN(anon_sym_DOT_STAR); END_STATE(); case 79: - ACCEPT_TOKEN(anon_sym_if); + ACCEPT_TOKEN(anon_sym_LBRACK_STAR_RBRACK); END_STATE(); case 80: - ACCEPT_TOKEN(sym_ellipsis); + ACCEPT_TOKEN(anon_sym_EQ_GT); END_STATE(); case 81: - ACCEPT_TOKEN(anon_sym_QMARK); + ACCEPT_TOKEN(anon_sym_for); END_STATE(); case 82: - ACCEPT_TOKEN(anon_sym_DASH); + ACCEPT_TOKEN(anon_sym_for); + if (sym_identifier_character_set_10(lookahead)) ADVANCE(56); END_STATE(); case 83: - ACCEPT_TOKEN(anon_sym_BANG); + ACCEPT_TOKEN(anon_sym_in); END_STATE(); case 84: - ACCEPT_TOKEN(anon_sym_BANG); - if (lookahead == '=') ADVANCE(95); + ACCEPT_TOKEN(anon_sym_if); END_STATE(); case 85: - ACCEPT_TOKEN(anon_sym_STAR); + ACCEPT_TOKEN(sym_ellipsis); END_STATE(); case 86: - ACCEPT_TOKEN(anon_sym_SLASH); - if (lookahead == '*') ADVANCE(8); - if (lookahead == '/') ADVANCE(102); + ACCEPT_TOKEN(anon_sym_QMARK); END_STATE(); case 87: - ACCEPT_TOKEN(anon_sym_PERCENT); + ACCEPT_TOKEN(anon_sym_DASH); END_STATE(); case 88: - ACCEPT_TOKEN(anon_sym_PLUS); + ACCEPT_TOKEN(anon_sym_BANG); END_STATE(); case 89: - ACCEPT_TOKEN(anon_sym_GT); - if (lookahead == '=') ADVANCE(90); + ACCEPT_TOKEN(anon_sym_BANG); + if (lookahead == '=') ADVANCE(100); END_STATE(); case 90: - ACCEPT_TOKEN(anon_sym_GT_EQ); + ACCEPT_TOKEN(anon_sym_STAR); END_STATE(); case 91: - ACCEPT_TOKEN(anon_sym_LT); - if (lookahead == '<') ADVANCE(98); - if (lookahead == '=') ADVANCE(93); + ACCEPT_TOKEN(anon_sym_SLASH); + if (lookahead == '*') ADVANCE(8); + if (lookahead == '/') ADVANCE(108); END_STATE(); case 92: - ACCEPT_TOKEN(anon_sym_LT); - if (lookahead == '=') ADVANCE(93); + ACCEPT_TOKEN(anon_sym_PERCENT); END_STATE(); case 93: - ACCEPT_TOKEN(anon_sym_LT_EQ); + ACCEPT_TOKEN(anon_sym_PLUS); END_STATE(); case 94: - ACCEPT_TOKEN(anon_sym_EQ_EQ); + ACCEPT_TOKEN(anon_sym_GT); + if (lookahead == '=') ADVANCE(95); END_STATE(); case 95: - ACCEPT_TOKEN(anon_sym_BANG_EQ); + ACCEPT_TOKEN(anon_sym_GT_EQ); END_STATE(); case 96: - ACCEPT_TOKEN(anon_sym_AMP_AMP); + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '<') ADVANCE(103); + if (lookahead == '=') ADVANCE(98); END_STATE(); case 97: - ACCEPT_TOKEN(anon_sym_PIPE_PIPE); + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '=') ADVANCE(98); END_STATE(); case 98: - ACCEPT_TOKEN(anon_sym_LT_LT); - if (lookahead == '-') ADVANCE(99); + ACCEPT_TOKEN(anon_sym_LT_EQ); END_STATE(); case 99: - ACCEPT_TOKEN(anon_sym_LT_LT_DASH); + ACCEPT_TOKEN(anon_sym_EQ_EQ); END_STATE(); case 100: - ACCEPT_TOKEN(sym_strip_marker); + ACCEPT_TOKEN(anon_sym_BANG_EQ); END_STATE(); case 101: - ACCEPT_TOKEN(sym_comment); + ACCEPT_TOKEN(anon_sym_AMP_AMP); END_STATE(); case 102: - ACCEPT_TOKEN(sym_comment); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(102); + ACCEPT_TOKEN(anon_sym_PIPE_PIPE); END_STATE(); case 103: + ACCEPT_TOKEN(anon_sym_LT_LT); + if (lookahead == '-') ADVANCE(104); + END_STATE(); + case 104: + ACCEPT_TOKEN(anon_sym_LT_LT_DASH); + END_STATE(); + case 105: + ACCEPT_TOKEN(sym_strip_marker); + END_STATE(); + case 106: + ACCEPT_TOKEN(anon_sym_endfor); + END_STATE(); + case 107: + ACCEPT_TOKEN(sym_comment); + END_STATE(); + case 108: + ACCEPT_TOKEN(sym_comment); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(108); + END_STATE(); + case 109: ACCEPT_TOKEN(sym__whitespace); END_STATE(); default: @@ -10475,34 +10550,34 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { static const TSLexMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0, .external_lex_state = 1}, - [1] = {.lex_state = 33}, + [1] = {.lex_state = 38}, [2] = {.lex_state = 3, .external_lex_state = 2}, [3] = {.lex_state = 3, .external_lex_state = 2}, [4] = {.lex_state = 3, .external_lex_state = 2}, [5] = {.lex_state = 3, .external_lex_state = 2}, [6] = {.lex_state = 3, .external_lex_state = 2}, [7] = {.lex_state = 3, .external_lex_state = 2}, - [8] = {.lex_state = 1, .external_lex_state = 2}, + [8] = {.lex_state = 3, .external_lex_state = 2}, [9] = {.lex_state = 1, .external_lex_state = 2}, - [10] = {.lex_state = 3, .external_lex_state = 2}, + [10] = {.lex_state = 1, .external_lex_state = 2}, [11] = {.lex_state = 3, .external_lex_state = 2}, [12] = {.lex_state = 1, .external_lex_state = 2}, - [13] = {.lex_state = 1, .external_lex_state = 2}, - [14] = {.lex_state = 1, .external_lex_state = 2}, + [13] = {.lex_state = 3, .external_lex_state = 2}, + [14] = {.lex_state = 3, .external_lex_state = 2}, [15] = {.lex_state = 1, .external_lex_state = 2}, [16] = {.lex_state = 1, .external_lex_state = 2}, [17] = {.lex_state = 1, .external_lex_state = 2}, [18] = {.lex_state = 1, .external_lex_state = 2}, - [19] = {.lex_state = 1, .external_lex_state = 3}, + [19] = {.lex_state = 1, .external_lex_state = 2}, [20] = {.lex_state = 1, .external_lex_state = 2}, [21] = {.lex_state = 1, .external_lex_state = 3}, [22] = {.lex_state = 1, .external_lex_state = 3}, - [23] = {.lex_state = 1, .external_lex_state = 3}, - [24] = {.lex_state = 1, .external_lex_state = 2}, - [25] = {.lex_state = 1, .external_lex_state = 2}, - [26] = {.lex_state = 1, .external_lex_state = 2}, + [23] = {.lex_state = 1, .external_lex_state = 2}, + [24] = {.lex_state = 1, .external_lex_state = 3}, + [25] = {.lex_state = 1, .external_lex_state = 3}, + [26] = {.lex_state = 1, .external_lex_state = 3}, [27] = {.lex_state = 1, .external_lex_state = 2}, - [28] = {.lex_state = 1, .external_lex_state = 2}, + [28] = {.lex_state = 1, .external_lex_state = 3}, [29] = {.lex_state = 1, .external_lex_state = 2}, [30] = {.lex_state = 1, .external_lex_state = 2}, [31] = {.lex_state = 1, .external_lex_state = 2}, @@ -10576,20 +10651,20 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [99] = {.lex_state = 1, .external_lex_state = 2}, [100] = {.lex_state = 1, .external_lex_state = 2}, [101] = {.lex_state = 1, .external_lex_state = 2}, - [102] = {.lex_state = 33}, - [103] = {.lex_state = 33}, - [104] = {.lex_state = 33}, - [105] = {.lex_state = 33}, - [106] = {.lex_state = 33}, - [107] = {.lex_state = 33}, - [108] = {.lex_state = 33}, - [109] = {.lex_state = 33}, - [110] = {.lex_state = 33}, - [111] = {.lex_state = 33}, - [112] = {.lex_state = 33}, + [102] = {.lex_state = 1, .external_lex_state = 2}, + [103] = {.lex_state = 1, .external_lex_state = 2}, + [104] = {.lex_state = 1, .external_lex_state = 2}, + [105] = {.lex_state = 1, .external_lex_state = 2}, + [106] = {.lex_state = 1, .external_lex_state = 2}, + [107] = {.lex_state = 1, .external_lex_state = 2}, + [108] = {.lex_state = 1, .external_lex_state = 2}, + [109] = {.lex_state = 1, .external_lex_state = 2}, + [110] = {.lex_state = 1, .external_lex_state = 2}, + [111] = {.lex_state = 1, .external_lex_state = 2}, + [112] = {.lex_state = 1, .external_lex_state = 2}, [113] = {.lex_state = 1, .external_lex_state = 2}, - [114] = {.lex_state = 33}, - [115] = {.lex_state = 33}, + [114] = {.lex_state = 1, .external_lex_state = 2}, + [115] = {.lex_state = 1, .external_lex_state = 2}, [116] = {.lex_state = 1, .external_lex_state = 2}, [117] = {.lex_state = 1, .external_lex_state = 2}, [118] = {.lex_state = 1, .external_lex_state = 2}, @@ -10599,20 +10674,20 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [122] = {.lex_state = 1, .external_lex_state = 2}, [123] = {.lex_state = 1, .external_lex_state = 2}, [124] = {.lex_state = 1, .external_lex_state = 2}, - [125] = {.lex_state = 1, .external_lex_state = 2}, - [126] = {.lex_state = 1, .external_lex_state = 2}, - [127] = {.lex_state = 1, .external_lex_state = 2}, - [128] = {.lex_state = 1, .external_lex_state = 2}, - [129] = {.lex_state = 1, .external_lex_state = 2}, - [130] = {.lex_state = 1, .external_lex_state = 2}, - [131] = {.lex_state = 1, .external_lex_state = 2}, - [132] = {.lex_state = 1, .external_lex_state = 2}, - [133] = {.lex_state = 1, .external_lex_state = 2}, - [134] = {.lex_state = 1, .external_lex_state = 2}, - [135] = {.lex_state = 1, .external_lex_state = 2}, - [136] = {.lex_state = 1, .external_lex_state = 2}, + [125] = {.lex_state = 38}, + [126] = {.lex_state = 38}, + [127] = {.lex_state = 38}, + [128] = {.lex_state = 38}, + [129] = {.lex_state = 38}, + [130] = {.lex_state = 38}, + [131] = {.lex_state = 38}, + [132] = {.lex_state = 38}, + [133] = {.lex_state = 38}, + [134] = {.lex_state = 38}, + [135] = {.lex_state = 38}, + [136] = {.lex_state = 38}, [137] = {.lex_state = 1, .external_lex_state = 2}, - [138] = {.lex_state = 1, .external_lex_state = 2}, + [138] = {.lex_state = 38}, [139] = {.lex_state = 1, .external_lex_state = 2}, [140] = {.lex_state = 1, .external_lex_state = 2}, [141] = {.lex_state = 1, .external_lex_state = 2}, @@ -10622,289 +10697,465 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [145] = {.lex_state = 1, .external_lex_state = 2}, [146] = {.lex_state = 1, .external_lex_state = 2}, [147] = {.lex_state = 1, .external_lex_state = 2}, - [148] = {.lex_state = 33}, - [149] = {.lex_state = 2}, - [150] = {.lex_state = 2}, - [151] = {.lex_state = 2}, - [152] = {.lex_state = 2}, - [153] = {.lex_state = 2}, - [154] = {.lex_state = 2}, - [155] = {.lex_state = 2}, - [156] = {.lex_state = 2}, - [157] = {.lex_state = 33}, - [158] = {.lex_state = 33}, - [159] = {.lex_state = 33}, - [160] = {.lex_state = 33}, - [161] = {.lex_state = 33}, - [162] = {.lex_state = 33}, - [163] = {.lex_state = 33}, - [164] = {.lex_state = 33}, - [165] = {.lex_state = 33}, - [166] = {.lex_state = 33}, - [167] = {.lex_state = 33}, - [168] = {.lex_state = 33}, - [169] = {.lex_state = 33}, - [170] = {.lex_state = 33}, - [171] = {.lex_state = 33}, - [172] = {.lex_state = 33}, - [173] = {.lex_state = 33}, - [174] = {.lex_state = 33}, - [175] = {.lex_state = 33}, - [176] = {.lex_state = 33}, - [177] = {.lex_state = 33}, - [178] = {.lex_state = 33}, - [179] = {.lex_state = 33}, - [180] = {.lex_state = 33}, - [181] = {.lex_state = 33}, - [182] = {.lex_state = 33}, - [183] = {.lex_state = 33}, - [184] = {.lex_state = 33}, - [185] = {.lex_state = 33}, - [186] = {.lex_state = 33}, - [187] = {.lex_state = 33}, - [188] = {.lex_state = 33}, - [189] = {.lex_state = 2}, - [190] = {.lex_state = 2}, - [191] = {.lex_state = 33, .external_lex_state = 4}, - [192] = {.lex_state = 2}, - [193] = {.lex_state = 2}, - [194] = {.lex_state = 33, .external_lex_state = 4}, - [195] = {.lex_state = 33, .external_lex_state = 4}, - [196] = {.lex_state = 2}, - [197] = {.lex_state = 33, .external_lex_state = 4}, - [198] = {.lex_state = 33, .external_lex_state = 4}, - [199] = {.lex_state = 33, .external_lex_state = 4}, - [200] = {.lex_state = 33, .external_lex_state = 4}, - [201] = {.lex_state = 33, .external_lex_state = 4}, - [202] = {.lex_state = 33, .external_lex_state = 4}, - [203] = {.lex_state = 33, .external_lex_state = 4}, - [204] = {.lex_state = 33, .external_lex_state = 4}, - [205] = {.lex_state = 33, .external_lex_state = 4}, - [206] = {.lex_state = 33, .external_lex_state = 4}, - [207] = {.lex_state = 2}, - [208] = {.lex_state = 2}, - [209] = {.lex_state = 2}, - [210] = {.lex_state = 2}, - [211] = {.lex_state = 2}, - [212] = {.lex_state = 2}, - [213] = {.lex_state = 2}, - [214] = {.lex_state = 2}, + [148] = {.lex_state = 1, .external_lex_state = 2}, + [149] = {.lex_state = 1, .external_lex_state = 2}, + [150] = {.lex_state = 1, .external_lex_state = 2}, + [151] = {.lex_state = 1, .external_lex_state = 2}, + [152] = {.lex_state = 1, .external_lex_state = 2}, + [153] = {.lex_state = 1, .external_lex_state = 2}, + [154] = {.lex_state = 1, .external_lex_state = 2}, + [155] = {.lex_state = 1, .external_lex_state = 2}, + [156] = {.lex_state = 1, .external_lex_state = 2}, + [157] = {.lex_state = 1, .external_lex_state = 2}, + [158] = {.lex_state = 1, .external_lex_state = 2}, + [159] = {.lex_state = 1, .external_lex_state = 2}, + [160] = {.lex_state = 1, .external_lex_state = 2}, + [161] = {.lex_state = 1, .external_lex_state = 2}, + [162] = {.lex_state = 1, .external_lex_state = 2}, + [163] = {.lex_state = 1, .external_lex_state = 2}, + [164] = {.lex_state = 1, .external_lex_state = 2}, + [165] = {.lex_state = 1, .external_lex_state = 2}, + [166] = {.lex_state = 1, .external_lex_state = 2}, + [167] = {.lex_state = 1, .external_lex_state = 2}, + [168] = {.lex_state = 1, .external_lex_state = 2}, + [169] = {.lex_state = 1, .external_lex_state = 2}, + [170] = {.lex_state = 1, .external_lex_state = 2}, + [171] = {.lex_state = 38}, + [172] = {.lex_state = 2}, + [173] = {.lex_state = 2}, + [174] = {.lex_state = 2}, + [175] = {.lex_state = 2}, + [176] = {.lex_state = 2}, + [177] = {.lex_state = 2}, + [178] = {.lex_state = 2}, + [179] = {.lex_state = 2}, + [180] = {.lex_state = 38}, + [181] = {.lex_state = 38}, + [182] = {.lex_state = 38}, + [183] = {.lex_state = 38}, + [184] = {.lex_state = 38}, + [185] = {.lex_state = 38}, + [186] = {.lex_state = 38}, + [187] = {.lex_state = 38}, + [188] = {.lex_state = 38}, + [189] = {.lex_state = 38}, + [190] = {.lex_state = 38}, + [191] = {.lex_state = 38}, + [192] = {.lex_state = 38}, + [193] = {.lex_state = 38}, + [194] = {.lex_state = 38}, + [195] = {.lex_state = 38}, + [196] = {.lex_state = 38}, + [197] = {.lex_state = 38}, + [198] = {.lex_state = 38}, + [199] = {.lex_state = 38}, + [200] = {.lex_state = 38}, + [201] = {.lex_state = 38}, + [202] = {.lex_state = 38}, + [203] = {.lex_state = 38}, + [204] = {.lex_state = 38}, + [205] = {.lex_state = 38}, + [206] = {.lex_state = 38}, + [207] = {.lex_state = 38}, + [208] = {.lex_state = 38}, + [209] = {.lex_state = 38}, + [210] = {.lex_state = 38}, + [211] = {.lex_state = 38}, + [212] = {.lex_state = 38, .external_lex_state = 4}, + [213] = {.lex_state = 38, .external_lex_state = 5}, + [214] = {.lex_state = 38, .external_lex_state = 5}, [215] = {.lex_state = 2}, - [216] = {.lex_state = 2}, - [217] = {.lex_state = 2}, - [218] = {.lex_state = 2}, - [219] = {.lex_state = 2}, + [216] = {.lex_state = 38, .external_lex_state = 4}, + [217] = {.lex_state = 38, .external_lex_state = 5}, + [218] = {.lex_state = 38, .external_lex_state = 5}, + [219] = {.lex_state = 38, .external_lex_state = 4}, [220] = {.lex_state = 2}, [221] = {.lex_state = 2}, - [222] = {.lex_state = 2}, - [223] = {.lex_state = 2}, - [224] = {.lex_state = 2}, - [225] = {.lex_state = 2}, - [226] = {.lex_state = 2}, - [227] = {.lex_state = 2}, - [228] = {.lex_state = 2}, - [229] = {.lex_state = 2}, + [222] = {.lex_state = 38, .external_lex_state = 4}, + [223] = {.lex_state = 38, .external_lex_state = 4}, + [224] = {.lex_state = 38, .external_lex_state = 4}, + [225] = {.lex_state = 38, .external_lex_state = 5}, + [226] = {.lex_state = 38, .external_lex_state = 5}, + [227] = {.lex_state = 38, .external_lex_state = 5}, + [228] = {.lex_state = 38, .external_lex_state = 5}, + [229] = {.lex_state = 38, .external_lex_state = 4}, [230] = {.lex_state = 2}, [231] = {.lex_state = 2}, - [232] = {.lex_state = 2}, - [233] = {.lex_state = 2}, - [234] = {.lex_state = 2}, - [235] = {.lex_state = 2}, - [236] = {.lex_state = 2}, - [237] = {.lex_state = 2}, - [238] = {.lex_state = 2}, - [239] = {.lex_state = 33, .external_lex_state = 4}, - [240] = {.lex_state = 2}, - [241] = {.lex_state = 33, .external_lex_state = 4}, - [242] = {.lex_state = 33, .external_lex_state = 4}, - [243] = {.lex_state = 33, .external_lex_state = 4}, - [244] = {.lex_state = 33, .external_lex_state = 4}, - [245] = {.lex_state = 33, .external_lex_state = 4}, - [246] = {.lex_state = 33, .external_lex_state = 4}, - [247] = {.lex_state = 33, .external_lex_state = 4}, - [248] = {.lex_state = 33, .external_lex_state = 4}, - [249] = {.lex_state = 33, .external_lex_state = 4}, - [250] = {.lex_state = 33, .external_lex_state = 4}, - [251] = {.lex_state = 33, .external_lex_state = 4}, - [252] = {.lex_state = 33, .external_lex_state = 4}, - [253] = {.lex_state = 33, .external_lex_state = 4}, - [254] = {.lex_state = 33, .external_lex_state = 4}, - [255] = {.lex_state = 33, .external_lex_state = 4}, - [256] = {.lex_state = 33, .external_lex_state = 4}, - [257] = {.lex_state = 33, .external_lex_state = 4}, - [258] = {.lex_state = 33, .external_lex_state = 4}, - [259] = {.lex_state = 33, .external_lex_state = 4}, - [260] = {.lex_state = 33, .external_lex_state = 4}, - [261] = {.lex_state = 33, .external_lex_state = 4}, - [262] = {.lex_state = 33, .external_lex_state = 4}, - [263] = {.lex_state = 33, .external_lex_state = 4}, - [264] = {.lex_state = 33, .external_lex_state = 4}, - [265] = {.lex_state = 33, .external_lex_state = 4}, - [266] = {.lex_state = 33, .external_lex_state = 4}, - [267] = {.lex_state = 33, .external_lex_state = 4}, - [268] = {.lex_state = 33, .external_lex_state = 4}, - [269] = {.lex_state = 33, .external_lex_state = 4}, - [270] = {.lex_state = 33, .external_lex_state = 4}, - [271] = {.lex_state = 33, .external_lex_state = 4}, - [272] = {.lex_state = 33, .external_lex_state = 4}, - [273] = {.lex_state = 1, .external_lex_state = 2}, - [274] = {.lex_state = 1, .external_lex_state = 2}, - [275] = {.lex_state = 1, .external_lex_state = 2}, - [276] = {.lex_state = 3, .external_lex_state = 2}, - [277] = {.lex_state = 1, .external_lex_state = 2}, - [278] = {.lex_state = 3, .external_lex_state = 2}, - [279] = {.lex_state = 1, .external_lex_state = 2}, - [280] = {.lex_state = 1, .external_lex_state = 2}, - [281] = {.lex_state = 1, .external_lex_state = 2}, - [282] = {.lex_state = 1, .external_lex_state = 2}, - [283] = {.lex_state = 1, .external_lex_state = 2}, - [284] = {.lex_state = 33}, - [285] = {.lex_state = 33}, - [286] = {.lex_state = 0, .external_lex_state = 5}, - [287] = {.lex_state = 33}, - [288] = {.lex_state = 0, .external_lex_state = 5}, - [289] = {.lex_state = 0, .external_lex_state = 5}, - [290] = {.lex_state = 0, .external_lex_state = 6}, - [291] = {.lex_state = 0, .external_lex_state = 6}, - [292] = {.lex_state = 0, .external_lex_state = 6}, - [293] = {.lex_state = 0, .external_lex_state = 5}, - [294] = {.lex_state = 0, .external_lex_state = 5}, - [295] = {.lex_state = 0, .external_lex_state = 6}, - [296] = {.lex_state = 0, .external_lex_state = 5}, - [297] = {.lex_state = 0, .external_lex_state = 5}, - [298] = {.lex_state = 0, .external_lex_state = 5}, - [299] = {.lex_state = 0, .external_lex_state = 5}, - [300] = {.lex_state = 33}, - [301] = {.lex_state = 0, .external_lex_state = 6}, - [302] = {.lex_state = 4, .external_lex_state = 2}, - [303] = {.lex_state = 0, .external_lex_state = 6}, - [304] = {.lex_state = 0, .external_lex_state = 6}, - [305] = {.lex_state = 0, .external_lex_state = 6}, - [306] = {.lex_state = 0, .external_lex_state = 6}, - [307] = {.lex_state = 0}, - [308] = {.lex_state = 33}, - [309] = {.lex_state = 0}, - [310] = {.lex_state = 0}, - [311] = {.lex_state = 33}, - [312] = {.lex_state = 0}, - [313] = {.lex_state = 0}, - [314] = {.lex_state = 0}, - [315] = {.lex_state = 33, .external_lex_state = 2}, - [316] = {.lex_state = 33, .external_lex_state = 2}, - [317] = {.lex_state = 0}, - [318] = {.lex_state = 0}, - [319] = {.lex_state = 0}, - [320] = {.lex_state = 0}, - [321] = {.lex_state = 0}, - [322] = {.lex_state = 0}, - [323] = {.lex_state = 0}, - [324] = {.lex_state = 0}, - [325] = {.lex_state = 0}, - [326] = {.lex_state = 0}, - [327] = {.lex_state = 0, .external_lex_state = 5}, - [328] = {.lex_state = 0, .external_lex_state = 6}, - [329] = {.lex_state = 0}, - [330] = {.lex_state = 0}, - [331] = {.lex_state = 0, .external_lex_state = 6}, - [332] = {.lex_state = 33}, - [333] = {.lex_state = 0, .external_lex_state = 5}, - [334] = {.lex_state = 0}, - [335] = {.lex_state = 0}, - [336] = {.lex_state = 33}, - [337] = {.lex_state = 0, .external_lex_state = 5}, - [338] = {.lex_state = 0, .external_lex_state = 4}, - [339] = {.lex_state = 0, .external_lex_state = 6}, - [340] = {.lex_state = 0, .external_lex_state = 7}, - [341] = {.lex_state = 0, .external_lex_state = 5}, - [342] = {.lex_state = 0, .external_lex_state = 6}, - [343] = {.lex_state = 3}, - [344] = {.lex_state = 0, .external_lex_state = 6}, - [345] = {.lex_state = 0, .external_lex_state = 5}, - [346] = {.lex_state = 0, .external_lex_state = 4}, - [347] = {.lex_state = 0, .external_lex_state = 4}, - [348] = {.lex_state = 0, .external_lex_state = 8}, - [349] = {.lex_state = 0, .external_lex_state = 5}, - [350] = {.lex_state = 0, .external_lex_state = 4}, - [351] = {.lex_state = 0, .external_lex_state = 5}, - [352] = {.lex_state = 33}, - [353] = {.lex_state = 33}, - [354] = {.lex_state = 0, .external_lex_state = 8}, - [355] = {.lex_state = 33, .external_lex_state = 2}, - [356] = {.lex_state = 0, .external_lex_state = 4}, - [357] = {.lex_state = 0}, - [358] = {.lex_state = 0, .external_lex_state = 5}, - [359] = {.lex_state = 0, .external_lex_state = 6}, - [360] = {.lex_state = 0, .external_lex_state = 5}, - [361] = {.lex_state = 33}, - [362] = {.lex_state = 0, .external_lex_state = 4}, - [363] = {.lex_state = 0, .external_lex_state = 5}, - [364] = {.lex_state = 0}, - [365] = {.lex_state = 0}, - [366] = {.lex_state = 0}, - [367] = {.lex_state = 0}, - [368] = {.lex_state = 1}, - [369] = {.lex_state = 1}, - [370] = {.lex_state = 0}, - [371] = {.lex_state = 0}, - [372] = {.lex_state = 0}, - [373] = {.lex_state = 33}, - [374] = {.lex_state = 0}, - [375] = {.lex_state = 0}, - [376] = {.lex_state = 0}, + [232] = {.lex_state = 38, .external_lex_state = 4}, + [233] = {.lex_state = 38, .external_lex_state = 4}, + [234] = {.lex_state = 38, .external_lex_state = 5}, + [235] = {.lex_state = 38, .external_lex_state = 4}, + [236] = {.lex_state = 38, .external_lex_state = 4}, + [237] = {.lex_state = 38, .external_lex_state = 4}, + [238] = {.lex_state = 38, .external_lex_state = 5}, + [239] = {.lex_state = 38, .external_lex_state = 5}, + [240] = {.lex_state = 38, .external_lex_state = 4}, + [241] = {.lex_state = 38, .external_lex_state = 5}, + [242] = {.lex_state = 38, .external_lex_state = 5}, + [243] = {.lex_state = 2}, + [244] = {.lex_state = 2}, + [245] = {.lex_state = 38, .external_lex_state = 4}, + [246] = {.lex_state = 38, .external_lex_state = 5}, + [247] = {.lex_state = 2}, + [248] = {.lex_state = 2}, + [249] = {.lex_state = 2}, + [250] = {.lex_state = 2}, + [251] = {.lex_state = 2}, + [252] = {.lex_state = 2}, + [253] = {.lex_state = 2}, + [254] = {.lex_state = 2}, + [255] = {.lex_state = 2}, + [256] = {.lex_state = 2}, + [257] = {.lex_state = 2}, + [258] = {.lex_state = 2}, + [259] = {.lex_state = 2}, + [260] = {.lex_state = 2}, + [261] = {.lex_state = 2}, + [262] = {.lex_state = 2}, + [263] = {.lex_state = 2}, + [264] = {.lex_state = 2}, + [265] = {.lex_state = 2}, + [266] = {.lex_state = 2}, + [267] = {.lex_state = 2}, + [268] = {.lex_state = 2}, + [269] = {.lex_state = 2}, + [270] = {.lex_state = 2}, + [271] = {.lex_state = 2}, + [272] = {.lex_state = 2}, + [273] = {.lex_state = 2}, + [274] = {.lex_state = 2}, + [275] = {.lex_state = 2}, + [276] = {.lex_state = 2}, + [277] = {.lex_state = 2}, + [278] = {.lex_state = 38, .external_lex_state = 4}, + [279] = {.lex_state = 38, .external_lex_state = 4}, + [280] = {.lex_state = 38, .external_lex_state = 5}, + [281] = {.lex_state = 38, .external_lex_state = 5}, + [282] = {.lex_state = 38, .external_lex_state = 4}, + [283] = {.lex_state = 38, .external_lex_state = 5}, + [284] = {.lex_state = 38, .external_lex_state = 4}, + [285] = {.lex_state = 38, .external_lex_state = 4}, + [286] = {.lex_state = 38, .external_lex_state = 5}, + [287] = {.lex_state = 38, .external_lex_state = 4}, + [288] = {.lex_state = 38, .external_lex_state = 5}, + [289] = {.lex_state = 38, .external_lex_state = 5}, + [290] = {.lex_state = 38, .external_lex_state = 4}, + [291] = {.lex_state = 38, .external_lex_state = 4}, + [292] = {.lex_state = 38, .external_lex_state = 4}, + [293] = {.lex_state = 38, .external_lex_state = 4}, + [294] = {.lex_state = 38, .external_lex_state = 4}, + [295] = {.lex_state = 38, .external_lex_state = 5}, + [296] = {.lex_state = 38, .external_lex_state = 4}, + [297] = {.lex_state = 38, .external_lex_state = 5}, + [298] = {.lex_state = 38, .external_lex_state = 4}, + [299] = {.lex_state = 38, .external_lex_state = 4}, + [300] = {.lex_state = 38, .external_lex_state = 5}, + [301] = {.lex_state = 38, .external_lex_state = 5}, + [302] = {.lex_state = 38, .external_lex_state = 5}, + [303] = {.lex_state = 38, .external_lex_state = 4}, + [304] = {.lex_state = 38, .external_lex_state = 5}, + [305] = {.lex_state = 38, .external_lex_state = 5}, + [306] = {.lex_state = 38, .external_lex_state = 4}, + [307] = {.lex_state = 38, .external_lex_state = 5}, + [308] = {.lex_state = 38, .external_lex_state = 4}, + [309] = {.lex_state = 38, .external_lex_state = 5}, + [310] = {.lex_state = 38, .external_lex_state = 5}, + [311] = {.lex_state = 38, .external_lex_state = 5}, + [312] = {.lex_state = 38, .external_lex_state = 5}, + [313] = {.lex_state = 38, .external_lex_state = 4}, + [314] = {.lex_state = 38, .external_lex_state = 4}, + [315] = {.lex_state = 38, .external_lex_state = 5}, + [316] = {.lex_state = 38, .external_lex_state = 4}, + [317] = {.lex_state = 38, .external_lex_state = 4}, + [318] = {.lex_state = 38, .external_lex_state = 5}, + [319] = {.lex_state = 38, .external_lex_state = 4}, + [320] = {.lex_state = 38, .external_lex_state = 5}, + [321] = {.lex_state = 38, .external_lex_state = 4}, + [322] = {.lex_state = 38, .external_lex_state = 5}, + [323] = {.lex_state = 38, .external_lex_state = 4}, + [324] = {.lex_state = 38, .external_lex_state = 5}, + [325] = {.lex_state = 38, .external_lex_state = 5}, + [326] = {.lex_state = 38, .external_lex_state = 4}, + [327] = {.lex_state = 38, .external_lex_state = 5}, + [328] = {.lex_state = 38, .external_lex_state = 4}, + [329] = {.lex_state = 38, .external_lex_state = 4}, + [330] = {.lex_state = 38, .external_lex_state = 4}, + [331] = {.lex_state = 38, .external_lex_state = 4}, + [332] = {.lex_state = 38, .external_lex_state = 5}, + [333] = {.lex_state = 38, .external_lex_state = 4}, + [334] = {.lex_state = 38, .external_lex_state = 5}, + [335] = {.lex_state = 38, .external_lex_state = 5}, + [336] = {.lex_state = 38, .external_lex_state = 4}, + [337] = {.lex_state = 38, .external_lex_state = 4}, + [338] = {.lex_state = 38, .external_lex_state = 5}, + [339] = {.lex_state = 38, .external_lex_state = 5}, + [340] = {.lex_state = 38, .external_lex_state = 5}, + [341] = {.lex_state = 38, .external_lex_state = 5}, + [342] = {.lex_state = 1, .external_lex_state = 2}, + [343] = {.lex_state = 1, .external_lex_state = 2}, + [344] = {.lex_state = 1, .external_lex_state = 2}, + [345] = {.lex_state = 1, .external_lex_state = 2}, + [346] = {.lex_state = 3, .external_lex_state = 2}, + [347] = {.lex_state = 3, .external_lex_state = 2}, + [348] = {.lex_state = 1, .external_lex_state = 2}, + [349] = {.lex_state = 1, .external_lex_state = 2}, + [350] = {.lex_state = 1, .external_lex_state = 2}, + [351] = {.lex_state = 1, .external_lex_state = 2}, + [352] = {.lex_state = 1, .external_lex_state = 2}, + [353] = {.lex_state = 0, .external_lex_state = 6}, + [354] = {.lex_state = 0, .external_lex_state = 7}, + [355] = {.lex_state = 0, .external_lex_state = 8}, + [356] = {.lex_state = 0, .external_lex_state = 6}, + [357] = {.lex_state = 0, .external_lex_state = 6}, + [358] = {.lex_state = 0, .external_lex_state = 7}, + [359] = {.lex_state = 0, .external_lex_state = 8}, + [360] = {.lex_state = 0, .external_lex_state = 6}, + [361] = {.lex_state = 0, .external_lex_state = 7}, + [362] = {.lex_state = 0, .external_lex_state = 7}, + [363] = {.lex_state = 0, .external_lex_state = 7}, + [364] = {.lex_state = 0, .external_lex_state = 8}, + [365] = {.lex_state = 0, .external_lex_state = 6}, + [366] = {.lex_state = 0, .external_lex_state = 6}, + [367] = {.lex_state = 38}, + [368] = {.lex_state = 38}, + [369] = {.lex_state = 0, .external_lex_state = 7}, + [370] = {.lex_state = 0, .external_lex_state = 6}, + [371] = {.lex_state = 0, .external_lex_state = 7}, + [372] = {.lex_state = 0, .external_lex_state = 8}, + [373] = {.lex_state = 0, .external_lex_state = 8}, + [374] = {.lex_state = 38}, + [375] = {.lex_state = 38}, + [376] = {.lex_state = 4, .external_lex_state = 2}, [377] = {.lex_state = 0}, - [378] = {.lex_state = 33}, + [378] = {.lex_state = 0}, [379] = {.lex_state = 0}, [380] = {.lex_state = 0}, - [381] = {.lex_state = 0}, - [382] = {.lex_state = 0}, - [383] = {.lex_state = 33}, + [381] = {.lex_state = 38}, + [382] = {.lex_state = 38, .external_lex_state = 2}, + [383] = {.lex_state = 0}, [384] = {.lex_state = 0}, [385] = {.lex_state = 0}, - [386] = {.lex_state = 1}, - [387] = {.lex_state = 0}, + [386] = {.lex_state = 38}, + [387] = {.lex_state = 0, .external_lex_state = 6}, [388] = {.lex_state = 0}, - [389] = {.lex_state = 0}, + [389] = {.lex_state = 0, .external_lex_state = 7}, [390] = {.lex_state = 0}, - [391] = {.lex_state = 0}, + [391] = {.lex_state = 0, .external_lex_state = 6}, [392] = {.lex_state = 0}, - [393] = {.lex_state = 33}, + [393] = {.lex_state = 0}, [394] = {.lex_state = 0}, - [395] = {.lex_state = 0}, + [395] = {.lex_state = 38, .external_lex_state = 2}, [396] = {.lex_state = 0}, [397] = {.lex_state = 0}, - [398] = {.lex_state = 0}, + [398] = {.lex_state = 0, .external_lex_state = 7}, [399] = {.lex_state = 0}, [400] = {.lex_state = 0}, [401] = {.lex_state = 0}, - [402] = {.lex_state = 0}, - [403] = {.lex_state = 1}, - [404] = {.lex_state = 0}, - [405] = {.lex_state = 0}, - [406] = {.lex_state = 33}, + [402] = {.lex_state = 0, .external_lex_state = 8}, + [403] = {.lex_state = 0, .external_lex_state = 6}, + [404] = {.lex_state = 0, .external_lex_state = 6}, + [405] = {.lex_state = 0, .external_lex_state = 7}, + [406] = {.lex_state = 0}, [407] = {.lex_state = 0}, - [408] = {.lex_state = 0}, - [409] = {.lex_state = 0}, - [410] = {.lex_state = 0}, - [411] = {.lex_state = 0}, - [412] = {.lex_state = 0}, - [413] = {.lex_state = 0}, - [414] = {.lex_state = 0, .external_lex_state = 9}, - [415] = {.lex_state = 0, .external_lex_state = 9}, - [416] = {.lex_state = 0, .external_lex_state = 9}, - [417] = {.lex_state = 0, .external_lex_state = 4}, - [418] = {.lex_state = 0, .external_lex_state = 10}, - [419] = {.lex_state = 0, .external_lex_state = 9}, - [420] = {.lex_state = 33}, - [421] = {.lex_state = 0}, - [422] = {.lex_state = 0, .external_lex_state = 4}, - [423] = {.lex_state = 0, .external_lex_state = 4}, - [424] = {.lex_state = 0, .external_lex_state = 9}, - [425] = {.lex_state = 0}, - [426] = {.lex_state = 33}, - [427] = {.lex_state = 0}, - [428] = {.lex_state = 0}, - [429] = {.lex_state = 0}, - [430] = {.lex_state = 0, .external_lex_state = 4}, + [408] = {.lex_state = 0, .external_lex_state = 7}, + [409] = {.lex_state = 0, .external_lex_state = 7}, + [410] = {.lex_state = 0, .external_lex_state = 7}, + [411] = {.lex_state = 0, .external_lex_state = 7}, + [412] = {.lex_state = 0, .external_lex_state = 7}, + [413] = {.lex_state = 0, .external_lex_state = 7}, + [414] = {.lex_state = 0, .external_lex_state = 6}, + [415] = {.lex_state = 0, .external_lex_state = 7}, + [416] = {.lex_state = 0, .external_lex_state = 8}, + [417] = {.lex_state = 0, .external_lex_state = 6}, + [418] = {.lex_state = 0, .external_lex_state = 6}, + [419] = {.lex_state = 0, .external_lex_state = 7}, + [420] = {.lex_state = 0, .external_lex_state = 6}, + [421] = {.lex_state = 0, .external_lex_state = 6}, + [422] = {.lex_state = 0, .external_lex_state = 6}, + [423] = {.lex_state = 0}, + [424] = {.lex_state = 0}, + [425] = {.lex_state = 38}, + [426] = {.lex_state = 0}, + [427] = {.lex_state = 0, .external_lex_state = 6}, + [428] = {.lex_state = 0, .external_lex_state = 6}, + [429] = {.lex_state = 0, .external_lex_state = 6}, + [430] = {.lex_state = 0, .external_lex_state = 7}, + [431] = {.lex_state = 0, .external_lex_state = 6}, + [432] = {.lex_state = 0, .external_lex_state = 6}, + [433] = {.lex_state = 0, .external_lex_state = 6}, + [434] = {.lex_state = 0, .external_lex_state = 6}, + [435] = {.lex_state = 0}, + [436] = {.lex_state = 0, .external_lex_state = 8}, + [437] = {.lex_state = 0, .external_lex_state = 8}, + [438] = {.lex_state = 0, .external_lex_state = 8}, + [439] = {.lex_state = 0, .external_lex_state = 8}, + [440] = {.lex_state = 0}, + [441] = {.lex_state = 0, .external_lex_state = 8}, + [442] = {.lex_state = 0, .external_lex_state = 4}, + [443] = {.lex_state = 0, .external_lex_state = 8}, + [444] = {.lex_state = 0, .external_lex_state = 4}, + [445] = {.lex_state = 0, .external_lex_state = 9}, + [446] = {.lex_state = 0, .external_lex_state = 4}, + [447] = {.lex_state = 0, .external_lex_state = 4}, + [448] = {.lex_state = 0, .external_lex_state = 4}, + [449] = {.lex_state = 0, .external_lex_state = 8}, + [450] = {.lex_state = 0, .external_lex_state = 8}, + [451] = {.lex_state = 0, .external_lex_state = 4}, + [452] = {.lex_state = 0, .external_lex_state = 8}, + [453] = {.lex_state = 0, .external_lex_state = 4}, + [454] = {.lex_state = 0, .external_lex_state = 5}, + [455] = {.lex_state = 38}, + [456] = {.lex_state = 0, .external_lex_state = 8}, + [457] = {.lex_state = 0, .external_lex_state = 8}, + [458] = {.lex_state = 38}, + [459] = {.lex_state = 0, .external_lex_state = 8}, + [460] = {.lex_state = 0, .external_lex_state = 5}, + [461] = {.lex_state = 38}, + [462] = {.lex_state = 0, .external_lex_state = 5}, + [463] = {.lex_state = 0, .external_lex_state = 9}, + [464] = {.lex_state = 0, .external_lex_state = 4}, + [465] = {.lex_state = 0, .external_lex_state = 5}, + [466] = {.lex_state = 0, .external_lex_state = 8}, + [467] = {.lex_state = 38, .external_lex_state = 2}, + [468] = {.lex_state = 3}, + [469] = {.lex_state = 0, .external_lex_state = 8}, + [470] = {.lex_state = 38}, + [471] = {.lex_state = 0}, + [472] = {.lex_state = 0, .external_lex_state = 8}, + [473] = {.lex_state = 0}, + [474] = {.lex_state = 0}, + [475] = {.lex_state = 0, .external_lex_state = 5}, + [476] = {.lex_state = 0, .external_lex_state = 10}, + [477] = {.lex_state = 0, .external_lex_state = 5}, + [478] = {.lex_state = 0}, + [479] = {.lex_state = 0}, + [480] = {.lex_state = 0}, + [481] = {.lex_state = 0}, + [482] = {.lex_state = 0}, + [483] = {.lex_state = 1}, + [484] = {.lex_state = 0}, + [485] = {.lex_state = 38}, + [486] = {.lex_state = 0}, + [487] = {.lex_state = 0, .external_lex_state = 11}, + [488] = {.lex_state = 1}, + [489] = {.lex_state = 0}, + [490] = {.lex_state = 0}, + [491] = {.lex_state = 0}, + [492] = {.lex_state = 0, .external_lex_state = 5}, + [493] = {.lex_state = 0}, + [494] = {.lex_state = 0}, + [495] = {.lex_state = 0}, + [496] = {.lex_state = 0}, + [497] = {.lex_state = 0}, + [498] = {.lex_state = 0}, + [499] = {.lex_state = 0}, + [500] = {.lex_state = 0}, + [501] = {.lex_state = 1}, + [502] = {.lex_state = 0}, + [503] = {.lex_state = 0}, + [504] = {.lex_state = 0}, + [505] = {.lex_state = 0}, + [506] = {.lex_state = 0}, + [507] = {.lex_state = 38}, + [508] = {.lex_state = 0}, + [509] = {.lex_state = 0}, + [510] = {.lex_state = 0}, + [511] = {.lex_state = 0}, + [512] = {.lex_state = 0, .external_lex_state = 11}, + [513] = {.lex_state = 0}, + [514] = {.lex_state = 0}, + [515] = {.lex_state = 0}, + [516] = {.lex_state = 1}, + [517] = {.lex_state = 0}, + [518] = {.lex_state = 0, .external_lex_state = 5}, + [519] = {.lex_state = 0}, + [520] = {.lex_state = 38}, + [521] = {.lex_state = 0}, + [522] = {.lex_state = 0, .external_lex_state = 5}, + [523] = {.lex_state = 1}, + [524] = {.lex_state = 0}, + [525] = {.lex_state = 0}, + [526] = {.lex_state = 0}, + [527] = {.lex_state = 0}, + [528] = {.lex_state = 0}, + [529] = {.lex_state = 0}, + [530] = {.lex_state = 0}, + [531] = {.lex_state = 38}, + [532] = {.lex_state = 0}, + [533] = {.lex_state = 0}, + [534] = {.lex_state = 38}, + [535] = {.lex_state = 0}, + [536] = {.lex_state = 0}, + [537] = {.lex_state = 0}, + [538] = {.lex_state = 0}, + [539] = {.lex_state = 0, .external_lex_state = 11}, + [540] = {.lex_state = 0}, + [541] = {.lex_state = 0}, + [542] = {.lex_state = 0}, + [543] = {.lex_state = 0, .external_lex_state = 5}, + [544] = {.lex_state = 0}, + [545] = {.lex_state = 0}, + [546] = {.lex_state = 0, .external_lex_state = 5}, + [547] = {.lex_state = 0}, + [548] = {.lex_state = 0, .external_lex_state = 5}, + [549] = {.lex_state = 0}, + [550] = {.lex_state = 0}, + [551] = {.lex_state = 0}, + [552] = {.lex_state = 38}, + [553] = {.lex_state = 0}, + [554] = {.lex_state = 0}, + [555] = {.lex_state = 0}, + [556] = {.lex_state = 0}, + [557] = {.lex_state = 0, .external_lex_state = 5}, + [558] = {.lex_state = 0}, + [559] = {.lex_state = 0, .external_lex_state = 5}, + [560] = {.lex_state = 0, .external_lex_state = 4}, + [561] = {.lex_state = 38}, + [562] = {.lex_state = 0, .external_lex_state = 4}, + [563] = {.lex_state = 0, .external_lex_state = 12}, + [564] = {.lex_state = 0, .external_lex_state = 13}, + [565] = {.lex_state = 0, .external_lex_state = 13}, + [566] = {.lex_state = 0, .external_lex_state = 5}, + [567] = {.lex_state = 0, .external_lex_state = 4}, + [568] = {.lex_state = 0, .external_lex_state = 12}, + [569] = {.lex_state = 0, .external_lex_state = 5}, + [570] = {.lex_state = 0}, + [571] = {.lex_state = 0, .external_lex_state = 12}, + [572] = {.lex_state = 0, .external_lex_state = 13}, + [573] = {.lex_state = 38}, + [574] = {.lex_state = 0, .external_lex_state = 12}, + [575] = {.lex_state = 0, .external_lex_state = 12}, + [576] = {.lex_state = 0, .external_lex_state = 5}, + [577] = {.lex_state = 0, .external_lex_state = 13}, + [578] = {.lex_state = 0, .external_lex_state = 13}, + [579] = {.lex_state = 0, .external_lex_state = 13}, + [580] = {.lex_state = 0, .external_lex_state = 13}, + [581] = {.lex_state = 0}, + [582] = {.lex_state = 0, .external_lex_state = 5}, + [583] = {.lex_state = 0, .external_lex_state = 4}, + [584] = {.lex_state = 0, .external_lex_state = 5}, + [585] = {.lex_state = 0, .external_lex_state = 4}, + [586] = {.lex_state = 0, .external_lex_state = 13}, + [587] = {.lex_state = 0, .external_lex_state = 13}, + [588] = {.lex_state = 0, .external_lex_state = 5}, + [589] = {.lex_state = 0, .external_lex_state = 5}, + [590] = {.lex_state = 38}, + [591] = {.lex_state = 0, .external_lex_state = 12}, + [592] = {.lex_state = 0}, + [593] = {.lex_state = 0, .external_lex_state = 4}, + [594] = {.lex_state = 0, .external_lex_state = 13}, + [595] = {.lex_state = 38}, + [596] = {.lex_state = 0, .external_lex_state = 5}, + [597] = {.lex_state = 0}, + [598] = {.lex_state = 0}, + [599] = {.lex_state = 0, .external_lex_state = 13}, + [600] = {.lex_state = 0}, + [601] = {.lex_state = 38}, + [602] = {.lex_state = 0}, + [603] = {.lex_state = 38}, + [604] = {.lex_state = 0}, + [605] = {.lex_state = 0}, + [606] = {.lex_state = 0}, }; enum { @@ -10913,7 +11164,9 @@ enum { ts_external_token__template_literal_chunk = 2, ts_external_token_template_interpolation_start = 3, ts_external_token_template_interpolation_end = 4, - ts_external_token_heredoc_identifier = 5, + ts_external_token_template_directive_start = 5, + ts_external_token_template_directive_end = 6, + ts_external_token_heredoc_identifier = 7, }; static const TSSymbol ts_external_scanner_symbol_map[EXTERNAL_TOKEN_COUNT] = { @@ -10922,16 +11175,20 @@ static const TSSymbol ts_external_scanner_symbol_map[EXTERNAL_TOKEN_COUNT] = { [ts_external_token__template_literal_chunk] = sym__template_literal_chunk, [ts_external_token_template_interpolation_start] = sym_template_interpolation_start, [ts_external_token_template_interpolation_end] = sym_template_interpolation_end, + [ts_external_token_template_directive_start] = sym_template_directive_start, + [ts_external_token_template_directive_end] = sym_template_directive_end, [ts_external_token_heredoc_identifier] = sym_heredoc_identifier, }; -static const bool ts_external_scanner_states[11][EXTERNAL_TOKEN_COUNT] = { +static const bool ts_external_scanner_states[14][EXTERNAL_TOKEN_COUNT] = { [1] = { [ts_external_token_quoted_template_start] = true, [ts_external_token_quoted_template_end] = true, [ts_external_token__template_literal_chunk] = true, [ts_external_token_template_interpolation_start] = true, [ts_external_token_template_interpolation_end] = true, + [ts_external_token_template_directive_start] = true, + [ts_external_token_template_directive_end] = true, [ts_external_token_heredoc_identifier] = true, }, [2] = { @@ -10945,28 +11202,41 @@ static const bool ts_external_scanner_states[11][EXTERNAL_TOKEN_COUNT] = { [ts_external_token_template_interpolation_end] = true, }, [5] = { + [ts_external_token_template_directive_end] = true, + }, + [6] = { [ts_external_token_quoted_template_end] = true, [ts_external_token__template_literal_chunk] = true, [ts_external_token_template_interpolation_start] = true, - }, - [6] = { - [ts_external_token__template_literal_chunk] = true, - [ts_external_token_template_interpolation_start] = true, - [ts_external_token_heredoc_identifier] = true, + [ts_external_token_template_directive_start] = true, }, [7] = { [ts_external_token__template_literal_chunk] = true, + [ts_external_token_template_interpolation_start] = true, + [ts_external_token_template_directive_start] = true, + [ts_external_token_heredoc_identifier] = true, }, [8] = { + [ts_external_token__template_literal_chunk] = true, + [ts_external_token_template_interpolation_start] = true, + [ts_external_token_template_directive_start] = true, + }, + [9] = { [ts_external_token_quoted_template_end] = true, [ts_external_token__template_literal_chunk] = true, }, - [9] = { - [ts_external_token_heredoc_identifier] = true, - }, [10] = { + [ts_external_token__template_literal_chunk] = true, + }, + [11] = { + [ts_external_token_template_directive_start] = true, + }, + [12] = { [ts_external_token_quoted_template_end] = true, }, + [13] = { + [ts_external_token_heredoc_identifier] = true, + }, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -11012,6 +11282,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LT_LT] = ACTIONS(1), [anon_sym_LT_LT_DASH] = ACTIONS(1), [sym_strip_marker] = ACTIONS(1), + [anon_sym_endfor] = ACTIONS(1), [sym_comment] = ACTIONS(3), [sym__whitespace] = ACTIONS(3), [sym_quoted_template_start] = ACTIONS(1), @@ -11019,16 +11290,18 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym__template_literal_chunk] = ACTIONS(1), [sym_template_interpolation_start] = ACTIONS(1), [sym_template_interpolation_end] = ACTIONS(1), + [sym_template_directive_start] = ACTIONS(1), + [sym_template_directive_end] = ACTIONS(1), [sym_heredoc_identifier] = ACTIONS(1), }, [1] = { - [sym_config_file] = STATE(429), - [sym_body] = STATE(428), - [sym_attribute] = STATE(308), - [sym_block] = STATE(308), - [sym_object] = STATE(428), - [sym_object_start] = STATE(13), - [aux_sym_body_repeat1] = STATE(308), + [sym_config_file] = STATE(605), + [sym_body] = STATE(604), + [sym_attribute] = STATE(386), + [sym_block] = STATE(386), + [sym_object] = STATE(604), + [sym_object_start] = STATE(15), + [aux_sym_body_repeat1] = STATE(386), [ts_builtin_sym_end] = ACTIONS(5), [anon_sym_LBRACE] = ACTIONS(7), [sym_identifier] = ACTIONS(9), @@ -11065,21 +11338,21 @@ static const uint16_t ts_small_parse_table[] = { sym_quoted_template_start, STATE(3), 1, sym_object_start, - STATE(9), 1, - sym_object_elem, STATE(11), 1, sym_tuple_start, - STATE(47), 1, + STATE(12), 1, + sym_object_elem, + STATE(83), 1, sym_for_intro, - STATE(132), 1, + STATE(250), 1, sym_object_end, - STATE(284), 1, + STATE(367), 1, sym_conditional, - STATE(343), 1, + STATE(468), 1, sym_expression, - STATE(399), 1, + STATE(481), 1, sym__object_elems, - STATE(416), 1, + STATE(572), 1, sym_heredoc_start, ACTIONS(3), 2, sym_comment, @@ -11090,23 +11363,23 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(31), 2, anon_sym_DASH, anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, + STATE(188), 2, sym_unary_operation, sym_binary_operation, - STATE(170), 3, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, sym_numeric_lit, sym_bool_lit, sym_string_lit, - STATE(109), 8, + STATE(125), 8, sym__expr_term, sym_literal_value, sym_collection_value, @@ -11142,21 +11415,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, STATE(3), 1, sym_object_start, - STATE(9), 1, - sym_object_elem, STATE(11), 1, sym_tuple_start, - STATE(39), 1, + STATE(12), 1, + sym_object_elem, + STATE(77), 1, sym_for_intro, - STATE(166), 1, + STATE(192), 1, sym_object_end, - STATE(284), 1, + STATE(367), 1, sym_conditional, - STATE(343), 1, + STATE(468), 1, sym_expression, - STATE(412), 1, + STATE(553), 1, sym__object_elems, - STATE(416), 1, + STATE(572), 1, sym_heredoc_start, ACTIONS(3), 2, sym_comment, @@ -11167,23 +11440,23 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(31), 2, anon_sym_DASH, anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, + STATE(188), 2, sym_unary_operation, sym_binary_operation, - STATE(170), 3, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, sym_numeric_lit, sym_bool_lit, sym_string_lit, - STATE(109), 8, + STATE(125), 8, sym__expr_term, sym_literal_value, sym_collection_value, @@ -11219,21 +11492,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, STATE(3), 1, sym_object_start, - STATE(9), 1, - sym_object_elem, STATE(11), 1, sym_tuple_start, - STATE(38), 1, + STATE(12), 1, + sym_object_elem, + STATE(47), 1, sym_for_intro, - STATE(229), 1, + STATE(293), 1, sym_object_end, - STATE(284), 1, + STATE(367), 1, sym_conditional, - STATE(343), 1, + STATE(468), 1, sym_expression, - STATE(379), 1, + STATE(527), 1, sym__object_elems, - STATE(416), 1, + STATE(572), 1, sym_heredoc_start, ACTIONS(3), 2, sym_comment, @@ -11244,23 +11517,23 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(31), 2, anon_sym_DASH, anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, + STATE(188), 2, sym_unary_operation, sym_binary_operation, - STATE(170), 3, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, sym_numeric_lit, sym_bool_lit, sym_string_lit, - STATE(109), 8, + STATE(125), 8, sym__expr_term, sym_literal_value, sym_collection_value, @@ -11296,21 +11569,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, STATE(3), 1, sym_object_start, - STATE(9), 1, - sym_object_elem, STATE(11), 1, sym_tuple_start, - STATE(49), 1, + STATE(12), 1, + sym_object_elem, + STATE(51), 1, sym_for_intro, - STATE(249), 1, + STATE(155), 1, sym_object_end, - STATE(284), 1, + STATE(367), 1, sym_conditional, - STATE(343), 1, + STATE(468), 1, sym_expression, - STATE(395), 1, + STATE(529), 1, sym__object_elems, - STATE(416), 1, + STATE(572), 1, sym_heredoc_start, ACTIONS(3), 2, sym_comment, @@ -11321,23 +11594,23 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(31), 2, anon_sym_DASH, anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, + STATE(188), 2, sym_unary_operation, sym_binary_operation, - STATE(170), 3, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, sym_numeric_lit, sym_bool_lit, sym_string_lit, - STATE(109), 8, + STATE(125), 8, sym__expr_term, sym_literal_value, sym_collection_value, @@ -11346,7 +11619,7 @@ static const uint16_t ts_small_parse_table[] = { sym_function_call, sym_operation, sym_template_expr, - [428] = 29, + [428] = 30, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(15), 1, @@ -11370,22 +11643,24 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(37), 1, sym_quoted_template_start, ACTIONS(45), 1, - anon_sym_RBRACK, + anon_sym_RBRACE, STATE(3), 1, sym_object_start, STATE(11), 1, sym_tuple_start, - STATE(37), 1, + STATE(12), 1, + sym_object_elem, + STATE(49), 1, sym_for_intro, - STATE(116), 1, - sym_tuple_end, - STATE(284), 1, + STATE(297), 1, + sym_object_end, + STATE(367), 1, sym_conditional, - STATE(318), 1, + STATE(468), 1, sym_expression, - STATE(411), 1, - sym__tuple_elems, - STATE(416), 1, + STATE(532), 1, + sym__object_elems, + STATE(572), 1, sym_heredoc_start, ACTIONS(3), 2, sym_comment, @@ -11396,23 +11671,23 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(31), 2, anon_sym_DASH, anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, + STATE(188), 2, sym_unary_operation, sym_binary_operation, - STATE(170), 3, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, sym_numeric_lit, sym_bool_lit, sym_string_lit, - STATE(109), 8, + STATE(125), 8, sym__expr_term, sym_literal_value, sym_collection_value, @@ -11421,7 +11696,7 @@ static const uint16_t ts_small_parse_table[] = { sym_function_call, sym_operation, sym_template_expr, - [532] = 29, + [535] = 29, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(15), 1, @@ -11450,17 +11725,17 @@ static const uint16_t ts_small_parse_table[] = { sym_object_start, STATE(11), 1, sym_tuple_start, - STATE(54), 1, + STATE(45), 1, sym_for_intro, - STATE(221), 1, + STATE(168), 1, sym_tuple_end, - STATE(284), 1, + STATE(367), 1, sym_conditional, - STATE(318), 1, + STATE(401), 1, sym_expression, - STATE(398), 1, + STATE(528), 1, sym__tuple_elems, - STATE(416), 1, + STATE(572), 1, sym_heredoc_start, ACTIONS(3), 2, sym_comment, @@ -11471,23 +11746,23 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(31), 2, anon_sym_DASH, anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, + STATE(188), 2, sym_unary_operation, sym_binary_operation, - STATE(170), 3, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, sym_numeric_lit, sym_bool_lit, sym_string_lit, - STATE(109), 8, + STATE(125), 8, sym__expr_term, sym_literal_value, sym_collection_value, @@ -11496,7 +11771,7 @@ static const uint16_t ts_small_parse_table[] = { sym_function_call, sym_operation, sym_template_expr, - [636] = 28, + [639] = 29, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(15), 1, @@ -11511,6 +11786,8 @@ static const uint16_t ts_small_parse_table[] = { sym_null_lit, ACTIONS(27), 1, anon_sym_LBRACK, + ACTIONS(29), 1, + anon_sym_for, ACTIONS(33), 1, anon_sym_LT_LT, ACTIONS(35), 1, @@ -11518,247 +11795,22 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(37), 1, sym_quoted_template_start, ACTIONS(49), 1, - anon_sym_RBRACE, - ACTIONS(51), 1, - anon_sym_COMMA, - STATE(3), 1, - sym_object_start, - STATE(11), 1, - sym_tuple_start, - STATE(20), 1, - sym__comma, - STATE(284), 1, - sym_conditional, - STATE(343), 1, - sym_expression, - STATE(416), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(31), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(12), 2, - sym_object_elem, - aux_sym__object_elems_repeat1, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, - sym_unary_operation, - sym_binary_operation, - STATE(170), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(109), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [738] = 28, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(15), 1, - sym_identifier, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - aux_sym_numeric_lit_token1, - ACTIONS(21), 1, - aux_sym_numeric_lit_token2, - ACTIONS(25), 1, - sym_null_lit, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(37), 1, - sym_quoted_template_start, - ACTIONS(53), 1, - anon_sym_RBRACE, - ACTIONS(55), 1, - anon_sym_COMMA, - STATE(3), 1, - sym_object_start, - STATE(11), 1, - sym_tuple_start, - STATE(18), 1, - sym__comma, - STATE(284), 1, - sym_conditional, - STATE(343), 1, - sym_expression, - STATE(416), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(31), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(8), 2, - sym_object_elem, - aux_sym__object_elems_repeat1, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, - sym_unary_operation, - sym_binary_operation, - STATE(170), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(109), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [840] = 29, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(15), 1, - sym_identifier, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - aux_sym_numeric_lit_token1, - ACTIONS(21), 1, - aux_sym_numeric_lit_token2, - ACTIONS(25), 1, - sym_null_lit, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(29), 1, - anon_sym_for, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(37), 1, - sym_quoted_template_start, - ACTIONS(57), 1, anon_sym_RBRACK, STATE(3), 1, sym_object_start, STATE(11), 1, sym_tuple_start, - STATE(42), 1, + STATE(64), 1, sym_for_intro, - STATE(264), 1, + STATE(326), 1, sym_tuple_end, - STATE(284), 1, - sym_conditional, - STATE(318), 1, - sym_expression, - STATE(401), 1, - sym__tuple_elems, - STATE(416), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(31), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, - sym_unary_operation, - sym_binary_operation, - STATE(170), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(109), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [944] = 29, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(15), 1, - sym_identifier, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - aux_sym_numeric_lit_token1, - ACTIONS(21), 1, - aux_sym_numeric_lit_token2, - ACTIONS(25), 1, - sym_null_lit, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(29), 1, - anon_sym_for, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(37), 1, - sym_quoted_template_start, - ACTIONS(59), 1, - anon_sym_RBRACK, - STATE(3), 1, - sym_object_start, - STATE(11), 1, - sym_tuple_start, - STATE(41), 1, - sym_for_intro, - STATE(161), 1, - sym_tuple_end, - STATE(284), 1, - sym_conditional, - STATE(318), 1, - sym_expression, STATE(367), 1, + sym_conditional, + STATE(401), 1, + sym_expression, + STATE(530), 1, sym__tuple_elems, - STATE(416), 1, + STATE(572), 1, sym_heredoc_start, ACTIONS(3), 2, sym_comment, @@ -11769,23 +11821,23 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(31), 2, anon_sym_DASH, anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, + STATE(188), 2, sym_unary_operation, sym_binary_operation, - STATE(170), 3, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, sym_numeric_lit, sym_bool_lit, sym_string_lit, - STATE(109), 8, + STATE(125), 8, sym__expr_term, sym_literal_value, sym_collection_value, @@ -11794,30 +11846,104 @@ static const uint16_t ts_small_parse_table[] = { sym_function_call, sym_operation, sym_template_expr, - [1048] = 28, - ACTIONS(61), 1, + [743] = 28, + ACTIONS(11), 1, anon_sym_LBRACE, - ACTIONS(64), 1, - anon_sym_RBRACE, - ACTIONS(66), 1, + ACTIONS(15), 1, sym_identifier, - ACTIONS(69), 1, + ACTIONS(17), 1, anon_sym_LPAREN, - ACTIONS(72), 1, + ACTIONS(19), 1, aux_sym_numeric_lit_token1, - ACTIONS(75), 1, + ACTIONS(21), 1, aux_sym_numeric_lit_token2, - ACTIONS(81), 1, + ACTIONS(25), 1, sym_null_lit, - ACTIONS(84), 1, - anon_sym_COMMA, - ACTIONS(87), 1, + ACTIONS(27), 1, anon_sym_LBRACK, - ACTIONS(93), 1, + ACTIONS(33), 1, anon_sym_LT_LT, - ACTIONS(96), 1, + ACTIONS(35), 1, anon_sym_LT_LT_DASH, - ACTIONS(99), 1, + ACTIONS(37), 1, + sym_quoted_template_start, + ACTIONS(51), 1, + anon_sym_RBRACE, + ACTIONS(53), 1, + anon_sym_COMMA, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(27), 1, + sym__comma, + STATE(367), 1, + sym_conditional, + STATE(468), 1, + sym_expression, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(10), 2, + sym_object_elem, + aux_sym__object_elems_repeat1, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(125), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [845] = 28, + ACTIONS(55), 1, + anon_sym_LBRACE, + ACTIONS(58), 1, + anon_sym_RBRACE, + ACTIONS(60), 1, + sym_identifier, + ACTIONS(63), 1, + anon_sym_LPAREN, + ACTIONS(66), 1, + aux_sym_numeric_lit_token1, + ACTIONS(69), 1, + aux_sym_numeric_lit_token2, + ACTIONS(75), 1, + sym_null_lit, + ACTIONS(78), 1, + anon_sym_COMMA, + ACTIONS(81), 1, + anon_sym_LBRACK, + ACTIONS(87), 1, + anon_sym_LT_LT, + ACTIONS(90), 1, + anon_sym_LT_LT_DASH, + ACTIONS(93), 1, sym_quoted_template_start, STATE(3), 1, sym_object_start, @@ -11825,41 +11951,41 @@ static const uint16_t ts_small_parse_table[] = { sym_tuple_start, STATE(32), 1, sym__comma, - STATE(284), 1, + STATE(367), 1, sym_conditional, - STATE(343), 1, + STATE(468), 1, sym_expression, - STATE(416), 1, + STATE(572), 1, sym_heredoc_start, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(78), 2, + ACTIONS(72), 2, anon_sym_true, anon_sym_false, - ACTIONS(90), 2, + ACTIONS(84), 2, anon_sym_DASH, anon_sym_BANG, - STATE(12), 2, + STATE(10), 2, sym_object_elem, aux_sym__object_elems_repeat1, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, + STATE(188), 2, sym_unary_operation, sym_binary_operation, - STATE(170), 3, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, sym_numeric_lit, sym_bool_lit, sym_string_lit, - STATE(109), 8, + STATE(125), 8, sym__expr_term, sym_literal_value, sym_collection_value, @@ -11868,7 +11994,306 @@ static const uint16_t ts_small_parse_table[] = { sym_function_call, sym_operation, sym_template_expr, - [1150] = 28, + [947] = 29, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + anon_sym_for, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + ACTIONS(96), 1, + anon_sym_RBRACK, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(76), 1, + sym_for_intro, + STATE(184), 1, + sym_tuple_end, + STATE(367), 1, + sym_conditional, + STATE(401), 1, + sym_expression, + STATE(482), 1, + sym__tuple_elems, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(125), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [1051] = 28, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + ACTIONS(98), 1, + anon_sym_RBRACE, + ACTIONS(100), 1, + anon_sym_COMMA, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(23), 1, + sym__comma, + STATE(367), 1, + sym_conditional, + STATE(468), 1, + sym_expression, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(9), 2, + sym_object_elem, + aux_sym__object_elems_repeat1, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(125), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [1153] = 29, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + anon_sym_for, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + ACTIONS(102), 1, + anon_sym_RBRACK, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(43), 1, + sym_for_intro, + STATE(270), 1, + sym_tuple_end, + STATE(367), 1, + sym_conditional, + STATE(401), 1, + sym_expression, + STATE(484), 1, + sym__tuple_elems, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(125), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [1257] = 29, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + anon_sym_for, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + ACTIONS(104), 1, + anon_sym_RBRACK, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(53), 1, + sym_for_intro, + STATE(289), 1, + sym_tuple_end, + STATE(367), 1, + sym_conditional, + STATE(401), 1, + sym_expression, + STATE(504), 1, + sym__tuple_elems, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(125), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [1361] = 28, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(15), 1, @@ -11893,19 +12318,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, STATE(3), 1, sym_object_start, - STATE(9), 1, + STATE(11), 1, + sym_tuple_start, + STATE(12), 1, sym_object_elem, - STATE(11), 1, - sym_tuple_start, - STATE(166), 1, + STATE(192), 1, sym_object_end, - STATE(284), 1, + STATE(367), 1, sym_conditional, - STATE(343), 1, + STATE(468), 1, sym_expression, - STATE(412), 1, + STATE(553), 1, sym__object_elems, - STATE(416), 1, + STATE(572), 1, sym_heredoc_start, ACTIONS(3), 2, sym_comment, @@ -11916,23 +12341,23 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(31), 2, anon_sym_DASH, anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, + STATE(188), 2, sym_unary_operation, sym_binary_operation, - STATE(170), 3, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, sym_numeric_lit, sym_bool_lit, sym_string_lit, - STATE(109), 8, + STATE(125), 8, sym__expr_term, sym_literal_value, sym_collection_value, @@ -11941,149 +12366,7 @@ static const uint16_t ts_small_parse_table[] = { sym_function_call, sym_operation, sym_template_expr, - [1251] = 27, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(15), 1, - sym_identifier, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - aux_sym_numeric_lit_token1, - ACTIONS(21), 1, - aux_sym_numeric_lit_token2, - ACTIONS(25), 1, - sym_null_lit, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(37), 1, - sym_quoted_template_start, - ACTIONS(102), 1, - anon_sym_RPAREN, - STATE(3), 1, - sym_object_start, - STATE(11), 1, - sym_tuple_start, - STATE(213), 1, - sym__function_call_end, - STATE(284), 1, - sym_conditional, - STATE(313), 1, - sym_expression, - STATE(384), 1, - sym_function_arguments, - STATE(416), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(31), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, - sym_unary_operation, - sym_binary_operation, - STATE(170), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(109), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [1349] = 27, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(15), 1, - sym_identifier, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - aux_sym_numeric_lit_token1, - ACTIONS(21), 1, - aux_sym_numeric_lit_token2, - ACTIONS(25), 1, - sym_null_lit, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(37), 1, - sym_quoted_template_start, - ACTIONS(104), 1, - anon_sym_RPAREN, - STATE(3), 1, - sym_object_start, - STATE(11), 1, - sym_tuple_start, - STATE(172), 1, - sym__function_call_end, - STATE(284), 1, - sym_conditional, - STATE(313), 1, - sym_expression, - STATE(402), 1, - sym_function_arguments, - STATE(416), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(31), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, - sym_unary_operation, - sym_binary_operation, - STATE(170), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(109), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [1447] = 27, + [1462] = 27, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(15), 1, @@ -12110,15 +12393,15 @@ static const uint16_t ts_small_parse_table[] = { sym_object_start, STATE(11), 1, sym_tuple_start, - STATE(119), 1, + STATE(183), 1, sym__function_call_end, - STATE(284), 1, + STATE(367), 1, sym_conditional, - STATE(313), 1, + STATE(380), 1, sym_expression, - STATE(408), 1, + STATE(490), 1, sym_function_arguments, - STATE(416), 1, + STATE(572), 1, sym_heredoc_start, ACTIONS(3), 2, sym_comment, @@ -12129,23 +12412,23 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(31), 2, anon_sym_DASH, anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, + STATE(188), 2, sym_unary_operation, sym_binary_operation, - STATE(170), 3, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, sym_numeric_lit, sym_bool_lit, sym_string_lit, - STATE(109), 8, + STATE(125), 8, sym__expr_term, sym_literal_value, sym_collection_value, @@ -12154,7 +12437,7 @@ static const uint16_t ts_small_parse_table[] = { sym_function_call, sym_operation, sym_template_expr, - [1545] = 27, + [1560] = 27, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(15), 1, @@ -12181,15 +12464,15 @@ static const uint16_t ts_small_parse_table[] = { sym_object_start, STATE(11), 1, sym_tuple_start, - STATE(272), 1, + STATE(333), 1, sym__function_call_end, - STATE(284), 1, + STATE(367), 1, sym_conditional, - STATE(313), 1, + STATE(380), 1, sym_expression, - STATE(407), 1, + STATE(538), 1, sym_function_arguments, - STATE(416), 1, + STATE(572), 1, sym_heredoc_start, ACTIONS(3), 2, sym_comment, @@ -12200,23 +12483,23 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(31), 2, anon_sym_DASH, anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, + STATE(188), 2, sym_unary_operation, sym_binary_operation, - STATE(170), 3, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, sym_numeric_lit, sym_bool_lit, sym_string_lit, - STATE(109), 8, + STATE(125), 8, sym__expr_term, sym_literal_value, sym_collection_value, @@ -12225,7 +12508,7 @@ static const uint16_t ts_small_parse_table[] = { sym_function_call, sym_operation, sym_template_expr, - [1643] = 26, + [1658] = 27, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(15), 1, @@ -12246,19 +12529,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_LT_DASH, ACTIONS(37), 1, sym_quoted_template_start, - ACTIONS(49), 1, - anon_sym_RBRACE, + ACTIONS(110), 1, + anon_sym_RPAREN, STATE(3), 1, sym_object_start, STATE(11), 1, sym_tuple_start, - STATE(277), 1, - sym_object_elem, - STATE(284), 1, + STATE(341), 1, + sym__function_call_end, + STATE(367), 1, sym_conditional, - STATE(343), 1, + STATE(380), 1, sym_expression, - STATE(416), 1, + STATE(500), 1, + sym_function_arguments, + STATE(572), 1, sym_heredoc_start, ACTIONS(3), 2, sym_comment, @@ -12269,23 +12554,23 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(31), 2, anon_sym_DASH, anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, + STATE(188), 2, sym_unary_operation, sym_binary_operation, - STATE(170), 3, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, sym_numeric_lit, sym_bool_lit, sym_string_lit, - STATE(109), 8, + STATE(125), 8, sym__expr_term, sym_literal_value, sym_collection_value, @@ -12294,76 +12579,7 @@ static const uint16_t ts_small_parse_table[] = { sym_function_call, sym_operation, sym_template_expr, - [1738] = 26, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(110), 1, - sym_identifier, - ACTIONS(112), 1, - anon_sym_LPAREN, - ACTIONS(114), 1, - aux_sym_numeric_lit_token1, - ACTIONS(116), 1, - aux_sym_numeric_lit_token2, - ACTIONS(120), 1, - sym_null_lit, - ACTIONS(124), 1, - sym_strip_marker, - ACTIONS(126), 1, - sym_quoted_template_start, - ACTIONS(128), 1, - sym_template_interpolation_end, - STATE(5), 1, - sym_object_start, - STATE(10), 1, - sym_tuple_start, - STATE(346), 1, - sym_conditional, - STATE(347), 1, - sym_expression, - STATE(414), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(118), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(122), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(242), 2, - sym_unary_operation, - sym_binary_operation, - STATE(248), 2, - sym_tuple, - sym_object, - STATE(251), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(253), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(247), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(195), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [1833] = 26, + [1756] = 27, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(15), 1, @@ -12384,115 +12600,188 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_LT_DASH, ACTIONS(37), 1, sym_quoted_template_start, + ACTIONS(112), 1, + anon_sym_RPAREN, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(163), 1, + sym__function_call_end, + STATE(367), 1, + sym_conditional, + STATE(380), 1, + sym_expression, + STATE(521), 1, + sym_function_arguments, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(125), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [1854] = 27, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + ACTIONS(114), 1, + anon_sym_RPAREN, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(266), 1, + sym__function_call_end, + STATE(367), 1, + sym_conditional, + STATE(380), 1, + sym_expression, + STATE(502), 1, + sym_function_arguments, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(125), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [1952] = 26, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(118), 1, + anon_sym_LPAREN, + ACTIONS(120), 1, + aux_sym_numeric_lit_token1, + ACTIONS(122), 1, + aux_sym_numeric_lit_token2, + ACTIONS(126), 1, + sym_null_lit, ACTIONS(130), 1, - anon_sym_RBRACE, - STATE(3), 1, - sym_object_start, - STATE(11), 1, - sym_tuple_start, - STATE(277), 1, - sym_object_elem, - STATE(284), 1, - sym_conditional, - STATE(343), 1, - sym_expression, - STATE(416), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(31), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, - sym_unary_operation, - sym_binary_operation, - STATE(170), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(109), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [1928] = 26, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(110), 1, - sym_identifier, - ACTIONS(112), 1, - anon_sym_LPAREN, - ACTIONS(114), 1, - aux_sym_numeric_lit_token1, - ACTIONS(116), 1, - aux_sym_numeric_lit_token2, - ACTIONS(120), 1, - sym_null_lit, - ACTIONS(126), 1, - sym_quoted_template_start, - ACTIONS(132), 1, sym_strip_marker, + ACTIONS(132), 1, + sym_quoted_template_start, ACTIONS(134), 1, sym_template_interpolation_end, - STATE(5), 1, + STATE(4), 1, sym_object_start, - STATE(10), 1, + STATE(8), 1, sym_tuple_start, - STATE(346), 1, - sym_conditional, - STATE(350), 1, + STATE(447), 1, sym_expression, - STATE(414), 1, + STATE(448), 1, + sym_conditional, + STATE(580), 1, sym_heredoc_start, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(118), 2, + ACTIONS(124), 2, anon_sym_true, anon_sym_false, - ACTIONS(122), 2, + ACTIONS(128), 2, anon_sym_DASH, anon_sym_BANG, - STATE(242), 2, - sym_unary_operation, - sym_binary_operation, - STATE(248), 2, - sym_tuple, - sym_object, - STATE(251), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(253), 2, + STATE(290), 2, sym_quoted_template, sym_heredoc_template, - STATE(247), 3, + STATE(291), 2, + sym_unary_operation, + sym_binary_operation, + STATE(292), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(294), 2, + sym_tuple, + sym_object, + STATE(296), 3, sym_numeric_lit, sym_bool_lit, sym_string_lit, - STATE(195), 8, + STATE(222), 8, sym__expr_term, sym_literal_value, sym_collection_value, @@ -12501,7 +12790,7 @@ static const uint16_t ts_small_parse_table[] = { sym_function_call, sym_operation, sym_template_expr, - [2023] = 26, + [2047] = 26, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(27), 1, @@ -12510,58 +12799,58 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_LT, ACTIONS(35), 1, anon_sym_LT_LT_DASH, - ACTIONS(110), 1, - sym_identifier, - ACTIONS(112), 1, - anon_sym_LPAREN, - ACTIONS(114), 1, - aux_sym_numeric_lit_token1, ACTIONS(116), 1, - aux_sym_numeric_lit_token2, + sym_identifier, + ACTIONS(118), 1, + anon_sym_LPAREN, ACTIONS(120), 1, - sym_null_lit, + aux_sym_numeric_lit_token1, + ACTIONS(122), 1, + aux_sym_numeric_lit_token2, ACTIONS(126), 1, + sym_null_lit, + ACTIONS(132), 1, sym_quoted_template_start, ACTIONS(136), 1, sym_strip_marker, ACTIONS(138), 1, sym_template_interpolation_end, - STATE(5), 1, + STATE(4), 1, sym_object_start, - STATE(10), 1, + STATE(8), 1, sym_tuple_start, - STATE(346), 1, - sym_conditional, - STATE(362), 1, + STATE(442), 1, sym_expression, - STATE(414), 1, + STATE(448), 1, + sym_conditional, + STATE(580), 1, sym_heredoc_start, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(118), 2, + ACTIONS(124), 2, anon_sym_true, anon_sym_false, - ACTIONS(122), 2, + ACTIONS(128), 2, anon_sym_DASH, anon_sym_BANG, - STATE(242), 2, - sym_unary_operation, - sym_binary_operation, - STATE(248), 2, - sym_tuple, - sym_object, - STATE(251), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(253), 2, + STATE(290), 2, sym_quoted_template, sym_heredoc_template, - STATE(247), 3, + STATE(291), 2, + sym_unary_operation, + sym_binary_operation, + STATE(292), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(294), 2, + sym_tuple, + sym_object, + STATE(296), 3, sym_numeric_lit, sym_bool_lit, sym_string_lit, - STATE(195), 8, + STATE(222), 8, sym__expr_term, sym_literal_value, sym_collection_value, @@ -12570,7 +12859,76 @@ static const uint16_t ts_small_parse_table[] = { sym_function_call, sym_operation, sym_template_expr, - [2118] = 26, + [2142] = 26, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + ACTIONS(51), 1, + anon_sym_RBRACE, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(345), 1, + sym_object_elem, + STATE(367), 1, + sym_conditional, + STATE(468), 1, + sym_expression, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(125), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [2237] = 26, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(27), 1, @@ -12579,743 +12937,58 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_LT, ACTIONS(35), 1, anon_sym_LT_LT_DASH, - ACTIONS(110), 1, - sym_identifier, - ACTIONS(112), 1, - anon_sym_LPAREN, - ACTIONS(114), 1, - aux_sym_numeric_lit_token1, ACTIONS(116), 1, - aux_sym_numeric_lit_token2, + sym_identifier, + ACTIONS(118), 1, + anon_sym_LPAREN, ACTIONS(120), 1, - sym_null_lit, + aux_sym_numeric_lit_token1, + ACTIONS(122), 1, + aux_sym_numeric_lit_token2, ACTIONS(126), 1, + sym_null_lit, + ACTIONS(132), 1, sym_quoted_template_start, ACTIONS(140), 1, sym_strip_marker, ACTIONS(142), 1, sym_template_interpolation_end, - STATE(5), 1, - sym_object_start, - STATE(10), 1, - sym_tuple_start, - STATE(346), 1, - sym_conditional, - STATE(356), 1, - sym_expression, - STATE(414), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(118), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(122), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(242), 2, - sym_unary_operation, - sym_binary_operation, - STATE(248), 2, - sym_tuple, - sym_object, - STATE(251), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(253), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(247), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(195), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [2213] = 18, - ACTIONS(148), 1, - anon_sym_LBRACK, - ACTIONS(150), 1, - anon_sym_DOT, - ACTIONS(152), 1, - anon_sym_DOT_STAR, - ACTIONS(154), 1, - anon_sym_LBRACK_STAR_RBRACK, - ACTIONS(160), 1, - anon_sym_SLASH, - ACTIONS(168), 1, - anon_sym_AMP_AMP, - ACTIONS(170), 1, - anon_sym_PIPE_PIPE, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(156), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(158), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(162), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(164), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(166), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - STATE(129), 2, - sym_attr_splat, - sym_full_splat, - STATE(130), 2, - sym_new_index, - sym_legacy_index, - STATE(131), 3, - sym_index, - sym_get_attr, - sym_splat, - ACTIONS(146), 7, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_BANG, - anon_sym_LT_LT, - ACTIONS(144), 8, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_QMARK, - anon_sym_LT_LT_DASH, - [2291] = 25, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(15), 1, - sym_identifier, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - aux_sym_numeric_lit_token1, - ACTIONS(21), 1, - aux_sym_numeric_lit_token2, - ACTIONS(25), 1, - sym_null_lit, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(37), 1, - sym_quoted_template_start, - ACTIONS(172), 1, - anon_sym_RBRACK, - STATE(3), 1, - sym_object_start, - STATE(11), 1, - sym_tuple_start, - STATE(284), 1, - sym_conditional, - STATE(322), 1, - sym_expression, - STATE(416), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(31), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, - sym_unary_operation, - sym_binary_operation, - STATE(170), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(109), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [2383] = 12, - ACTIONS(160), 1, - anon_sym_SLASH, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(156), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(158), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(162), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(164), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(166), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - STATE(129), 2, - sym_attr_splat, - sym_full_splat, - STATE(130), 2, - sym_new_index, - sym_legacy_index, - STATE(131), 3, - sym_index, - sym_get_attr, - sym_splat, - ACTIONS(176), 9, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_BANG, - anon_sym_LT_LT, - ACTIONS(174), 12, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [2449] = 6, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - STATE(129), 2, - sym_attr_splat, - sym_full_splat, - STATE(130), 2, - sym_new_index, - sym_legacy_index, - STATE(131), 3, - sym_index, - sym_get_attr, - sym_splat, - ACTIONS(180), 12, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_BANG, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(178), 20, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [2503] = 8, - ACTIONS(160), 1, - anon_sym_SLASH, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(158), 2, - anon_sym_STAR, - anon_sym_PERCENT, - STATE(129), 2, - sym_attr_splat, - sym_full_splat, - STATE(130), 2, - sym_new_index, - sym_legacy_index, - STATE(131), 3, - sym_index, - sym_get_attr, - sym_splat, - ACTIONS(176), 11, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_BANG, - anon_sym_GT, - anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(174), 18, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [2561] = 13, - ACTIONS(160), 1, - anon_sym_SLASH, - ACTIONS(168), 1, - anon_sym_AMP_AMP, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(156), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(158), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(162), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(164), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(166), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - STATE(129), 2, - sym_attr_splat, - sym_full_splat, - STATE(130), 2, - sym_new_index, - sym_legacy_index, - STATE(131), 3, - sym_index, - sym_get_attr, - sym_splat, - ACTIONS(176), 9, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_BANG, - anon_sym_LT_LT, - ACTIONS(174), 11, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [2629] = 25, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(15), 1, - sym_identifier, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - aux_sym_numeric_lit_token1, - ACTIONS(21), 1, - aux_sym_numeric_lit_token2, - ACTIONS(25), 1, - sym_null_lit, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(37), 1, - sym_quoted_template_start, - ACTIONS(182), 1, - anon_sym_RBRACK, - STATE(3), 1, - sym_object_start, - STATE(11), 1, - sym_tuple_start, - STATE(284), 1, - sym_conditional, - STATE(322), 1, - sym_expression, - STATE(416), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(31), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, - sym_unary_operation, - sym_binary_operation, - STATE(170), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(109), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [2721] = 6, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - STATE(129), 2, - sym_attr_splat, - sym_full_splat, - STATE(130), 2, - sym_new_index, - sym_legacy_index, - STATE(131), 3, - sym_index, - sym_get_attr, - sym_splat, - ACTIONS(176), 12, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_BANG, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(174), 20, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [2775] = 25, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(15), 1, - sym_identifier, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - aux_sym_numeric_lit_token1, - ACTIONS(21), 1, - aux_sym_numeric_lit_token2, - ACTIONS(25), 1, - sym_null_lit, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(37), 1, - sym_quoted_template_start, - STATE(3), 1, - sym_object_start, - STATE(11), 1, - sym_tuple_start, - STATE(277), 1, - sym_object_elem, - STATE(284), 1, - sym_conditional, - STATE(343), 1, - sym_expression, - STATE(416), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(31), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, - sym_unary_operation, - sym_binary_operation, - STATE(170), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(109), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [2867] = 9, - ACTIONS(160), 1, - anon_sym_SLASH, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(156), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(158), 2, - anon_sym_STAR, - anon_sym_PERCENT, - STATE(129), 2, - sym_attr_splat, - sym_full_splat, - STATE(130), 2, - sym_new_index, - sym_legacy_index, - STATE(131), 3, - sym_index, - sym_get_attr, - sym_splat, - ACTIONS(176), 11, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_BANG, - anon_sym_GT, - anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(174), 16, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [2927] = 11, - ACTIONS(160), 1, - anon_sym_SLASH, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(156), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(158), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(162), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(164), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - STATE(129), 2, - sym_attr_splat, - sym_full_splat, - STATE(130), 2, - sym_new_index, - sym_legacy_index, - STATE(131), 3, - sym_index, - sym_get_attr, - sym_splat, - ACTIONS(176), 9, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_BANG, - anon_sym_LT_LT, - ACTIONS(174), 14, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [2991] = 24, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(184), 1, - sym_identifier, - ACTIONS(186), 1, - anon_sym_LPAREN, - ACTIONS(188), 1, - aux_sym_numeric_lit_token1, - ACTIONS(190), 1, - aux_sym_numeric_lit_token2, - ACTIONS(194), 1, - sym_null_lit, - ACTIONS(198), 1, - sym_quoted_template_start, STATE(4), 1, sym_object_start, - STATE(7), 1, + STATE(8), 1, sym_tuple_start, - STATE(307), 1, - sym_expression, - STATE(317), 1, + STATE(448), 1, sym_conditional, - STATE(424), 1, + STATE(453), 1, + sym_expression, + STATE(580), 1, sym_heredoc_start, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(192), 2, + ACTIONS(124), 2, anon_sym_true, anon_sym_false, - ACTIONS(196), 2, + ACTIONS(128), 2, anon_sym_DASH, anon_sym_BANG, - STATE(223), 2, + STATE(290), 2, sym_quoted_template, sym_heredoc_template, - STATE(224), 2, + STATE(291), 2, sym_unary_operation, sym_binary_operation, - STATE(228), 2, + STATE(292), 2, sym_for_tuple_expr, sym_for_object_expr, - STATE(230), 2, + STATE(294), 2, sym_tuple, sym_object, - STATE(232), 3, + STATE(296), 3, sym_numeric_lit, sym_bool_lit, sym_string_lit, - STATE(155), 8, + STATE(222), 8, sym__expr_term, sym_literal_value, sym_collection_value, @@ -13324,72 +12997,7 @@ static const uint16_t ts_small_parse_table[] = { sym_function_call, sym_operation, sym_template_expr, - [3080] = 24, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(15), 1, - sym_identifier, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - aux_sym_numeric_lit_token1, - ACTIONS(21), 1, - aux_sym_numeric_lit_token2, - ACTIONS(25), 1, - sym_null_lit, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(37), 1, - sym_quoted_template_start, - STATE(3), 1, - sym_object_start, - STATE(11), 1, - sym_tuple_start, - STATE(284), 1, - sym_conditional, - STATE(404), 1, - sym_expression, - STATE(416), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(31), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, - sym_unary_operation, - sym_binary_operation, - STATE(170), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(109), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [3169] = 24, + [2332] = 26, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(27), 1, @@ -13398,639 +13006,58 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_LT, ACTIONS(35), 1, anon_sym_LT_LT_DASH, - ACTIONS(184), 1, - sym_identifier, - ACTIONS(186), 1, - anon_sym_LPAREN, - ACTIONS(188), 1, - aux_sym_numeric_lit_token1, - ACTIONS(190), 1, - aux_sym_numeric_lit_token2, - ACTIONS(194), 1, - sym_null_lit, - ACTIONS(198), 1, - sym_quoted_template_start, - STATE(4), 1, - sym_object_start, - STATE(7), 1, - sym_tuple_start, - STATE(317), 1, - sym_conditional, - STATE(321), 1, - sym_expression, - STATE(424), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(192), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(196), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(223), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(224), 2, - sym_unary_operation, - sym_binary_operation, - STATE(228), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(230), 2, - sym_tuple, - sym_object, - STATE(232), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(155), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [3258] = 24, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(15), 1, - sym_identifier, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - aux_sym_numeric_lit_token1, - ACTIONS(21), 1, - aux_sym_numeric_lit_token2, - ACTIONS(25), 1, - sym_null_lit, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(37), 1, - sym_quoted_template_start, - STATE(3), 1, - sym_object_start, - STATE(11), 1, - sym_tuple_start, - STATE(284), 1, - sym_conditional, - STATE(369), 1, - sym_expression, - STATE(416), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(31), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, - sym_unary_operation, - sym_binary_operation, - STATE(170), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(109), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [3347] = 24, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(15), 1, - sym_identifier, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - aux_sym_numeric_lit_token1, - ACTIONS(21), 1, - aux_sym_numeric_lit_token2, - ACTIONS(25), 1, - sym_null_lit, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(37), 1, - sym_quoted_template_start, - STATE(3), 1, - sym_object_start, - STATE(11), 1, - sym_tuple_start, - STATE(284), 1, - sym_conditional, - STATE(368), 1, - sym_expression, - STATE(416), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(31), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, - sym_unary_operation, - sym_binary_operation, - STATE(170), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(109), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [3436] = 24, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(184), 1, - sym_identifier, - ACTIONS(186), 1, - anon_sym_LPAREN, - ACTIONS(188), 1, - aux_sym_numeric_lit_token1, - ACTIONS(190), 1, - aux_sym_numeric_lit_token2, - ACTIONS(194), 1, - sym_null_lit, - ACTIONS(198), 1, - sym_quoted_template_start, - STATE(4), 1, - sym_object_start, - STATE(7), 1, - sym_tuple_start, - STATE(312), 1, - sym_expression, - STATE(317), 1, - sym_conditional, - STATE(424), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(192), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(196), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(223), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(224), 2, - sym_unary_operation, - sym_binary_operation, - STATE(228), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(230), 2, - sym_tuple, - sym_object, - STATE(232), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(155), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [3525] = 24, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(184), 1, - sym_identifier, - ACTIONS(186), 1, - anon_sym_LPAREN, - ACTIONS(188), 1, - aux_sym_numeric_lit_token1, - ACTIONS(190), 1, - aux_sym_numeric_lit_token2, - ACTIONS(194), 1, - sym_null_lit, - ACTIONS(198), 1, - sym_quoted_template_start, - STATE(4), 1, - sym_object_start, - STATE(7), 1, - sym_tuple_start, - STATE(317), 1, - sym_conditional, - STATE(325), 1, - sym_expression, - STATE(424), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(192), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(196), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(223), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(224), 2, - sym_unary_operation, - sym_binary_operation, - STATE(228), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(230), 2, - sym_tuple, - sym_object, - STATE(232), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(155), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [3614] = 24, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(184), 1, - sym_identifier, - ACTIONS(186), 1, - anon_sym_LPAREN, - ACTIONS(188), 1, - aux_sym_numeric_lit_token1, - ACTIONS(190), 1, - aux_sym_numeric_lit_token2, - ACTIONS(194), 1, - sym_null_lit, - ACTIONS(198), 1, - sym_quoted_template_start, - STATE(4), 1, - sym_object_start, - STATE(7), 1, - sym_tuple_start, - STATE(317), 1, - sym_conditional, - STATE(319), 1, - sym_expression, - STATE(424), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(192), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(196), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(223), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(224), 2, - sym_unary_operation, - sym_binary_operation, - STATE(228), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(230), 2, - sym_tuple, - sym_object, - STATE(232), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(155), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [3703] = 24, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(184), 1, - sym_identifier, - ACTIONS(186), 1, - anon_sym_LPAREN, - ACTIONS(188), 1, - aux_sym_numeric_lit_token1, - ACTIONS(190), 1, - aux_sym_numeric_lit_token2, - ACTIONS(194), 1, - sym_null_lit, - ACTIONS(198), 1, - sym_quoted_template_start, - STATE(4), 1, - sym_object_start, - STATE(7), 1, - sym_tuple_start, - STATE(310), 1, - sym_expression, - STATE(317), 1, - sym_conditional, - STATE(424), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(192), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(196), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(223), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(224), 2, - sym_unary_operation, - sym_binary_operation, - STATE(228), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(230), 2, - sym_tuple, - sym_object, - STATE(232), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(155), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [3792] = 24, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(15), 1, - sym_identifier, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - aux_sym_numeric_lit_token1, - ACTIONS(21), 1, - aux_sym_numeric_lit_token2, - ACTIONS(25), 1, - sym_null_lit, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(37), 1, - sym_quoted_template_start, - STATE(3), 1, - sym_object_start, - STATE(11), 1, - sym_tuple_start, - STATE(284), 1, - sym_conditional, - STATE(377), 1, - sym_expression, - STATE(416), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(31), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, - sym_unary_operation, - sym_binary_operation, - STATE(170), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(109), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [3881] = 24, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(15), 1, - sym_identifier, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - aux_sym_numeric_lit_token1, - ACTIONS(21), 1, - aux_sym_numeric_lit_token2, - ACTIONS(25), 1, - sym_null_lit, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(37), 1, - sym_quoted_template_start, - STATE(3), 1, - sym_object_start, - STATE(11), 1, - sym_tuple_start, - STATE(284), 1, - sym_conditional, - STATE(381), 1, - sym_expression, - STATE(416), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(31), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, - sym_unary_operation, - sym_binary_operation, - STATE(170), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(109), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [3970] = 24, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(110), 1, - sym_identifier, - ACTIONS(112), 1, - anon_sym_LPAREN, - ACTIONS(114), 1, - aux_sym_numeric_lit_token1, ACTIONS(116), 1, - aux_sym_numeric_lit_token2, + sym_identifier, + ACTIONS(118), 1, + anon_sym_LPAREN, ACTIONS(120), 1, - sym_null_lit, + aux_sym_numeric_lit_token1, + ACTIONS(122), 1, + aux_sym_numeric_lit_token2, ACTIONS(126), 1, + sym_null_lit, + ACTIONS(132), 1, sym_quoted_template_start, - STATE(5), 1, + ACTIONS(144), 1, + sym_strip_marker, + ACTIONS(146), 1, + sym_template_interpolation_end, + STATE(4), 1, sym_object_start, - STATE(10), 1, + STATE(8), 1, sym_tuple_start, - STATE(338), 1, - sym_expression, - STATE(346), 1, + STATE(448), 1, sym_conditional, - STATE(414), 1, + STATE(451), 1, + sym_expression, + STATE(580), 1, sym_heredoc_start, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(118), 2, + ACTIONS(124), 2, anon_sym_true, anon_sym_false, - ACTIONS(122), 2, + ACTIONS(128), 2, anon_sym_DASH, anon_sym_BANG, - STATE(242), 2, - sym_unary_operation, - sym_binary_operation, - STATE(248), 2, - sym_tuple, - sym_object, - STATE(251), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(253), 2, + STATE(290), 2, sym_quoted_template, sym_heredoc_template, - STATE(247), 3, + STATE(291), 2, + sym_unary_operation, + sym_binary_operation, + STATE(292), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(294), 2, + sym_tuple, + sym_object, + STATE(296), 3, sym_numeric_lit, sym_bool_lit, sym_string_lit, - STATE(195), 8, + STATE(222), 8, sym__expr_term, sym_literal_value, sym_collection_value, @@ -14039,7 +13066,384 @@ static const uint16_t ts_small_parse_table[] = { sym_function_call, sym_operation, sym_template_expr, - [4059] = 24, + [2427] = 26, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(118), 1, + anon_sym_LPAREN, + ACTIONS(120), 1, + aux_sym_numeric_lit_token1, + ACTIONS(122), 1, + aux_sym_numeric_lit_token2, + ACTIONS(126), 1, + sym_null_lit, + ACTIONS(132), 1, + sym_quoted_template_start, + ACTIONS(148), 1, + sym_strip_marker, + ACTIONS(150), 1, + sym_template_interpolation_end, + STATE(4), 1, + sym_object_start, + STATE(8), 1, + sym_tuple_start, + STATE(444), 1, + sym_expression, + STATE(448), 1, + sym_conditional, + STATE(580), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(124), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(128), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(290), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(291), 2, + sym_unary_operation, + sym_binary_operation, + STATE(292), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(294), 2, + sym_tuple, + sym_object, + STATE(296), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(222), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [2522] = 26, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + ACTIONS(152), 1, + anon_sym_RBRACE, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(345), 1, + sym_object_elem, + STATE(367), 1, + sym_conditional, + STATE(468), 1, + sym_expression, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(125), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [2617] = 26, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(118), 1, + anon_sym_LPAREN, + ACTIONS(120), 1, + aux_sym_numeric_lit_token1, + ACTIONS(122), 1, + aux_sym_numeric_lit_token2, + ACTIONS(126), 1, + sym_null_lit, + ACTIONS(132), 1, + sym_quoted_template_start, + ACTIONS(154), 1, + sym_strip_marker, + ACTIONS(156), 1, + sym_template_interpolation_end, + STATE(4), 1, + sym_object_start, + STATE(8), 1, + sym_tuple_start, + STATE(448), 1, + sym_conditional, + STATE(464), 1, + sym_expression, + STATE(580), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(124), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(128), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(290), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(291), 2, + sym_unary_operation, + sym_binary_operation, + STATE(292), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(294), 2, + sym_tuple, + sym_object, + STATE(296), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(222), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [2712] = 6, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(143), 2, + sym_attr_splat, + sym_full_splat, + STATE(156), 2, + sym_new_index, + sym_legacy_index, + STATE(167), 3, + sym_index, + sym_get_attr, + sym_splat, + ACTIONS(160), 12, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_BANG, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + ACTIONS(158), 20, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_LT_LT_DASH, + [2766] = 13, + ACTIONS(170), 1, + anon_sym_SLASH, + ACTIONS(178), 1, + anon_sym_AMP_AMP, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(166), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(168), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(172), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(174), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(176), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + STATE(143), 2, + sym_attr_splat, + sym_full_splat, + STATE(156), 2, + sym_new_index, + sym_legacy_index, + STATE(167), 3, + sym_index, + sym_get_attr, + sym_splat, + ACTIONS(164), 9, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_BANG, + anon_sym_LT_LT, + ACTIONS(162), 11, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_PIPE_PIPE, + anon_sym_LT_LT_DASH, + [2834] = 25, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + ACTIONS(180), 1, + anon_sym_RBRACK, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(367), 1, + sym_conditional, + STATE(393), 1, + sym_expression, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(125), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [2926] = 25, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(15), 1, @@ -14064,11 +13468,13 @@ static const uint16_t ts_small_parse_table[] = { sym_object_start, STATE(11), 1, sym_tuple_start, - STATE(284), 1, + STATE(345), 1, + sym_object_elem, + STATE(367), 1, sym_conditional, - STATE(386), 1, + STATE(468), 1, sym_expression, - STATE(416), 1, + STATE(572), 1, sym_heredoc_start, ACTIONS(3), 2, sym_comment, @@ -14079,23 +13485,23 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(31), 2, anon_sym_DASH, anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, + STATE(188), 2, sym_unary_operation, sym_binary_operation, - STATE(170), 3, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, sym_numeric_lit, sym_bool_lit, sym_string_lit, - STATE(109), 8, + STATE(125), 8, sym__expr_term, sym_literal_value, sym_collection_value, @@ -14104,7 +13510,67 @@ static const uint16_t ts_small_parse_table[] = { sym_function_call, sym_operation, sym_template_expr, - [4148] = 24, + [3018] = 18, + ACTIONS(170), 1, + anon_sym_SLASH, + ACTIONS(178), 1, + anon_sym_AMP_AMP, + ACTIONS(186), 1, + anon_sym_LBRACK, + ACTIONS(188), 1, + anon_sym_DOT, + ACTIONS(190), 1, + anon_sym_DOT_STAR, + ACTIONS(192), 1, + anon_sym_LBRACK_STAR_RBRACK, + ACTIONS(194), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(166), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(168), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(172), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(174), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(176), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + STATE(143), 2, + sym_attr_splat, + sym_full_splat, + STATE(156), 2, + sym_new_index, + sym_legacy_index, + STATE(167), 3, + sym_index, + sym_get_attr, + sym_splat, + ACTIONS(184), 7, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_BANG, + anon_sym_LT_LT, + ACTIONS(182), 8, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_QMARK, + anon_sym_LT_LT_DASH, + [3096] = 25, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(15), 1, @@ -14125,15 +13591,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_LT_DASH, ACTIONS(37), 1, sym_quoted_template_start, + ACTIONS(196), 1, + anon_sym_RBRACK, STATE(3), 1, sym_object_start, STATE(11), 1, sym_tuple_start, - STATE(284), 1, + STATE(367), 1, sym_conditional, - STATE(374), 1, + STATE(393), 1, sym_expression, - STATE(416), 1, + STATE(572), 1, sym_heredoc_start, ACTIONS(3), 2, sym_comment, @@ -14144,23 +13612,23 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(31), 2, anon_sym_DASH, anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, + STATE(188), 2, sym_unary_operation, sym_binary_operation, - STATE(170), 3, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, sym_numeric_lit, sym_bool_lit, sym_string_lit, - STATE(109), 8, + STATE(125), 8, sym__expr_term, sym_literal_value, sym_collection_value, @@ -14169,137 +13637,263 @@ static const uint16_t ts_small_parse_table[] = { sym_function_call, sym_operation, sym_template_expr, - [4237] = 24, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(15), 1, + [3188] = 8, + ACTIONS(170), 1, + anon_sym_SLASH, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(168), 2, + anon_sym_STAR, + anon_sym_PERCENT, + STATE(143), 2, + sym_attr_splat, + sym_full_splat, + STATE(156), 2, + sym_new_index, + sym_legacy_index, + STATE(167), 3, + sym_index, + sym_get_attr, + sym_splat, + ACTIONS(164), 11, sym_identifier, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, aux_sym_numeric_lit_token1, - ACTIONS(21), 1, - aux_sym_numeric_lit_token2, - ACTIONS(25), 1, + anon_sym_true, + anon_sym_false, sym_null_lit, - ACTIONS(27), 1, anon_sym_LBRACK, - ACTIONS(33), 1, + anon_sym_DOT, + anon_sym_BANG, + anon_sym_GT, + anon_sym_LT, anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(37), 1, + ACTIONS(162), 18, sym_quoted_template_start, - STATE(3), 1, - sym_object_start, - STATE(11), 1, - sym_tuple_start, - STATE(284), 1, - sym_conditional, - STATE(403), 1, - sym_expression, - STATE(416), 1, - sym_heredoc_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_LT_LT_DASH, + [3246] = 6, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(31), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, - sym_unary_operation, - sym_binary_operation, - STATE(170), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(109), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [4326] = 24, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(15), 1, + STATE(143), 2, + sym_attr_splat, + sym_full_splat, + STATE(156), 2, + sym_new_index, + sym_legacy_index, + STATE(167), 3, + sym_index, + sym_get_attr, + sym_splat, + ACTIONS(164), 12, sym_identifier, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, aux_sym_numeric_lit_token1, - ACTIONS(21), 1, - aux_sym_numeric_lit_token2, - ACTIONS(25), 1, + anon_sym_true, + anon_sym_false, sym_null_lit, - ACTIONS(27), 1, anon_sym_LBRACK, - ACTIONS(33), 1, + anon_sym_DOT, + anon_sym_BANG, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(37), 1, + ACTIONS(162), 20, sym_quoted_template_start, - STATE(3), 1, - sym_object_start, - STATE(11), 1, - sym_tuple_start, - STATE(284), 1, - sym_conditional, - STATE(382), 1, - sym_expression, - STATE(416), 1, - sym_heredoc_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_LT_LT_DASH, + [3300] = 9, + ACTIONS(170), 1, + anon_sym_SLASH, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(23), 2, + ACTIONS(166), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(168), 2, + anon_sym_STAR, + anon_sym_PERCENT, + STATE(143), 2, + sym_attr_splat, + sym_full_splat, + STATE(156), 2, + sym_new_index, + sym_legacy_index, + STATE(167), 3, + sym_index, + sym_get_attr, + sym_splat, + ACTIONS(164), 11, + sym_identifier, + aux_sym_numeric_lit_token1, anon_sym_true, anon_sym_false, - ACTIONS(31), 2, - anon_sym_DASH, + sym_null_lit, + anon_sym_LBRACK, + anon_sym_DOT, anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, - sym_unary_operation, - sym_binary_operation, - STATE(170), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(109), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [4415] = 24, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + ACTIONS(162), 16, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_LT_LT_DASH, + [3360] = 11, + ACTIONS(170), 1, + anon_sym_SLASH, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(166), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(168), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(172), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(174), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + STATE(143), 2, + sym_attr_splat, + sym_full_splat, + STATE(156), 2, + sym_new_index, + sym_legacy_index, + STATE(167), 3, + sym_index, + sym_get_attr, + sym_splat, + ACTIONS(164), 9, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_BANG, + anon_sym_LT_LT, + ACTIONS(162), 14, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_LT_LT_DASH, + [3424] = 12, + ACTIONS(170), 1, + anon_sym_SLASH, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(166), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(168), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(172), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(174), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(176), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + STATE(143), 2, + sym_attr_splat, + sym_full_splat, + STATE(156), 2, + sym_new_index, + sym_legacy_index, + STATE(167), 3, + sym_index, + sym_get_attr, + sym_splat, + ACTIONS(164), 9, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_BANG, + anon_sym_LT_LT, + ACTIONS(162), 12, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_LT_LT_DASH, + [3490] = 24, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(27), 1, @@ -14308,379 +13902,119 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_LT, ACTIONS(35), 1, anon_sym_LT_LT_DASH, + ACTIONS(198), 1, + sym_identifier, ACTIONS(200), 1, - sym_identifier, - ACTIONS(202), 1, anon_sym_LPAREN, - ACTIONS(204), 1, + ACTIONS(202), 1, aux_sym_numeric_lit_token1, - ACTIONS(206), 1, + ACTIONS(204), 1, aux_sym_numeric_lit_token2, - ACTIONS(210), 1, + ACTIONS(208), 1, sym_null_lit, + ACTIONS(212), 1, + sym_quoted_template_start, + STATE(6), 1, + sym_object_start, + STATE(14), 1, + sym_tuple_start, + STATE(462), 1, + sym_expression, + STATE(475), 1, + sym_conditional, + STATE(599), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(206), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(210), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(304), 2, + sym_tuple, + sym_object, + STATE(315), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(334), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(335), 2, + sym_unary_operation, + sym_binary_operation, + STATE(320), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(225), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [3579] = 24, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, ACTIONS(214), 1, + sym_identifier, + ACTIONS(216), 1, + anon_sym_LPAREN, + ACTIONS(218), 1, + aux_sym_numeric_lit_token1, + ACTIONS(220), 1, + aux_sym_numeric_lit_token2, + ACTIONS(224), 1, + sym_null_lit, + ACTIONS(228), 1, sym_quoted_template_start, STATE(2), 1, sym_object_start, - STATE(6), 1, + STATE(13), 1, sym_tuple_start, - STATE(274), 1, - sym_expression, - STATE(275), 1, - sym_conditional, - STATE(419), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(208), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(212), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(117), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(126), 2, - sym_tuple, - sym_object, - STATE(140), 2, - sym_unary_operation, - sym_binary_operation, - STATE(141), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(133), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(24), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [4504] = 24, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(200), 1, - sym_identifier, - ACTIONS(202), 1, - anon_sym_LPAREN, - ACTIONS(204), 1, - aux_sym_numeric_lit_token1, - ACTIONS(206), 1, - aux_sym_numeric_lit_token2, - ACTIONS(210), 1, - sym_null_lit, - ACTIONS(214), 1, - sym_quoted_template_start, - STATE(2), 1, - sym_object_start, - STATE(6), 1, - sym_tuple_start, - STATE(273), 1, - sym_expression, - STATE(275), 1, - sym_conditional, - STATE(419), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(208), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(212), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(117), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(126), 2, - sym_tuple, - sym_object, - STATE(140), 2, - sym_unary_operation, - sym_binary_operation, - STATE(141), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(133), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(24), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [4593] = 24, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(15), 1, - sym_identifier, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - aux_sym_numeric_lit_token1, - ACTIONS(21), 1, - aux_sym_numeric_lit_token2, - ACTIONS(25), 1, - sym_null_lit, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(37), 1, - sym_quoted_template_start, - STATE(3), 1, - sym_object_start, - STATE(11), 1, - sym_tuple_start, - STATE(284), 1, - sym_conditional, - STATE(413), 1, - sym_expression, - STATE(416), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(31), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, - sym_unary_operation, - sym_binary_operation, - STATE(170), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(109), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [4682] = 24, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(184), 1, - sym_identifier, - ACTIONS(186), 1, - anon_sym_LPAREN, - ACTIONS(188), 1, - aux_sym_numeric_lit_token1, - ACTIONS(190), 1, - aux_sym_numeric_lit_token2, - ACTIONS(194), 1, - sym_null_lit, - ACTIONS(198), 1, - sym_quoted_template_start, - STATE(4), 1, - sym_object_start, - STATE(7), 1, - sym_tuple_start, - STATE(317), 1, - sym_conditional, - STATE(323), 1, - sym_expression, - STATE(424), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(192), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(196), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(223), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(224), 2, - sym_unary_operation, - sym_binary_operation, - STATE(228), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(230), 2, - sym_tuple, - sym_object, - STATE(232), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(155), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [4771] = 24, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(184), 1, - sym_identifier, - ACTIONS(186), 1, - anon_sym_LPAREN, - ACTIONS(188), 1, - aux_sym_numeric_lit_token1, - ACTIONS(190), 1, - aux_sym_numeric_lit_token2, - ACTIONS(194), 1, - sym_null_lit, - ACTIONS(198), 1, - sym_quoted_template_start, - STATE(4), 1, - sym_object_start, - STATE(7), 1, - sym_tuple_start, - STATE(317), 1, - sym_conditional, - STATE(320), 1, - sym_expression, - STATE(424), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(192), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(196), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(223), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(224), 2, - sym_unary_operation, - sym_binary_operation, - STATE(228), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(230), 2, - sym_tuple, - sym_object, - STATE(232), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(155), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [4860] = 24, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(15), 1, - sym_identifier, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - aux_sym_numeric_lit_token1, - ACTIONS(21), 1, - aux_sym_numeric_lit_token2, - ACTIONS(25), 1, - sym_null_lit, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(37), 1, - sym_quoted_template_start, - STATE(3), 1, - sym_object_start, - STATE(11), 1, - sym_tuple_start, - STATE(284), 1, - sym_conditional, STATE(392), 1, + sym_conditional, + STATE(397), 1, sym_expression, - STATE(416), 1, + STATE(594), 1, sym_heredoc_start, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(23), 2, + ACTIONS(222), 2, anon_sym_true, anon_sym_false, - ACTIONS(31), 2, + ACTIONS(226), 2, anon_sym_DASH, anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, + STATE(248), 2, sym_for_tuple_expr, sym_for_object_expr, - STATE(180), 2, + STATE(251), 2, + sym_tuple, + sym_object, + STATE(275), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(277), 2, sym_unary_operation, sym_binary_operation, - STATE(170), 3, + STATE(259), 3, sym_numeric_lit, sym_bool_lit, sym_string_lit, - STATE(109), 8, + STATE(174), 8, sym__expr_term, sym_literal_value, sym_collection_value, @@ -14689,7 +14023,332 @@ static const uint16_t ts_small_parse_table[] = { sym_function_call, sym_operation, sym_template_expr, - [4949] = 24, + [3668] = 24, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(214), 1, + sym_identifier, + ACTIONS(216), 1, + anon_sym_LPAREN, + ACTIONS(218), 1, + aux_sym_numeric_lit_token1, + ACTIONS(220), 1, + aux_sym_numeric_lit_token2, + ACTIONS(224), 1, + sym_null_lit, + ACTIONS(228), 1, + sym_quoted_template_start, + STATE(2), 1, + sym_object_start, + STATE(13), 1, + sym_tuple_start, + STATE(385), 1, + sym_expression, + STATE(392), 1, + sym_conditional, + STATE(594), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(222), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(226), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(248), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(251), 2, + sym_tuple, + sym_object, + STATE(275), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(277), 2, + sym_unary_operation, + sym_binary_operation, + STATE(259), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(174), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [3757] = 24, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(214), 1, + sym_identifier, + ACTIONS(216), 1, + anon_sym_LPAREN, + ACTIONS(218), 1, + aux_sym_numeric_lit_token1, + ACTIONS(220), 1, + aux_sym_numeric_lit_token2, + ACTIONS(224), 1, + sym_null_lit, + ACTIONS(228), 1, + sym_quoted_template_start, + STATE(2), 1, + sym_object_start, + STATE(13), 1, + sym_tuple_start, + STATE(392), 1, + sym_conditional, + STATE(394), 1, + sym_expression, + STATE(594), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(222), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(226), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(248), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(251), 2, + sym_tuple, + sym_object, + STATE(275), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(277), 2, + sym_unary_operation, + sym_binary_operation, + STATE(259), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(174), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [3846] = 24, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(214), 1, + sym_identifier, + ACTIONS(216), 1, + anon_sym_LPAREN, + ACTIONS(218), 1, + aux_sym_numeric_lit_token1, + ACTIONS(220), 1, + aux_sym_numeric_lit_token2, + ACTIONS(224), 1, + sym_null_lit, + ACTIONS(228), 1, + sym_quoted_template_start, + STATE(2), 1, + sym_object_start, + STATE(13), 1, + sym_tuple_start, + STATE(378), 1, + sym_expression, + STATE(392), 1, + sym_conditional, + STATE(594), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(222), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(226), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(248), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(251), 2, + sym_tuple, + sym_object, + STATE(275), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(277), 2, + sym_unary_operation, + sym_binary_operation, + STATE(259), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(174), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [3935] = 24, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(214), 1, + sym_identifier, + ACTIONS(216), 1, + anon_sym_LPAREN, + ACTIONS(218), 1, + aux_sym_numeric_lit_token1, + ACTIONS(220), 1, + aux_sym_numeric_lit_token2, + ACTIONS(224), 1, + sym_null_lit, + ACTIONS(228), 1, + sym_quoted_template_start, + STATE(2), 1, + sym_object_start, + STATE(13), 1, + sym_tuple_start, + STATE(392), 1, + sym_conditional, + STATE(400), 1, + sym_expression, + STATE(594), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(222), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(226), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(248), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(251), 2, + sym_tuple, + sym_object, + STATE(275), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(277), 2, + sym_unary_operation, + sym_binary_operation, + STATE(259), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(174), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [4024] = 24, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(214), 1, + sym_identifier, + ACTIONS(216), 1, + anon_sym_LPAREN, + ACTIONS(218), 1, + aux_sym_numeric_lit_token1, + ACTIONS(220), 1, + aux_sym_numeric_lit_token2, + ACTIONS(224), 1, + sym_null_lit, + ACTIONS(228), 1, + sym_quoted_template_start, + STATE(2), 1, + sym_object_start, + STATE(13), 1, + sym_tuple_start, + STATE(384), 1, + sym_expression, + STATE(392), 1, + sym_conditional, + STATE(594), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(222), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(226), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(248), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(251), 2, + sym_tuple, + sym_object, + STATE(275), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(277), 2, + sym_unary_operation, + sym_binary_operation, + STATE(259), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(174), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [4113] = 24, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(15), 1, @@ -14714,38 +14373,428 @@ static const uint16_t ts_small_parse_table[] = { sym_object_start, STATE(11), 1, sym_tuple_start, - STATE(284), 1, + STATE(367), 1, + sym_conditional, + STATE(516), 1, + sym_expression, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(125), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [4202] = 24, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(367), 1, + sym_conditional, + STATE(541), 1, + sym_expression, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(125), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [4291] = 24, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(367), 1, + sym_conditional, + STATE(483), 1, + sym_expression, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(125), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [4380] = 24, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(367), 1, + sym_conditional, + STATE(551), 1, + sym_expression, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(125), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [4469] = 24, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(367), 1, + sym_conditional, + STATE(501), 1, + sym_expression, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(125), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [4558] = 24, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(367), 1, + sym_conditional, + STATE(554), 1, + sym_expression, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(125), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [4647] = 24, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(214), 1, + sym_identifier, + ACTIONS(216), 1, + anon_sym_LPAREN, + ACTIONS(218), 1, + aux_sym_numeric_lit_token1, + ACTIONS(220), 1, + aux_sym_numeric_lit_token2, + ACTIONS(224), 1, + sym_null_lit, + ACTIONS(228), 1, + sym_quoted_template_start, + STATE(2), 1, + sym_object_start, + STATE(13), 1, + sym_tuple_start, + STATE(392), 1, sym_conditional, STATE(396), 1, sym_expression, - STATE(416), 1, + STATE(594), 1, sym_heredoc_start, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(23), 2, + ACTIONS(222), 2, anon_sym_true, anon_sym_false, - ACTIONS(31), 2, + ACTIONS(226), 2, anon_sym_DASH, anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, + STATE(248), 2, sym_for_tuple_expr, sym_for_object_expr, - STATE(180), 2, + STATE(251), 2, + sym_tuple, + sym_object, + STATE(275), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(277), 2, sym_unary_operation, sym_binary_operation, - STATE(170), 3, + STATE(259), 3, sym_numeric_lit, sym_bool_lit, sym_string_lit, - STATE(109), 8, + STATE(174), 8, sym__expr_term, sym_literal_value, sym_collection_value, @@ -14754,137 +14803,7 @@ static const uint16_t ts_small_parse_table[] = { sym_function_call, sym_operation, sym_template_expr, - [5038] = 24, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(15), 1, - sym_identifier, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - aux_sym_numeric_lit_token1, - ACTIONS(21), 1, - aux_sym_numeric_lit_token2, - ACTIONS(25), 1, - sym_null_lit, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(37), 1, - sym_quoted_template_start, - STATE(3), 1, - sym_object_start, - STATE(11), 1, - sym_tuple_start, - STATE(284), 1, - sym_conditional, - STATE(364), 1, - sym_expression, - STATE(416), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(31), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, - sym_unary_operation, - sym_binary_operation, - STATE(170), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(109), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [5127] = 24, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(15), 1, - sym_identifier, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - aux_sym_numeric_lit_token1, - ACTIONS(21), 1, - aux_sym_numeric_lit_token2, - ACTIONS(25), 1, - sym_null_lit, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(37), 1, - sym_quoted_template_start, - STATE(3), 1, - sym_object_start, - STATE(11), 1, - sym_tuple_start, - STATE(284), 1, - sym_conditional, - STATE(365), 1, - sym_expression, - STATE(416), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(31), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, - sym_unary_operation, - sym_binary_operation, - STATE(170), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(109), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [5216] = 24, + [4736] = 24, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(27), 1, @@ -14893,927 +14812,50 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_LT, ACTIONS(35), 1, anon_sym_LT_LT_DASH, - ACTIONS(184), 1, + ACTIONS(230), 1, sym_identifier, - ACTIONS(186), 1, + ACTIONS(232), 1, anon_sym_LPAREN, - ACTIONS(188), 1, + ACTIONS(234), 1, aux_sym_numeric_lit_token1, - ACTIONS(190), 1, + ACTIONS(236), 1, aux_sym_numeric_lit_token2, - ACTIONS(194), 1, + ACTIONS(240), 1, sym_null_lit, - ACTIONS(198), 1, - sym_quoted_template_start, - STATE(4), 1, - sym_object_start, - STATE(7), 1, - sym_tuple_start, - STATE(314), 1, - sym_expression, - STATE(317), 1, - sym_conditional, - STATE(424), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(192), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(196), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(223), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(224), 2, - sym_unary_operation, - sym_binary_operation, - STATE(228), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(230), 2, - sym_tuple, - sym_object, - STATE(232), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(155), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [5305] = 24, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(15), 1, - sym_identifier, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - aux_sym_numeric_lit_token1, - ACTIONS(21), 1, - aux_sym_numeric_lit_token2, - ACTIONS(25), 1, - sym_null_lit, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(37), 1, - sym_quoted_template_start, - STATE(3), 1, - sym_object_start, - STATE(11), 1, - sym_tuple_start, - STATE(284), 1, - sym_conditional, - STATE(357), 1, - sym_expression, - STATE(416), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(31), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, - sym_unary_operation, - sym_binary_operation, - STATE(170), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(109), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [5394] = 24, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(15), 1, - sym_identifier, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - aux_sym_numeric_lit_token1, - ACTIONS(21), 1, - aux_sym_numeric_lit_token2, - ACTIONS(25), 1, - sym_null_lit, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(37), 1, - sym_quoted_template_start, - STATE(3), 1, - sym_object_start, - STATE(11), 1, - sym_tuple_start, - STATE(284), 1, - sym_conditional, - STATE(332), 1, - sym_expression, - STATE(416), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(31), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, - sym_unary_operation, - sym_binary_operation, - STATE(170), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(109), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [5483] = 24, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(15), 1, - sym_identifier, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - aux_sym_numeric_lit_token1, - ACTIONS(21), 1, - aux_sym_numeric_lit_token2, - ACTIONS(25), 1, - sym_null_lit, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(37), 1, - sym_quoted_template_start, - STATE(3), 1, - sym_object_start, - STATE(11), 1, - sym_tuple_start, - STATE(284), 1, - sym_conditional, - STATE(376), 1, - sym_expression, - STATE(416), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(31), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, - sym_unary_operation, - sym_binary_operation, - STATE(170), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(109), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [5572] = 24, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(15), 1, - sym_identifier, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - aux_sym_numeric_lit_token1, - ACTIONS(21), 1, - aux_sym_numeric_lit_token2, - ACTIONS(25), 1, - sym_null_lit, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(37), 1, - sym_quoted_template_start, - STATE(3), 1, - sym_object_start, - STATE(11), 1, - sym_tuple_start, - STATE(284), 1, - sym_conditional, - STATE(405), 1, - sym_expression, - STATE(416), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(31), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, - sym_unary_operation, - sym_binary_operation, - STATE(170), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(109), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [5661] = 24, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(15), 1, - sym_identifier, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - aux_sym_numeric_lit_token1, - ACTIONS(21), 1, - aux_sym_numeric_lit_token2, - ACTIONS(25), 1, - sym_null_lit, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(37), 1, - sym_quoted_template_start, - STATE(3), 1, - sym_object_start, - STATE(11), 1, - sym_tuple_start, - STATE(284), 1, - sym_conditional, - STATE(409), 1, - sym_expression, - STATE(416), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(31), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, - sym_unary_operation, - sym_binary_operation, - STATE(170), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(109), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [5750] = 24, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(15), 1, - sym_identifier, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - aux_sym_numeric_lit_token1, - ACTIONS(21), 1, - aux_sym_numeric_lit_token2, - ACTIONS(25), 1, - sym_null_lit, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(37), 1, - sym_quoted_template_start, - STATE(3), 1, - sym_object_start, - STATE(11), 1, - sym_tuple_start, - STATE(284), 1, - sym_conditional, - STATE(322), 1, - sym_expression, - STATE(416), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(31), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, - sym_unary_operation, - sym_binary_operation, - STATE(170), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(109), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [5839] = 24, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(15), 1, - sym_identifier, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - aux_sym_numeric_lit_token1, - ACTIONS(21), 1, - aux_sym_numeric_lit_token2, - ACTIONS(25), 1, - sym_null_lit, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(37), 1, - sym_quoted_template_start, - STATE(3), 1, - sym_object_start, - STATE(11), 1, - sym_tuple_start, - STATE(284), 1, - sym_conditional, - STATE(410), 1, - sym_expression, - STATE(416), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(31), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, - sym_unary_operation, - sym_binary_operation, - STATE(170), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(109), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [5928] = 24, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(15), 1, - sym_identifier, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - aux_sym_numeric_lit_token1, - ACTIONS(21), 1, - aux_sym_numeric_lit_token2, - ACTIONS(25), 1, - sym_null_lit, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(37), 1, - sym_quoted_template_start, - STATE(3), 1, - sym_object_start, - STATE(11), 1, - sym_tuple_start, - STATE(284), 1, - sym_conditional, - STATE(285), 1, - sym_expression, - STATE(416), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(31), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, - sym_unary_operation, - sym_binary_operation, - STATE(170), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(109), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [6017] = 7, - ACTIONS(220), 1, - anon_sym_LBRACK, - ACTIONS(223), 1, - anon_sym_DOT, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - STATE(130), 2, - sym_new_index, - sym_legacy_index, - STATE(69), 3, - sym_index, - sym_get_attr, - aux_sym_attr_splat_repeat1, - ACTIONS(218), 10, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_BANG, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(216), 20, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [6071] = 7, - ACTIONS(148), 1, - anon_sym_LBRACK, - ACTIONS(150), 1, - anon_sym_DOT, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - STATE(130), 2, - sym_new_index, - sym_legacy_index, - STATE(73), 3, - sym_index, - sym_get_attr, - aux_sym_attr_splat_repeat1, - ACTIONS(228), 10, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_BANG, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(226), 20, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [6125] = 7, - ACTIONS(148), 1, - anon_sym_LBRACK, - ACTIONS(150), 1, - anon_sym_DOT, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - STATE(130), 2, - sym_new_index, - sym_legacy_index, - STATE(72), 3, - sym_index, - sym_get_attr, - aux_sym_attr_splat_repeat1, - ACTIONS(232), 10, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_BANG, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(230), 20, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [6179] = 7, - ACTIONS(148), 1, - anon_sym_LBRACK, - ACTIONS(150), 1, - anon_sym_DOT, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - STATE(130), 2, - sym_new_index, - sym_legacy_index, - STATE(69), 3, - sym_index, - sym_get_attr, - aux_sym_attr_splat_repeat1, - ACTIONS(236), 10, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_BANG, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(234), 20, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [6233] = 7, - ACTIONS(148), 1, - anon_sym_LBRACK, - ACTIONS(150), 1, - anon_sym_DOT, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - STATE(130), 2, - sym_new_index, - sym_legacy_index, - STATE(69), 3, - sym_index, - sym_get_attr, - aux_sym_attr_splat_repeat1, - ACTIONS(240), 10, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_BANG, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(238), 20, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [6287] = 22, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(110), 1, - sym_identifier, - ACTIONS(112), 1, - anon_sym_LPAREN, - ACTIONS(114), 1, - aux_sym_numeric_lit_token1, - ACTIONS(116), 1, - aux_sym_numeric_lit_token2, - ACTIONS(120), 1, - sym_null_lit, - ACTIONS(126), 1, + ACTIONS(244), 1, sym_quoted_template_start, STATE(5), 1, sym_object_start, - STATE(10), 1, + STATE(7), 1, sym_tuple_start, - STATE(414), 1, + STATE(342), 1, + sym_expression, + STATE(344), 1, + sym_conditional, + STATE(587), 1, sym_heredoc_start, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(118), 2, + ACTIONS(238), 2, anon_sym_true, anon_sym_false, - ACTIONS(122), 2, + ACTIONS(242), 2, anon_sym_DASH, anon_sym_BANG, - STATE(242), 2, - sym_unary_operation, - sym_binary_operation, - STATE(248), 2, - sym_tuple, - sym_object, - STATE(251), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(253), 2, + STATE(139), 2, sym_quoted_template, sym_heredoc_template, - STATE(247), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(201), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [6370] = 22, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(200), 1, - sym_identifier, - ACTIONS(202), 1, - anon_sym_LPAREN, - ACTIONS(204), 1, - aux_sym_numeric_lit_token1, - ACTIONS(206), 1, - aux_sym_numeric_lit_token2, - ACTIONS(210), 1, - sym_null_lit, - ACTIONS(214), 1, - sym_quoted_template_start, - STATE(2), 1, - sym_object_start, - STATE(6), 1, - sym_tuple_start, - STATE(419), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(208), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(212), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(117), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(126), 2, - sym_tuple, - sym_object, STATE(140), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(154), 2, + sym_tuple, + sym_object, + STATE(157), 2, sym_unary_operation, sym_binary_operation, - STATE(141), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(133), 3, + STATE(153), 3, sym_numeric_lit, sym_bool_lit, sym_string_lit, @@ -15826,251 +14868,7 @@ static const uint16_t ts_small_parse_table[] = { sym_function_call, sym_operation, sym_template_expr, - [6453] = 22, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(184), 1, - sym_identifier, - ACTIONS(186), 1, - anon_sym_LPAREN, - ACTIONS(188), 1, - aux_sym_numeric_lit_token1, - ACTIONS(190), 1, - aux_sym_numeric_lit_token2, - ACTIONS(194), 1, - sym_null_lit, - ACTIONS(198), 1, - sym_quoted_template_start, - STATE(4), 1, - sym_object_start, - STATE(7), 1, - sym_tuple_start, - STATE(424), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(192), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(196), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(223), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(224), 2, - sym_unary_operation, - sym_binary_operation, - STATE(228), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(230), 2, - sym_tuple, - sym_object, - STATE(232), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(149), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [6536] = 22, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(110), 1, - sym_identifier, - ACTIONS(112), 1, - anon_sym_LPAREN, - ACTIONS(114), 1, - aux_sym_numeric_lit_token1, - ACTIONS(116), 1, - aux_sym_numeric_lit_token2, - ACTIONS(120), 1, - sym_null_lit, - ACTIONS(126), 1, - sym_quoted_template_start, - STATE(5), 1, - sym_object_start, - STATE(10), 1, - sym_tuple_start, - STATE(414), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(118), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(122), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(242), 2, - sym_unary_operation, - sym_binary_operation, - STATE(248), 2, - sym_tuple, - sym_object, - STATE(251), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(253), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(247), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(194), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [6619] = 22, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(200), 1, - sym_identifier, - ACTIONS(202), 1, - anon_sym_LPAREN, - ACTIONS(204), 1, - aux_sym_numeric_lit_token1, - ACTIONS(206), 1, - aux_sym_numeric_lit_token2, - ACTIONS(210), 1, - sym_null_lit, - ACTIONS(214), 1, - sym_quoted_template_start, - STATE(2), 1, - sym_object_start, - STATE(6), 1, - sym_tuple_start, - STATE(419), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(208), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(212), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(117), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(126), 2, - sym_tuple, - sym_object, - STATE(140), 2, - sym_unary_operation, - sym_binary_operation, - STATE(141), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(133), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(27), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [6702] = 22, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(110), 1, - sym_identifier, - ACTIONS(112), 1, - anon_sym_LPAREN, - ACTIONS(114), 1, - aux_sym_numeric_lit_token1, - ACTIONS(116), 1, - aux_sym_numeric_lit_token2, - ACTIONS(120), 1, - sym_null_lit, - ACTIONS(126), 1, - sym_quoted_template_start, - STATE(5), 1, - sym_object_start, - STATE(10), 1, - sym_tuple_start, - STATE(414), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(118), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(122), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(242), 2, - sym_unary_operation, - sym_binary_operation, - STATE(248), 2, - sym_tuple, - sym_object, - STATE(251), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(253), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(247), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(198), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [6785] = 22, + [4825] = 24, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(15), 1, @@ -16095,7 +14893,11 @@ static const uint16_t ts_small_parse_table[] = { sym_object_start, STATE(11), 1, sym_tuple_start, - STATE(416), 1, + STATE(367), 1, + sym_conditional, + STATE(555), 1, + sym_expression, + STATE(572), 1, sym_heredoc_start, ACTIONS(3), 2, sym_comment, @@ -16106,23 +14908,23 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(31), 2, anon_sym_DASH, anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, + STATE(188), 2, sym_unary_operation, sym_binary_operation, - STATE(170), 3, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, sym_numeric_lit, sym_bool_lit, sym_string_lit, - STATE(102), 8, + STATE(125), 8, sym__expr_term, sym_literal_value, sym_collection_value, @@ -16131,68 +14933,7 @@ static const uint16_t ts_small_parse_table[] = { sym_function_call, sym_operation, sym_template_expr, - [6868] = 22, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(15), 1, - sym_identifier, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - aux_sym_numeric_lit_token1, - ACTIONS(21), 1, - aux_sym_numeric_lit_token2, - ACTIONS(25), 1, - sym_null_lit, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(37), 1, - sym_quoted_template_start, - STATE(3), 1, - sym_object_start, - STATE(11), 1, - sym_tuple_start, - STATE(416), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(31), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, - sym_unary_operation, - sym_binary_operation, - STATE(170), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(103), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [6951] = 22, + [4914] = 24, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(27), 1, @@ -16201,50 +14942,54 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_LT, ACTIONS(35), 1, anon_sym_LT_LT_DASH, - ACTIONS(110), 1, + ACTIONS(230), 1, sym_identifier, - ACTIONS(112), 1, + ACTIONS(232), 1, anon_sym_LPAREN, - ACTIONS(114), 1, + ACTIONS(234), 1, aux_sym_numeric_lit_token1, - ACTIONS(116), 1, + ACTIONS(236), 1, aux_sym_numeric_lit_token2, - ACTIONS(120), 1, + ACTIONS(240), 1, sym_null_lit, - ACTIONS(126), 1, + ACTIONS(244), 1, sym_quoted_template_start, STATE(5), 1, sym_object_start, - STATE(10), 1, + STATE(7), 1, sym_tuple_start, - STATE(414), 1, + STATE(343), 1, + sym_expression, + STATE(344), 1, + sym_conditional, + STATE(587), 1, sym_heredoc_start, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(118), 2, + ACTIONS(238), 2, anon_sym_true, anon_sym_false, - ACTIONS(122), 2, + ACTIONS(242), 2, anon_sym_DASH, anon_sym_BANG, - STATE(242), 2, - sym_unary_operation, - sym_binary_operation, - STATE(248), 2, - sym_tuple, - sym_object, - STATE(251), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(253), 2, + STATE(139), 2, sym_quoted_template, sym_heredoc_template, - STATE(247), 3, + STATE(140), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(154), 2, + sym_tuple, + sym_object, + STATE(157), 2, + sym_unary_operation, + sym_binary_operation, + STATE(153), 3, sym_numeric_lit, sym_bool_lit, sym_string_lit, - STATE(199), 8, + STATE(33), 8, sym__expr_term, sym_literal_value, sym_collection_value, @@ -16253,7 +14998,202 @@ static const uint16_t ts_small_parse_table[] = { sym_function_call, sym_operation, sym_template_expr, - [7034] = 22, + [5003] = 24, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(367), 1, + sym_conditional, + STATE(494), 1, + sym_expression, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(125), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [5092] = 24, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(367), 1, + sym_conditional, + STATE(509), 1, + sym_expression, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(125), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [5181] = 24, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(367), 1, + sym_conditional, + STATE(540), 1, + sym_expression, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(125), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [5270] = 24, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(27), 1, @@ -16262,50 +15202,639 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_LT, ACTIONS(35), 1, anon_sym_LT_LT_DASH, - ACTIONS(184), 1, + ACTIONS(214), 1, sym_identifier, - ACTIONS(186), 1, + ACTIONS(216), 1, anon_sym_LPAREN, - ACTIONS(188), 1, + ACTIONS(218), 1, aux_sym_numeric_lit_token1, - ACTIONS(190), 1, + ACTIONS(220), 1, aux_sym_numeric_lit_token2, - ACTIONS(194), 1, + ACTIONS(224), 1, sym_null_lit, - ACTIONS(198), 1, + ACTIONS(228), 1, + sym_quoted_template_start, + STATE(2), 1, + sym_object_start, + STATE(13), 1, + sym_tuple_start, + STATE(379), 1, + sym_expression, + STATE(392), 1, + sym_conditional, + STATE(594), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(222), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(226), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(248), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(251), 2, + sym_tuple, + sym_object, + STATE(275), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(277), 2, + sym_unary_operation, + sym_binary_operation, + STATE(259), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(174), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [5359] = 24, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(367), 1, + sym_conditional, + STATE(506), 1, + sym_expression, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(125), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [5448] = 24, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(367), 1, + sym_conditional, + STATE(511), 1, + sym_expression, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(125), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [5537] = 24, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(367), 1, + sym_conditional, + STATE(368), 1, + sym_expression, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(125), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [5626] = 24, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(214), 1, + sym_identifier, + ACTIONS(216), 1, + anon_sym_LPAREN, + ACTIONS(218), 1, + aux_sym_numeric_lit_token1, + ACTIONS(220), 1, + aux_sym_numeric_lit_token2, + ACTIONS(224), 1, + sym_null_lit, + ACTIONS(228), 1, + sym_quoted_template_start, + STATE(2), 1, + sym_object_start, + STATE(13), 1, + sym_tuple_start, + STATE(390), 1, + sym_expression, + STATE(392), 1, + sym_conditional, + STATE(594), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(222), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(226), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(248), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(251), 2, + sym_tuple, + sym_object, + STATE(275), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(277), 2, + sym_unary_operation, + sym_binary_operation, + STATE(259), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(174), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [5715] = 24, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(367), 1, + sym_conditional, + STATE(393), 1, + sym_expression, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(125), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [5804] = 24, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(367), 1, + sym_conditional, + STATE(513), 1, + sym_expression, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(125), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [5893] = 24, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(367), 1, + sym_conditional, + STATE(535), 1, + sym_expression, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(125), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [5982] = 24, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(367), 1, + sym_conditional, + STATE(514), 1, + sym_expression, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(125), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [6071] = 24, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(118), 1, + anon_sym_LPAREN, + ACTIONS(120), 1, + aux_sym_numeric_lit_token1, + ACTIONS(122), 1, + aux_sym_numeric_lit_token2, + ACTIONS(126), 1, + sym_null_lit, + ACTIONS(132), 1, sym_quoted_template_start, STATE(4), 1, sym_object_start, - STATE(7), 1, + STATE(8), 1, sym_tuple_start, - STATE(424), 1, + STATE(446), 1, + sym_expression, + STATE(448), 1, + sym_conditional, + STATE(580), 1, sym_heredoc_start, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(192), 2, + ACTIONS(124), 2, anon_sym_true, anon_sym_false, - ACTIONS(196), 2, + ACTIONS(128), 2, anon_sym_DASH, anon_sym_BANG, - STATE(223), 2, + STATE(290), 2, sym_quoted_template, sym_heredoc_template, - STATE(224), 2, + STATE(291), 2, sym_unary_operation, sym_binary_operation, - STATE(228), 2, + STATE(292), 2, sym_for_tuple_expr, sym_for_object_expr, - STATE(230), 2, + STATE(294), 2, sym_tuple, sym_object, - STATE(232), 3, + STATE(296), 3, sym_numeric_lit, sym_bool_lit, sym_string_lit, - STATE(150), 8, + STATE(222), 8, sym__expr_term, sym_literal_value, sym_collection_value, @@ -16314,7 +15843,72 @@ static const uint16_t ts_small_parse_table[] = { sym_function_call, sym_operation, sym_template_expr, - [7117] = 22, + [6160] = 24, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(367), 1, + sym_conditional, + STATE(425), 1, + sym_expression, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(125), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [6249] = 24, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(27), 1, @@ -16323,50 +15917,379 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_LT, ACTIONS(35), 1, anon_sym_LT_LT_DASH, - ACTIONS(200), 1, + ACTIONS(198), 1, sym_identifier, - ACTIONS(202), 1, + ACTIONS(200), 1, anon_sym_LPAREN, - ACTIONS(204), 1, + ACTIONS(202), 1, aux_sym_numeric_lit_token1, - ACTIONS(206), 1, + ACTIONS(204), 1, aux_sym_numeric_lit_token2, - ACTIONS(210), 1, + ACTIONS(208), 1, sym_null_lit, + ACTIONS(212), 1, + sym_quoted_template_start, + STATE(6), 1, + sym_object_start, + STATE(14), 1, + sym_tuple_start, + STATE(454), 1, + sym_expression, + STATE(475), 1, + sym_conditional, + STATE(599), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(206), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(210), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(304), 2, + sym_tuple, + sym_object, + STATE(315), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(334), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(335), 2, + sym_unary_operation, + sym_binary_operation, + STATE(320), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(225), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [6338] = 24, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(198), 1, + sym_identifier, + ACTIONS(200), 1, + anon_sym_LPAREN, + ACTIONS(202), 1, + aux_sym_numeric_lit_token1, + ACTIONS(204), 1, + aux_sym_numeric_lit_token2, + ACTIONS(208), 1, + sym_null_lit, + ACTIONS(212), 1, + sym_quoted_template_start, + STATE(6), 1, + sym_object_start, + STATE(14), 1, + sym_tuple_start, + STATE(460), 1, + sym_expression, + STATE(475), 1, + sym_conditional, + STATE(599), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(206), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(210), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(304), 2, + sym_tuple, + sym_object, + STATE(315), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(334), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(335), 2, + sym_unary_operation, + sym_binary_operation, + STATE(320), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(225), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [6427] = 24, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(367), 1, + sym_conditional, + STATE(503), 1, + sym_expression, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(125), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [6516] = 24, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(198), 1, + sym_identifier, + ACTIONS(200), 1, + anon_sym_LPAREN, + ACTIONS(202), 1, + aux_sym_numeric_lit_token1, + ACTIONS(204), 1, + aux_sym_numeric_lit_token2, + ACTIONS(208), 1, + sym_null_lit, + ACTIONS(212), 1, + sym_quoted_template_start, + STATE(6), 1, + sym_object_start, + STATE(14), 1, + sym_tuple_start, + STATE(465), 1, + sym_expression, + STATE(475), 1, + sym_conditional, + STATE(599), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(206), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(210), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(304), 2, + sym_tuple, + sym_object, + STATE(315), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(334), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(335), 2, + sym_unary_operation, + sym_binary_operation, + STATE(320), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(225), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [6605] = 24, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(198), 1, + sym_identifier, + ACTIONS(200), 1, + anon_sym_LPAREN, + ACTIONS(202), 1, + aux_sym_numeric_lit_token1, + ACTIONS(204), 1, + aux_sym_numeric_lit_token2, + ACTIONS(208), 1, + sym_null_lit, + ACTIONS(212), 1, + sym_quoted_template_start, + STATE(6), 1, + sym_object_start, + STATE(14), 1, + sym_tuple_start, + STATE(475), 1, + sym_conditional, + STATE(477), 1, + sym_expression, + STATE(599), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(206), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(210), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(304), 2, + sym_tuple, + sym_object, + STATE(315), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(334), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(335), 2, + sym_unary_operation, + sym_binary_operation, + STATE(320), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(225), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [6694] = 24, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, ACTIONS(214), 1, + sym_identifier, + ACTIONS(216), 1, + anon_sym_LPAREN, + ACTIONS(218), 1, + aux_sym_numeric_lit_token1, + ACTIONS(220), 1, + aux_sym_numeric_lit_token2, + ACTIONS(224), 1, + sym_null_lit, + ACTIONS(228), 1, sym_quoted_template_start, STATE(2), 1, sym_object_start, - STATE(6), 1, + STATE(13), 1, sym_tuple_start, - STATE(419), 1, + STATE(388), 1, + sym_expression, + STATE(392), 1, + sym_conditional, + STATE(594), 1, sym_heredoc_start, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(208), 2, + ACTIONS(222), 2, anon_sym_true, anon_sym_false, - ACTIONS(212), 2, + ACTIONS(226), 2, anon_sym_DASH, anon_sym_BANG, - STATE(117), 2, + STATE(248), 2, sym_for_tuple_expr, sym_for_object_expr, - STATE(126), 2, + STATE(251), 2, sym_tuple, sym_object, - STATE(140), 2, - sym_unary_operation, - sym_binary_operation, - STATE(141), 2, + STATE(275), 2, sym_quoted_template, sym_heredoc_template, - STATE(133), 3, + STATE(277), 2, + sym_unary_operation, + sym_binary_operation, + STATE(259), 3, sym_numeric_lit, sym_bool_lit, sym_string_lit, - STATE(31), 8, + STATE(174), 8, sym__expr_term, sym_literal_value, sym_collection_value, @@ -16375,7 +16298,267 @@ static const uint16_t ts_small_parse_table[] = { sym_function_call, sym_operation, sym_template_expr, - [7200] = 22, + [6783] = 24, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(367), 1, + sym_conditional, + STATE(523), 1, + sym_expression, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(125), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [6872] = 24, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(367), 1, + sym_conditional, + STATE(533), 1, + sym_expression, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(125), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [6961] = 24, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(367), 1, + sym_conditional, + STATE(525), 1, + sym_expression, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(125), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [7050] = 24, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(367), 1, + sym_conditional, + STATE(524), 1, + sym_expression, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(125), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [7139] = 24, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(27), 1, @@ -16384,50 +16567,54 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_LT, ACTIONS(35), 1, anon_sym_LT_LT_DASH, - ACTIONS(200), 1, - sym_identifier, - ACTIONS(202), 1, - anon_sym_LPAREN, - ACTIONS(204), 1, - aux_sym_numeric_lit_token1, - ACTIONS(206), 1, - aux_sym_numeric_lit_token2, - ACTIONS(210), 1, - sym_null_lit, ACTIONS(214), 1, + sym_identifier, + ACTIONS(216), 1, + anon_sym_LPAREN, + ACTIONS(218), 1, + aux_sym_numeric_lit_token1, + ACTIONS(220), 1, + aux_sym_numeric_lit_token2, + ACTIONS(224), 1, + sym_null_lit, + ACTIONS(228), 1, sym_quoted_template_start, STATE(2), 1, sym_object_start, - STATE(6), 1, + STATE(13), 1, sym_tuple_start, - STATE(419), 1, + STATE(383), 1, + sym_expression, + STATE(392), 1, + sym_conditional, + STATE(594), 1, sym_heredoc_start, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(208), 2, + ACTIONS(222), 2, anon_sym_true, anon_sym_false, - ACTIONS(212), 2, + ACTIONS(226), 2, anon_sym_DASH, anon_sym_BANG, - STATE(117), 2, + STATE(248), 2, sym_for_tuple_expr, sym_for_object_expr, - STATE(126), 2, + STATE(251), 2, sym_tuple, sym_object, - STATE(140), 2, - sym_unary_operation, - sym_binary_operation, - STATE(141), 2, + STATE(275), 2, sym_quoted_template, sym_heredoc_template, - STATE(133), 3, + STATE(277), 2, + sym_unary_operation, + sym_binary_operation, + STATE(259), 3, sym_numeric_lit, sym_bool_lit, sym_string_lit, - STATE(28), 8, + STATE(174), 8, sym__expr_term, sym_literal_value, sym_collection_value, @@ -16436,7 +16623,437 @@ static const uint16_t ts_small_parse_table[] = { sym_function_call, sym_operation, sym_template_expr, - [7283] = 22, + [7228] = 24, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(367), 1, + sym_conditional, + STATE(473), 1, + sym_expression, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(125), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [7317] = 24, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(367), 1, + sym_conditional, + STATE(488), 1, + sym_expression, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(125), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [7406] = 24, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(367), 1, + sym_conditional, + STATE(486), 1, + sym_expression, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(125), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [7495] = 7, + ACTIONS(250), 1, + anon_sym_LBRACK, + ACTIONS(253), 1, + anon_sym_DOT, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(156), 2, + sym_new_index, + sym_legacy_index, + STATE(85), 3, + sym_index, + sym_get_attr, + aux_sym_attr_splat_repeat1, + ACTIONS(248), 10, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_BANG, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + ACTIONS(246), 20, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_LT_LT_DASH, + [7549] = 7, + ACTIONS(186), 1, + anon_sym_LBRACK, + ACTIONS(188), 1, + anon_sym_DOT, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(156), 2, + sym_new_index, + sym_legacy_index, + STATE(85), 3, + sym_index, + sym_get_attr, + aux_sym_attr_splat_repeat1, + ACTIONS(258), 10, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_BANG, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + ACTIONS(256), 20, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_LT_LT_DASH, + [7603] = 7, + ACTIONS(186), 1, + anon_sym_LBRACK, + ACTIONS(188), 1, + anon_sym_DOT, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(156), 2, + sym_new_index, + sym_legacy_index, + STATE(89), 3, + sym_index, + sym_get_attr, + aux_sym_attr_splat_repeat1, + ACTIONS(262), 10, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_BANG, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + ACTIONS(260), 20, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_LT_LT_DASH, + [7657] = 7, + ACTIONS(186), 1, + anon_sym_LBRACK, + ACTIONS(188), 1, + anon_sym_DOT, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(156), 2, + sym_new_index, + sym_legacy_index, + STATE(86), 3, + sym_index, + sym_get_attr, + aux_sym_attr_splat_repeat1, + ACTIONS(266), 10, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_BANG, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + ACTIONS(264), 20, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_LT_LT_DASH, + [7711] = 7, + ACTIONS(186), 1, + anon_sym_LBRACK, + ACTIONS(188), 1, + anon_sym_DOT, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(156), 2, + sym_new_index, + sym_legacy_index, + STATE(85), 3, + sym_index, + sym_get_attr, + aux_sym_attr_splat_repeat1, + ACTIONS(270), 10, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_BANG, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + ACTIONS(268), 20, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_LT_LT_DASH, + [7765] = 22, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(27), 1, @@ -16445,111 +17062,233 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_LT, ACTIONS(35), 1, anon_sym_LT_LT_DASH, - ACTIONS(110), 1, + ACTIONS(198), 1, sym_identifier, - ACTIONS(112), 1, + ACTIONS(200), 1, anon_sym_LPAREN, - ACTIONS(114), 1, + ACTIONS(202), 1, aux_sym_numeric_lit_token1, - ACTIONS(116), 1, + ACTIONS(204), 1, aux_sym_numeric_lit_token2, - ACTIONS(120), 1, + ACTIONS(208), 1, sym_null_lit, - ACTIONS(126), 1, + ACTIONS(212), 1, + sym_quoted_template_start, + STATE(6), 1, + sym_object_start, + STATE(14), 1, + sym_tuple_start, + STATE(599), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(206), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(210), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(304), 2, + sym_tuple, + sym_object, + STATE(315), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(334), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(335), 2, + sym_unary_operation, + sym_binary_operation, + STATE(320), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(226), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [7848] = 22, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(230), 1, + sym_identifier, + ACTIONS(232), 1, + anon_sym_LPAREN, + ACTIONS(234), 1, + aux_sym_numeric_lit_token1, + ACTIONS(236), 1, + aux_sym_numeric_lit_token2, + ACTIONS(240), 1, + sym_null_lit, + ACTIONS(244), 1, sym_quoted_template_start, STATE(5), 1, sym_object_start, - STATE(10), 1, + STATE(7), 1, sym_tuple_start, - STATE(414), 1, + STATE(587), 1, sym_heredoc_start, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(118), 2, + ACTIONS(238), 2, anon_sym_true, anon_sym_false, - ACTIONS(122), 2, + ACTIONS(242), 2, anon_sym_DASH, anon_sym_BANG, - STATE(242), 2, + STATE(139), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(140), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(154), 2, + sym_tuple, + sym_object, + STATE(157), 2, sym_unary_operation, sym_binary_operation, + STATE(153), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(36), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [7931] = 22, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(198), 1, + sym_identifier, + ACTIONS(200), 1, + anon_sym_LPAREN, + ACTIONS(202), 1, + aux_sym_numeric_lit_token1, + ACTIONS(204), 1, + aux_sym_numeric_lit_token2, + ACTIONS(208), 1, + sym_null_lit, + ACTIONS(212), 1, + sym_quoted_template_start, + STATE(6), 1, + sym_object_start, + STATE(14), 1, + sym_tuple_start, + STATE(599), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(206), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(210), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(304), 2, + sym_tuple, + sym_object, + STATE(315), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(334), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(335), 2, + sym_unary_operation, + sym_binary_operation, + STATE(320), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(213), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [8014] = 22, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(214), 1, + sym_identifier, + ACTIONS(216), 1, + anon_sym_LPAREN, + ACTIONS(218), 1, + aux_sym_numeric_lit_token1, + ACTIONS(220), 1, + aux_sym_numeric_lit_token2, + ACTIONS(224), 1, + sym_null_lit, + ACTIONS(228), 1, + sym_quoted_template_start, + STATE(2), 1, + sym_object_start, + STATE(13), 1, + sym_tuple_start, + STATE(594), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(222), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(226), 2, + anon_sym_DASH, + anon_sym_BANG, STATE(248), 2, - sym_tuple, - sym_object, + sym_for_tuple_expr, + sym_for_object_expr, STATE(251), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(253), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(247), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(200), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [7366] = 22, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(200), 1, - sym_identifier, - ACTIONS(202), 1, - anon_sym_LPAREN, - ACTIONS(204), 1, - aux_sym_numeric_lit_token1, - ACTIONS(206), 1, - aux_sym_numeric_lit_token2, - ACTIONS(210), 1, - sym_null_lit, - ACTIONS(214), 1, - sym_quoted_template_start, - STATE(2), 1, - sym_object_start, - STATE(6), 1, - sym_tuple_start, - STATE(419), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(208), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(212), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(117), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(126), 2, sym_tuple, sym_object, - STATE(140), 2, - sym_unary_operation, - sym_binary_operation, - STATE(141), 2, + STATE(275), 2, sym_quoted_template, sym_heredoc_template, - STATE(133), 3, + STATE(277), 2, + sym_unary_operation, + sym_binary_operation, + STATE(259), 3, sym_numeric_lit, sym_bool_lit, sym_string_lit, - STATE(26), 8, + STATE(179), 8, sym__expr_term, sym_literal_value, sym_collection_value, @@ -16558,7 +17297,7 @@ static const uint16_t ts_small_parse_table[] = { sym_function_call, sym_operation, sym_template_expr, - [7449] = 22, + [8097] = 22, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(27), 1, @@ -16567,778 +17306,778 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_LT, ACTIONS(35), 1, anon_sym_LT_LT_DASH, - ACTIONS(184), 1, - sym_identifier, - ACTIONS(186), 1, - anon_sym_LPAREN, - ACTIONS(188), 1, - aux_sym_numeric_lit_token1, - ACTIONS(190), 1, - aux_sym_numeric_lit_token2, - ACTIONS(194), 1, - sym_null_lit, - ACTIONS(198), 1, - sym_quoted_template_start, - STATE(4), 1, - sym_object_start, - STATE(7), 1, - sym_tuple_start, - STATE(424), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(192), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(196), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(223), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(224), 2, - sym_unary_operation, - sym_binary_operation, - STATE(228), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(230), 2, - sym_tuple, - sym_object, - STATE(232), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(156), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [7532] = 22, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(184), 1, - sym_identifier, - ACTIONS(186), 1, - anon_sym_LPAREN, - ACTIONS(188), 1, - aux_sym_numeric_lit_token1, - ACTIONS(190), 1, - aux_sym_numeric_lit_token2, - ACTIONS(194), 1, - sym_null_lit, - ACTIONS(198), 1, - sym_quoted_template_start, - STATE(4), 1, - sym_object_start, - STATE(7), 1, - sym_tuple_start, - STATE(424), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(192), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(196), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(223), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(224), 2, - sym_unary_operation, - sym_binary_operation, - STATE(228), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(230), 2, - sym_tuple, - sym_object, - STATE(232), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(154), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [7615] = 22, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(200), 1, - sym_identifier, - ACTIONS(202), 1, - anon_sym_LPAREN, - ACTIONS(204), 1, - aux_sym_numeric_lit_token1, - ACTIONS(206), 1, - aux_sym_numeric_lit_token2, - ACTIONS(210), 1, - sym_null_lit, - ACTIONS(214), 1, - sym_quoted_template_start, - STATE(2), 1, - sym_object_start, - STATE(6), 1, - sym_tuple_start, - STATE(419), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(208), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(212), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(117), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(126), 2, - sym_tuple, - sym_object, - STATE(140), 2, - sym_unary_operation, - sym_binary_operation, - STATE(141), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(133), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(34), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [7698] = 22, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(184), 1, - sym_identifier, - ACTIONS(186), 1, - anon_sym_LPAREN, - ACTIONS(188), 1, - aux_sym_numeric_lit_token1, - ACTIONS(190), 1, - aux_sym_numeric_lit_token2, - ACTIONS(194), 1, - sym_null_lit, - ACTIONS(198), 1, - sym_quoted_template_start, - STATE(4), 1, - sym_object_start, - STATE(7), 1, - sym_tuple_start, - STATE(424), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(192), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(196), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(223), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(224), 2, - sym_unary_operation, - sym_binary_operation, - STATE(228), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(230), 2, - sym_tuple, - sym_object, - STATE(232), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(153), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [7781] = 22, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(15), 1, - sym_identifier, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - aux_sym_numeric_lit_token1, - ACTIONS(21), 1, - aux_sym_numeric_lit_token2, - ACTIONS(25), 1, - sym_null_lit, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(37), 1, - sym_quoted_template_start, - STATE(3), 1, - sym_object_start, - STATE(11), 1, - sym_tuple_start, - STATE(416), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(31), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, - sym_unary_operation, - sym_binary_operation, - STATE(170), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(108), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [7864] = 22, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(15), 1, - sym_identifier, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - aux_sym_numeric_lit_token1, - ACTIONS(21), 1, - aux_sym_numeric_lit_token2, - ACTIONS(25), 1, - sym_null_lit, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(37), 1, - sym_quoted_template_start, - STATE(3), 1, - sym_object_start, - STATE(11), 1, - sym_tuple_start, - STATE(416), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(31), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, - sym_unary_operation, - sym_binary_operation, - STATE(170), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(104), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [7947] = 22, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(15), 1, - sym_identifier, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - aux_sym_numeric_lit_token1, - ACTIONS(21), 1, - aux_sym_numeric_lit_token2, - ACTIONS(25), 1, - sym_null_lit, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(37), 1, - sym_quoted_template_start, - STATE(3), 1, - sym_object_start, - STATE(11), 1, - sym_tuple_start, - STATE(416), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(31), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, - sym_unary_operation, - sym_binary_operation, - STATE(170), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(105), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [8030] = 22, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(110), 1, - sym_identifier, - ACTIONS(112), 1, - anon_sym_LPAREN, - ACTIONS(114), 1, - aux_sym_numeric_lit_token1, ACTIONS(116), 1, - aux_sym_numeric_lit_token2, + sym_identifier, + ACTIONS(118), 1, + anon_sym_LPAREN, ACTIONS(120), 1, - sym_null_lit, + aux_sym_numeric_lit_token1, + ACTIONS(122), 1, + aux_sym_numeric_lit_token2, ACTIONS(126), 1, + sym_null_lit, + ACTIONS(132), 1, + sym_quoted_template_start, + STATE(4), 1, + sym_object_start, + STATE(8), 1, + sym_tuple_start, + STATE(580), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(124), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(128), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(290), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(291), 2, + sym_unary_operation, + sym_binary_operation, + STATE(292), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(294), 2, + sym_tuple, + sym_object, + STATE(296), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(224), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [8180] = 22, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(214), 1, + sym_identifier, + ACTIONS(216), 1, + anon_sym_LPAREN, + ACTIONS(218), 1, + aux_sym_numeric_lit_token1, + ACTIONS(220), 1, + aux_sym_numeric_lit_token2, + ACTIONS(224), 1, + sym_null_lit, + ACTIONS(228), 1, + sym_quoted_template_start, + STATE(2), 1, + sym_object_start, + STATE(13), 1, + sym_tuple_start, + STATE(594), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(222), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(226), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(248), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(251), 2, + sym_tuple, + sym_object, + STATE(275), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(277), 2, + sym_unary_operation, + sym_binary_operation, + STATE(259), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(177), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [8263] = 22, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(214), 1, + sym_identifier, + ACTIONS(216), 1, + anon_sym_LPAREN, + ACTIONS(218), 1, + aux_sym_numeric_lit_token1, + ACTIONS(220), 1, + aux_sym_numeric_lit_token2, + ACTIONS(224), 1, + sym_null_lit, + ACTIONS(228), 1, + sym_quoted_template_start, + STATE(2), 1, + sym_object_start, + STATE(13), 1, + sym_tuple_start, + STATE(594), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(222), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(226), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(248), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(251), 2, + sym_tuple, + sym_object, + STATE(275), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(277), 2, + sym_unary_operation, + sym_binary_operation, + STATE(259), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(172), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [8346] = 22, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(214), 1, + sym_identifier, + ACTIONS(216), 1, + anon_sym_LPAREN, + ACTIONS(218), 1, + aux_sym_numeric_lit_token1, + ACTIONS(220), 1, + aux_sym_numeric_lit_token2, + ACTIONS(224), 1, + sym_null_lit, + ACTIONS(228), 1, + sym_quoted_template_start, + STATE(2), 1, + sym_object_start, + STATE(13), 1, + sym_tuple_start, + STATE(594), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(222), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(226), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(248), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(251), 2, + sym_tuple, + sym_object, + STATE(275), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(277), 2, + sym_unary_operation, + sym_binary_operation, + STATE(259), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(173), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [8429] = 22, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(214), 1, + sym_identifier, + ACTIONS(216), 1, + anon_sym_LPAREN, + ACTIONS(218), 1, + aux_sym_numeric_lit_token1, + ACTIONS(220), 1, + aux_sym_numeric_lit_token2, + ACTIONS(224), 1, + sym_null_lit, + ACTIONS(228), 1, + sym_quoted_template_start, + STATE(2), 1, + sym_object_start, + STATE(13), 1, + sym_tuple_start, + STATE(594), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(222), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(226), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(248), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(251), 2, + sym_tuple, + sym_object, + STATE(275), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(277), 2, + sym_unary_operation, + sym_binary_operation, + STATE(259), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(178), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [8512] = 22, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(214), 1, + sym_identifier, + ACTIONS(216), 1, + anon_sym_LPAREN, + ACTIONS(218), 1, + aux_sym_numeric_lit_token1, + ACTIONS(220), 1, + aux_sym_numeric_lit_token2, + ACTIONS(224), 1, + sym_null_lit, + ACTIONS(228), 1, + sym_quoted_template_start, + STATE(2), 1, + sym_object_start, + STATE(13), 1, + sym_tuple_start, + STATE(594), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(222), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(226), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(248), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(251), 2, + sym_tuple, + sym_object, + STATE(275), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(277), 2, + sym_unary_operation, + sym_binary_operation, + STATE(259), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(176), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [8595] = 22, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(118), 1, + anon_sym_LPAREN, + ACTIONS(120), 1, + aux_sym_numeric_lit_token1, + ACTIONS(122), 1, + aux_sym_numeric_lit_token2, + ACTIONS(126), 1, + sym_null_lit, + ACTIONS(132), 1, + sym_quoted_template_start, + STATE(4), 1, + sym_object_start, + STATE(8), 1, + sym_tuple_start, + STATE(580), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(124), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(128), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(290), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(291), 2, + sym_unary_operation, + sym_binary_operation, + STATE(292), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(294), 2, + sym_tuple, + sym_object, + STATE(296), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(229), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [8678] = 22, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(118), 1, + anon_sym_LPAREN, + ACTIONS(120), 1, + aux_sym_numeric_lit_token1, + ACTIONS(122), 1, + aux_sym_numeric_lit_token2, + ACTIONS(126), 1, + sym_null_lit, + ACTIONS(132), 1, + sym_quoted_template_start, + STATE(4), 1, + sym_object_start, + STATE(8), 1, + sym_tuple_start, + STATE(580), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(124), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(128), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(290), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(291), 2, + sym_unary_operation, + sym_binary_operation, + STATE(292), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(294), 2, + sym_tuple, + sym_object, + STATE(296), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(212), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [8761] = 22, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(118), 1, + anon_sym_LPAREN, + ACTIONS(120), 1, + aux_sym_numeric_lit_token1, + ACTIONS(122), 1, + aux_sym_numeric_lit_token2, + ACTIONS(126), 1, + sym_null_lit, + ACTIONS(132), 1, + sym_quoted_template_start, + STATE(4), 1, + sym_object_start, + STATE(8), 1, + sym_tuple_start, + STATE(580), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(124), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(128), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(290), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(291), 2, + sym_unary_operation, + sym_binary_operation, + STATE(292), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(294), 2, + sym_tuple, + sym_object, + STATE(296), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(232), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [8844] = 22, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(118), 1, + anon_sym_LPAREN, + ACTIONS(120), 1, + aux_sym_numeric_lit_token1, + ACTIONS(122), 1, + aux_sym_numeric_lit_token2, + ACTIONS(126), 1, + sym_null_lit, + ACTIONS(132), 1, + sym_quoted_template_start, + STATE(4), 1, + sym_object_start, + STATE(8), 1, + sym_tuple_start, + STATE(580), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(124), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(128), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(290), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(291), 2, + sym_unary_operation, + sym_binary_operation, + STATE(292), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(294), 2, + sym_tuple, + sym_object, + STATE(296), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(216), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [8927] = 22, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(118), 1, + anon_sym_LPAREN, + ACTIONS(120), 1, + aux_sym_numeric_lit_token1, + ACTIONS(122), 1, + aux_sym_numeric_lit_token2, + ACTIONS(126), 1, + sym_null_lit, + ACTIONS(132), 1, + sym_quoted_template_start, + STATE(4), 1, + sym_object_start, + STATE(8), 1, + sym_tuple_start, + STATE(580), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(124), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(128), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(290), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(291), 2, + sym_unary_operation, + sym_binary_operation, + STATE(292), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(294), 2, + sym_tuple, + sym_object, + STATE(296), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(219), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [9010] = 22, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(130), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [9093] = 22, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(230), 1, + sym_identifier, + ACTIONS(232), 1, + anon_sym_LPAREN, + ACTIONS(234), 1, + aux_sym_numeric_lit_token1, + ACTIONS(236), 1, + aux_sym_numeric_lit_token2, + ACTIONS(240), 1, + sym_null_lit, + ACTIONS(244), 1, sym_quoted_template_start, STATE(5), 1, sym_object_start, - STATE(10), 1, - sym_tuple_start, - STATE(414), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(118), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(122), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(242), 2, - sym_unary_operation, - sym_binary_operation, - STATE(248), 2, - sym_tuple, - sym_object, - STATE(251), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(253), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(247), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(197), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [8113] = 22, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(184), 1, - sym_identifier, - ACTIONS(186), 1, - anon_sym_LPAREN, - ACTIONS(188), 1, - aux_sym_numeric_lit_token1, - ACTIONS(190), 1, - aux_sym_numeric_lit_token2, - ACTIONS(194), 1, - sym_null_lit, - ACTIONS(198), 1, - sym_quoted_template_start, - STATE(4), 1, - sym_object_start, STATE(7), 1, sym_tuple_start, - STATE(424), 1, + STATE(587), 1, sym_heredoc_start, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(192), 2, + ACTIONS(238), 2, anon_sym_true, anon_sym_false, - ACTIONS(196), 2, + ACTIONS(242), 2, anon_sym_DASH, anon_sym_BANG, - STATE(223), 2, + STATE(139), 2, sym_quoted_template, sym_heredoc_template, - STATE(224), 2, - sym_unary_operation, - sym_binary_operation, - STATE(228), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(230), 2, - sym_tuple, - sym_object, - STATE(232), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(152), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [8196] = 22, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(110), 1, - sym_identifier, - ACTIONS(112), 1, - anon_sym_LPAREN, - ACTIONS(114), 1, - aux_sym_numeric_lit_token1, - ACTIONS(116), 1, - aux_sym_numeric_lit_token2, - ACTIONS(120), 1, - sym_null_lit, - ACTIONS(126), 1, - sym_quoted_template_start, - STATE(5), 1, - sym_object_start, - STATE(10), 1, - sym_tuple_start, - STATE(414), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(118), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(122), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(242), 2, - sym_unary_operation, - sym_binary_operation, - STATE(248), 2, - sym_tuple, - sym_object, - STATE(251), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(253), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(247), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(191), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [8279] = 22, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(15), 1, - sym_identifier, - ACTIONS(17), 1, - anon_sym_LPAREN, - ACTIONS(19), 1, - aux_sym_numeric_lit_token1, - ACTIONS(21), 1, - aux_sym_numeric_lit_token2, - ACTIONS(25), 1, - sym_null_lit, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(37), 1, - sym_quoted_template_start, - STATE(3), 1, - sym_object_start, - STATE(11), 1, - sym_tuple_start, - STATE(416), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(23), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(31), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, - sym_unary_operation, - sym_binary_operation, - STATE(170), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(106), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [8362] = 22, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(184), 1, - sym_identifier, - ACTIONS(186), 1, - anon_sym_LPAREN, - ACTIONS(188), 1, - aux_sym_numeric_lit_token1, - ACTIONS(190), 1, - aux_sym_numeric_lit_token2, - ACTIONS(194), 1, - sym_null_lit, - ACTIONS(198), 1, - sym_quoted_template_start, - STATE(4), 1, - sym_object_start, - STATE(7), 1, - sym_tuple_start, - STATE(424), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(192), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(196), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(223), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(224), 2, - sym_unary_operation, - sym_binary_operation, - STATE(228), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(230), 2, - sym_tuple, - sym_object, - STATE(232), 3, - sym_numeric_lit, - sym_bool_lit, - sym_string_lit, - STATE(151), 8, - sym__expr_term, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_operation, - sym_template_expr, - [8445] = 22, - ACTIONS(11), 1, - anon_sym_LBRACE, - ACTIONS(27), 1, - anon_sym_LBRACK, - ACTIONS(33), 1, - anon_sym_LT_LT, - ACTIONS(35), 1, - anon_sym_LT_LT_DASH, - ACTIONS(200), 1, - sym_identifier, - ACTIONS(202), 1, - anon_sym_LPAREN, - ACTIONS(204), 1, - aux_sym_numeric_lit_token1, - ACTIONS(206), 1, - aux_sym_numeric_lit_token2, - ACTIONS(210), 1, - sym_null_lit, - ACTIONS(214), 1, - sym_quoted_template_start, - STATE(2), 1, - sym_object_start, - STATE(6), 1, - sym_tuple_start, - STATE(419), 1, - sym_heredoc_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(208), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(212), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(117), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(126), 2, - sym_tuple, - sym_object, STATE(140), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(154), 2, + sym_tuple, + sym_object, + STATE(157), 2, sym_unary_operation, sym_binary_operation, - STATE(141), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(133), 3, + STATE(153), 3, sym_numeric_lit, sym_bool_lit, sym_string_lit, @@ -17351,7 +18090,68 @@ static const uint16_t ts_small_parse_table[] = { sym_function_call, sym_operation, sym_template_expr, - [8528] = 22, + [9176] = 22, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(116), 1, + sym_identifier, + ACTIONS(118), 1, + anon_sym_LPAREN, + ACTIONS(120), 1, + aux_sym_numeric_lit_token1, + ACTIONS(122), 1, + aux_sym_numeric_lit_token2, + ACTIONS(126), 1, + sym_null_lit, + ACTIONS(132), 1, + sym_quoted_template_start, + STATE(4), 1, + sym_object_start, + STATE(8), 1, + sym_tuple_start, + STATE(580), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(124), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(128), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(290), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(291), 2, + sym_unary_operation, + sym_binary_operation, + STATE(292), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(294), 2, + sym_tuple, + sym_object, + STATE(296), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(223), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [9259] = 22, ACTIONS(11), 1, anon_sym_LBRACE, ACTIONS(15), 1, @@ -17376,7 +18176,7 @@ static const uint16_t ts_small_parse_table[] = { sym_object_start, STATE(11), 1, sym_tuple_start, - STATE(416), 1, + STATE(572), 1, sym_heredoc_start, ACTIONS(3), 2, sym_comment, @@ -17387,23 +18187,23 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(31), 2, anon_sym_DASH, anon_sym_BANG, - STATE(158), 2, - sym_quoted_template, - sym_heredoc_template, - STATE(163), 2, - sym_tuple, - sym_object, - STATE(177), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(180), 2, + STATE(188), 2, sym_unary_operation, sym_binary_operation, - STATE(170), 3, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, sym_numeric_lit, sym_bool_lit, sym_string_lit, - STATE(107), 8, + STATE(131), 8, sym__expr_term, sym_literal_value, sym_collection_value, @@ -17412,627 +18212,1257 @@ static const uint16_t ts_small_parse_table[] = { sym_function_call, sym_operation, sym_template_expr, - [8611] = 8, - ACTIONS(244), 1, - anon_sym_SLASH, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(242), 2, - anon_sym_STAR, - anon_sym_PERCENT, - STATE(159), 2, - sym_attr_splat, - sym_full_splat, - STATE(164), 2, - sym_new_index, - sym_legacy_index, - STATE(178), 3, - sym_index, - sym_get_attr, - sym_splat, - ACTIONS(176), 5, - anon_sym_EQ, + [9342] = 22, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_GT, - anon_sym_LT, - ACTIONS(174), 20, - ts_builtin_sym_end, - anon_sym_RBRACE, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(230), 1, sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [8665] = 6, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - STATE(159), 2, - sym_attr_splat, - sym_full_splat, - STATE(164), 2, - sym_new_index, - sym_legacy_index, - STATE(178), 3, - sym_index, - sym_get_attr, - sym_splat, - ACTIONS(176), 6, - anon_sym_EQ, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(174), 22, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [8715] = 9, - ACTIONS(244), 1, - anon_sym_SLASH, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(242), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(246), 2, - anon_sym_DASH, - anon_sym_PLUS, - STATE(159), 2, - sym_attr_splat, - sym_full_splat, - STATE(164), 2, - sym_new_index, - sym_legacy_index, - STATE(178), 3, - sym_index, - sym_get_attr, - sym_splat, - ACTIONS(176), 5, - anon_sym_EQ, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_GT, - anon_sym_LT, - ACTIONS(174), 18, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [8771] = 11, - ACTIONS(244), 1, - anon_sym_SLASH, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(242), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(246), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(248), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(250), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - STATE(159), 2, - sym_attr_splat, - sym_full_splat, - STATE(164), 2, - sym_new_index, - sym_legacy_index, - ACTIONS(176), 3, - anon_sym_EQ, - anon_sym_LBRACK, - anon_sym_DOT, - STATE(178), 3, - sym_index, - sym_get_attr, - sym_splat, - ACTIONS(174), 16, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [8831] = 12, - ACTIONS(244), 1, - anon_sym_SLASH, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(242), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(246), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(248), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(250), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(252), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - STATE(159), 2, - sym_attr_splat, - sym_full_splat, - STATE(164), 2, - sym_new_index, - sym_legacy_index, - ACTIONS(176), 3, - anon_sym_EQ, - anon_sym_LBRACK, - anon_sym_DOT, - STATE(178), 3, - sym_index, - sym_get_attr, - sym_splat, - ACTIONS(174), 14, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [8893] = 13, - ACTIONS(244), 1, - anon_sym_SLASH, - ACTIONS(254), 1, - anon_sym_AMP_AMP, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(242), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(246), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(248), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(250), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(252), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - STATE(159), 2, - sym_attr_splat, - sym_full_splat, - STATE(164), 2, - sym_new_index, - sym_legacy_index, - ACTIONS(176), 3, - anon_sym_EQ, - anon_sym_LBRACK, - anon_sym_DOT, - STATE(178), 3, - sym_index, - sym_get_attr, - sym_splat, - ACTIONS(174), 13, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_PIPE_PIPE, - [8957] = 6, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - STATE(159), 2, - sym_attr_splat, - sym_full_splat, - STATE(164), 2, - sym_new_index, - sym_legacy_index, - STATE(178), 3, - sym_index, - sym_get_attr, - sym_splat, - ACTIONS(180), 6, - anon_sym_EQ, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(178), 22, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [9007] = 18, - ACTIONS(146), 1, - anon_sym_EQ, - ACTIONS(244), 1, - anon_sym_SLASH, - ACTIONS(254), 1, - anon_sym_AMP_AMP, - ACTIONS(256), 1, - anon_sym_LBRACK, - ACTIONS(258), 1, - anon_sym_DOT, - ACTIONS(260), 1, - anon_sym_DOT_STAR, - ACTIONS(262), 1, - anon_sym_LBRACK_STAR_RBRACK, - ACTIONS(264), 1, - anon_sym_PIPE_PIPE, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(242), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(246), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(248), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(250), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(252), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - STATE(159), 2, - sym_attr_splat, - sym_full_splat, - STATE(164), 2, - sym_new_index, - sym_legacy_index, - STATE(178), 3, - sym_index, - sym_get_attr, - sym_splat, - ACTIONS(144), 10, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_EQ_GT, - sym_ellipsis, - anon_sym_QMARK, - [9081] = 7, - ACTIONS(256), 1, - anon_sym_LBRACK, - ACTIONS(258), 1, - anon_sym_DOT, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - STATE(164), 2, - sym_new_index, - sym_legacy_index, - STATE(115), 3, - sym_index, - sym_get_attr, - aux_sym_attr_splat_repeat1, - ACTIONS(240), 4, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(238), 22, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [9131] = 7, - ACTIONS(256), 1, - anon_sym_LBRACK, - ACTIONS(258), 1, - anon_sym_DOT, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - STATE(164), 2, - sym_new_index, - sym_legacy_index, - STATE(115), 3, - sym_index, - sym_get_attr, - aux_sym_attr_splat_repeat1, - ACTIONS(236), 4, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(234), 22, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [9181] = 7, - ACTIONS(256), 1, - anon_sym_LBRACK, - ACTIONS(258), 1, - anon_sym_DOT, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - STATE(164), 2, - sym_new_index, - sym_legacy_index, - STATE(111), 3, - sym_index, - sym_get_attr, - aux_sym_attr_splat_repeat1, - ACTIONS(232), 4, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(230), 22, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [9231] = 5, - ACTIONS(270), 1, + ACTIONS(232), 1, anon_sym_LPAREN, - STATE(16), 1, - sym__function_call_start, + ACTIONS(234), 1, + aux_sym_numeric_lit_token1, + ACTIONS(236), 1, + aux_sym_numeric_lit_token2, + ACTIONS(240), 1, + sym_null_lit, + ACTIONS(244), 1, + sym_quoted_template_start, + STATE(5), 1, + sym_object_start, + STATE(7), 1, + sym_tuple_start, + STATE(587), 1, + sym_heredoc_start, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(268), 12, - sym_identifier, - aux_sym_numeric_lit_token1, + ACTIONS(238), 2, anon_sym_true, anon_sym_false, - sym_null_lit, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_BANG, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(266), 19, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, + ACTIONS(242), 2, anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [9277] = 7, - ACTIONS(256), 1, + anon_sym_BANG, + STATE(139), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(140), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(154), 2, + sym_tuple, + sym_object, + STATE(157), 2, + sym_unary_operation, + sym_binary_operation, + STATE(153), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(30), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [9425] = 22, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, anon_sym_LBRACK, - ACTIONS(258), 1, - anon_sym_DOT, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(230), 1, + sym_identifier, + ACTIONS(232), 1, + anon_sym_LPAREN, + ACTIONS(234), 1, + aux_sym_numeric_lit_token1, + ACTIONS(236), 1, + aux_sym_numeric_lit_token2, + ACTIONS(240), 1, + sym_null_lit, + ACTIONS(244), 1, + sym_quoted_template_start, + STATE(5), 1, + sym_object_start, + STATE(7), 1, + sym_tuple_start, + STATE(587), 1, + sym_heredoc_start, ACTIONS(3), 2, sym_comment, sym__whitespace, - STATE(164), 2, - sym_new_index, - sym_legacy_index, - STATE(110), 3, - sym_index, - sym_get_attr, - aux_sym_attr_splat_repeat1, - ACTIONS(228), 4, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(226), 22, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, - anon_sym_QMARK, + ACTIONS(238), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(242), 2, anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [9327] = 7, + anon_sym_BANG, + STATE(139), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(140), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(154), 2, + sym_tuple, + sym_object, + STATE(157), 2, + sym_unary_operation, + sym_binary_operation, + STATE(153), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(39), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [9508] = 22, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(230), 1, + sym_identifier, + ACTIONS(232), 1, + anon_sym_LPAREN, + ACTIONS(234), 1, + aux_sym_numeric_lit_token1, + ACTIONS(236), 1, + aux_sym_numeric_lit_token2, + ACTIONS(240), 1, + sym_null_lit, + ACTIONS(244), 1, + sym_quoted_template_start, + STATE(5), 1, + sym_object_start, + STATE(7), 1, + sym_tuple_start, + STATE(587), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(238), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(242), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(139), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(140), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(154), 2, + sym_tuple, + sym_object, + STATE(157), 2, + sym_unary_operation, + sym_binary_operation, + STATE(153), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(38), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [9591] = 22, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(230), 1, + sym_identifier, + ACTIONS(232), 1, + anon_sym_LPAREN, + ACTIONS(234), 1, + aux_sym_numeric_lit_token1, + ACTIONS(236), 1, + aux_sym_numeric_lit_token2, + ACTIONS(240), 1, + sym_null_lit, + ACTIONS(244), 1, + sym_quoted_template_start, + STATE(5), 1, + sym_object_start, + STATE(7), 1, + sym_tuple_start, + STATE(587), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(238), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(242), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(139), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(140), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(154), 2, + sym_tuple, + sym_object, + STATE(157), 2, + sym_unary_operation, + sym_binary_operation, + STATE(153), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(37), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [9674] = 22, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(214), 1, + sym_identifier, + ACTIONS(216), 1, + anon_sym_LPAREN, + ACTIONS(218), 1, + aux_sym_numeric_lit_token1, + ACTIONS(220), 1, + aux_sym_numeric_lit_token2, + ACTIONS(224), 1, + sym_null_lit, + ACTIONS(228), 1, + sym_quoted_template_start, + STATE(2), 1, + sym_object_start, + STATE(13), 1, + sym_tuple_start, + STATE(594), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(222), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(226), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(248), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(251), 2, + sym_tuple, + sym_object, + STATE(275), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(277), 2, + sym_unary_operation, + sym_binary_operation, + STATE(259), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(175), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [9757] = 22, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(129), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [9840] = 22, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(230), 1, + sym_identifier, + ACTIONS(232), 1, + anon_sym_LPAREN, + ACTIONS(234), 1, + aux_sym_numeric_lit_token1, + ACTIONS(236), 1, + aux_sym_numeric_lit_token2, + ACTIONS(240), 1, + sym_null_lit, + ACTIONS(244), 1, + sym_quoted_template_start, + STATE(5), 1, + sym_object_start, + STATE(7), 1, + sym_tuple_start, + STATE(587), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(238), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(242), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(139), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(140), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(154), 2, + sym_tuple, + sym_object, + STATE(157), 2, + sym_unary_operation, + sym_binary_operation, + STATE(153), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(35), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [9923] = 22, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(126), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [10006] = 22, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(198), 1, + sym_identifier, + ACTIONS(200), 1, + anon_sym_LPAREN, + ACTIONS(202), 1, + aux_sym_numeric_lit_token1, + ACTIONS(204), 1, + aux_sym_numeric_lit_token2, + ACTIONS(208), 1, + sym_null_lit, + ACTIONS(212), 1, + sym_quoted_template_start, + STATE(6), 1, + sym_object_start, + STATE(14), 1, + sym_tuple_start, + STATE(599), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(206), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(210), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(304), 2, + sym_tuple, + sym_object, + STATE(315), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(334), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(335), 2, + sym_unary_operation, + sym_binary_operation, + STATE(320), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(228), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [10089] = 22, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(198), 1, + sym_identifier, + ACTIONS(200), 1, + anon_sym_LPAREN, + ACTIONS(202), 1, + aux_sym_numeric_lit_token1, + ACTIONS(204), 1, + aux_sym_numeric_lit_token2, + ACTIONS(208), 1, + sym_null_lit, + ACTIONS(212), 1, + sym_quoted_template_start, + STATE(6), 1, + sym_object_start, + STATE(14), 1, + sym_tuple_start, + STATE(599), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(206), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(210), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(304), 2, + sym_tuple, + sym_object, + STATE(315), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(334), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(335), 2, + sym_unary_operation, + sym_binary_operation, + STATE(320), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(217), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [10172] = 22, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(198), 1, + sym_identifier, + ACTIONS(200), 1, + anon_sym_LPAREN, + ACTIONS(202), 1, + aux_sym_numeric_lit_token1, + ACTIONS(204), 1, + aux_sym_numeric_lit_token2, + ACTIONS(208), 1, + sym_null_lit, + ACTIONS(212), 1, + sym_quoted_template_start, + STATE(6), 1, + sym_object_start, + STATE(14), 1, + sym_tuple_start, + STATE(599), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(206), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(210), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(304), 2, + sym_tuple, + sym_object, + STATE(315), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(334), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(335), 2, + sym_unary_operation, + sym_binary_operation, + STATE(320), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(214), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [10255] = 22, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(132), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [10338] = 22, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(198), 1, + sym_identifier, + ACTIONS(200), 1, + anon_sym_LPAREN, + ACTIONS(202), 1, + aux_sym_numeric_lit_token1, + ACTIONS(204), 1, + aux_sym_numeric_lit_token2, + ACTIONS(208), 1, + sym_null_lit, + ACTIONS(212), 1, + sym_quoted_template_start, + STATE(6), 1, + sym_object_start, + STATE(14), 1, + sym_tuple_start, + STATE(599), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(206), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(210), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(304), 2, + sym_tuple, + sym_object, + STATE(315), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(334), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(335), 2, + sym_unary_operation, + sym_binary_operation, + STATE(320), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(218), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [10421] = 22, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(127), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [10504] = 22, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(198), 1, + sym_identifier, + ACTIONS(200), 1, + anon_sym_LPAREN, + ACTIONS(202), 1, + aux_sym_numeric_lit_token1, + ACTIONS(204), 1, + aux_sym_numeric_lit_token2, + ACTIONS(208), 1, + sym_null_lit, + ACTIONS(212), 1, + sym_quoted_template_start, + STATE(6), 1, + sym_object_start, + STATE(14), 1, + sym_tuple_start, + STATE(599), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(206), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(210), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(304), 2, + sym_tuple, + sym_object, + STATE(315), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(334), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(335), 2, + sym_unary_operation, + sym_binary_operation, + STATE(320), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(227), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [10587] = 22, + ACTIONS(11), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + sym_identifier, + ACTIONS(17), 1, + anon_sym_LPAREN, + ACTIONS(19), 1, + aux_sym_numeric_lit_token1, + ACTIONS(21), 1, + aux_sym_numeric_lit_token2, + ACTIONS(25), 1, + sym_null_lit, + ACTIONS(27), 1, + anon_sym_LBRACK, + ACTIONS(33), 1, + anon_sym_LT_LT, + ACTIONS(35), 1, + anon_sym_LT_LT_DASH, + ACTIONS(37), 1, + sym_quoted_template_start, + STATE(3), 1, + sym_object_start, + STATE(11), 1, + sym_tuple_start, + STATE(572), 1, + sym_heredoc_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(23), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(31), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(188), 2, + sym_unary_operation, + sym_binary_operation, + STATE(189), 2, + sym_quoted_template, + sym_heredoc_template, + STATE(191), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(194), 2, + sym_tuple, + sym_object, + STATE(203), 3, + sym_numeric_lit, + sym_bool_lit, + sym_string_lit, + STATE(128), 8, + sym__expr_term, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_operation, + sym_template_expr, + [10670] = 18, + ACTIONS(184), 1, + anon_sym_EQ, ACTIONS(272), 1, anon_sym_LBRACK, - ACTIONS(275), 1, + ACTIONS(274), 1, anon_sym_DOT, + ACTIONS(276), 1, + anon_sym_DOT_STAR, + ACTIONS(278), 1, + anon_sym_LBRACK_STAR_RBRACK, + ACTIONS(284), 1, + anon_sym_SLASH, + ACTIONS(292), 1, + anon_sym_AMP_AMP, + ACTIONS(294), 1, + anon_sym_PIPE_PIPE, ACTIONS(3), 2, sym_comment, sym__whitespace, - STATE(164), 2, + ACTIONS(280), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(282), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(286), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(288), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(290), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + STATE(187), 2, + sym_attr_splat, + sym_full_splat, + STATE(211), 2, sym_new_index, sym_legacy_index, - STATE(115), 3, + STATE(206), 3, sym_index, sym_get_attr, - aux_sym_attr_splat_repeat1, - ACTIONS(218), 4, + sym_splat, + ACTIONS(182), 10, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + [10744] = 13, + ACTIONS(284), 1, + anon_sym_SLASH, + ACTIONS(292), 1, + anon_sym_AMP_AMP, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(280), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(282), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(286), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(288), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(290), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + STATE(187), 2, + sym_attr_splat, + sym_full_splat, + STATE(211), 2, + sym_new_index, + sym_legacy_index, + ACTIONS(164), 3, anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + STATE(206), 3, + sym_index, + sym_get_attr, + sym_splat, + ACTIONS(162), 13, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_PIPE_PIPE, + [10808] = 12, + ACTIONS(284), 1, + anon_sym_SLASH, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(280), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(282), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(286), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(288), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(290), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + STATE(187), 2, + sym_attr_splat, + sym_full_splat, + STATE(211), 2, + sym_new_index, + sym_legacy_index, + ACTIONS(164), 3, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + STATE(206), 3, + sym_index, + sym_get_attr, + sym_splat, + ACTIONS(162), 14, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [10870] = 11, + ACTIONS(284), 1, + anon_sym_SLASH, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(280), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(282), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(286), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(288), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + STATE(187), 2, + sym_attr_splat, + sym_full_splat, + STATE(211), 2, + sym_new_index, + sym_legacy_index, + ACTIONS(164), 3, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + STATE(206), 3, + sym_index, + sym_get_attr, + sym_splat, + ACTIONS(162), 16, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [10930] = 9, + ACTIONS(284), 1, + anon_sym_SLASH, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(280), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(282), 2, + anon_sym_STAR, + anon_sym_PERCENT, + STATE(187), 2, + sym_attr_splat, + sym_full_splat, + STATE(211), 2, + sym_new_index, + sym_legacy_index, + STATE(206), 3, + sym_index, + sym_get_attr, + sym_splat, + ACTIONS(164), 5, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_GT, + anon_sym_LT, + ACTIONS(162), 18, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [10986] = 6, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(187), 2, + sym_attr_splat, + sym_full_splat, + STATE(211), 2, + sym_new_index, + sym_legacy_index, + STATE(206), 3, + sym_index, + sym_get_attr, + sym_splat, + ACTIONS(164), 6, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - ACTIONS(216), 22, + ACTIONS(162), 22, ts_builtin_sym_end, anon_sym_RBRACE, sym_identifier, @@ -18055,32 +19485,85 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [9377] = 3, + [11036] = 8, + ACTIONS(284), 1, + anon_sym_SLASH, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(280), 12, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, + ACTIONS(282), 2, + anon_sym_STAR, + anon_sym_PERCENT, + STATE(187), 2, + sym_attr_splat, + sym_full_splat, + STATE(211), 2, + sym_new_index, + sym_legacy_index, + STATE(206), 3, + sym_index, + sym_get_attr, + sym_splat, + ACTIONS(164), 5, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_GT, + anon_sym_LT, + ACTIONS(162), 20, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [11090] = 6, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(187), 2, + sym_attr_splat, + sym_full_splat, + STATE(211), 2, + sym_new_index, + sym_legacy_index, + STATE(206), 3, + sym_index, + sym_get_attr, + sym_splat, + ACTIONS(160), 6, + anon_sym_EQ, anon_sym_LBRACK, anon_sym_DOT, - anon_sym_BANG, anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(278), 20, - sym_quoted_template_start, - anon_sym_LBRACE, + ACTIONS(158), 22, + ts_builtin_sym_end, anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, + sym_identifier, + anon_sym_RPAREN, anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, anon_sym_DOT_STAR, anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, anon_sym_QMARK, anon_sym_DASH, anon_sym_STAR, @@ -18092,33 +19575,38 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [9418] = 3, + [11140] = 7, + ACTIONS(272), 1, + anon_sym_LBRACK, + ACTIONS(274), 1, + anon_sym_DOT, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(284), 12, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_BANG, + STATE(211), 2, + sym_new_index, + sym_legacy_index, + STATE(135), 3, + sym_index, + sym_get_attr, + aux_sym_attr_splat_repeat1, + ACTIONS(258), 4, + anon_sym_EQ, anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(282), 20, - sym_quoted_template_start, - anon_sym_LBRACE, + ACTIONS(256), 22, + ts_builtin_sym_end, anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, + sym_identifier, + anon_sym_RPAREN, anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, anon_sym_DOT_STAR, anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, anon_sym_QMARK, anon_sym_DASH, anon_sym_STAR, @@ -18130,33 +19618,38 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [9459] = 3, + [11190] = 7, + ACTIONS(272), 1, + anon_sym_LBRACK, + ACTIONS(274), 1, + anon_sym_DOT, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(288), 12, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_BANG, + STATE(211), 2, + sym_new_index, + sym_legacy_index, + STATE(133), 3, + sym_index, + sym_get_attr, + aux_sym_attr_splat_repeat1, + ACTIONS(266), 4, + anon_sym_EQ, anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(286), 20, - sym_quoted_template_start, - anon_sym_LBRACE, + ACTIONS(264), 22, + ts_builtin_sym_end, anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, + sym_identifier, + anon_sym_RPAREN, anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, anon_sym_DOT_STAR, anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, anon_sym_QMARK, anon_sym_DASH, anon_sym_STAR, @@ -18168,33 +19661,38 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [9500] = 3, + [11240] = 7, + ACTIONS(296), 1, + anon_sym_LBRACK, + ACTIONS(299), 1, + anon_sym_DOT, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(292), 12, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_BANG, + STATE(211), 2, + sym_new_index, + sym_legacy_index, + STATE(135), 3, + sym_index, + sym_get_attr, + aux_sym_attr_splat_repeat1, + ACTIONS(248), 4, + anon_sym_EQ, anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(290), 20, - sym_quoted_template_start, - anon_sym_LBRACE, + ACTIONS(246), 22, + ts_builtin_sym_end, anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, + sym_identifier, + anon_sym_RPAREN, anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, anon_sym_DOT_STAR, anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, anon_sym_QMARK, anon_sym_DASH, anon_sym_STAR, @@ -18206,33 +19704,38 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [9541] = 3, + [11290] = 7, + ACTIONS(272), 1, + anon_sym_LBRACK, + ACTIONS(274), 1, + anon_sym_DOT, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(296), 12, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_BANG, + STATE(211), 2, + sym_new_index, + sym_legacy_index, + STATE(135), 3, + sym_index, + sym_get_attr, + aux_sym_attr_splat_repeat1, + ACTIONS(270), 4, + anon_sym_EQ, anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(294), 20, - sym_quoted_template_start, - anon_sym_LBRACE, + ACTIONS(268), 22, + ts_builtin_sym_end, anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, + sym_identifier, + anon_sym_RPAREN, anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, anon_sym_DOT_STAR, anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, anon_sym_QMARK, anon_sym_DASH, anon_sym_STAR, @@ -18244,46 +19747,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [9582] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(300), 12, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_BANG, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(298), 20, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, + [11340] = 5, + ACTIONS(306), 1, anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [9623] = 3, + STATE(19), 1, + sym__function_call_start, ACTIONS(3), 2, sym_comment, sym__whitespace, @@ -18300,11 +19768,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT, anon_sym_LT, anon_sym_LT_LT, - ACTIONS(302), 20, + ACTIONS(302), 19, sym_quoted_template_start, anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_LPAREN, aux_sym_numeric_lit_token2, anon_sym_COMMA, anon_sym_DOT_STAR, @@ -18321,1344 +19788,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_LT_LT_DASH, - [9664] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(308), 12, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, + [11386] = 7, + ACTIONS(272), 1, anon_sym_LBRACK, + ACTIONS(274), 1, anon_sym_DOT, - anon_sym_BANG, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(306), 20, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [9705] = 3, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(312), 12, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_BANG, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(310), 20, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [9746] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(316), 12, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_BANG, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(314), 20, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [9787] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(320), 12, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_BANG, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(318), 20, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [9828] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(324), 12, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_BANG, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(322), 20, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [9869] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(328), 12, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_BANG, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(326), 20, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [9910] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(332), 12, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_BANG, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(330), 20, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [9951] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(336), 12, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_BANG, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(334), 20, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [9992] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(340), 12, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_BANG, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(338), 20, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [10033] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(344), 12, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_BANG, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(342), 20, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [10074] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(348), 12, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_BANG, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(346), 20, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [10115] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(352), 12, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_BANG, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(350), 20, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [10156] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(356), 12, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_BANG, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(354), 20, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [10197] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(360), 12, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_BANG, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(358), 20, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [10238] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(364), 12, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_BANG, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(362), 20, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [10279] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(368), 12, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_BANG, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(366), 20, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [10320] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(372), 12, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_BANG, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(370), 20, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [10361] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(376), 12, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_BANG, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(374), 20, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [10402] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(380), 12, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_BANG, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(378), 20, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [10443] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(384), 12, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_BANG, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(382), 20, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [10484] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(388), 12, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_BANG, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(386), 20, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [10525] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(392), 12, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_BANG, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(390), 20, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [10566] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(396), 12, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_BANG, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(394), 20, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [10607] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(400), 12, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_BANG, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(398), 20, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [10648] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(404), 12, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_BANG, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - anon_sym_LT_LT, - ACTIONS(402), 20, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_LT_LT_DASH, - [10689] = 5, - ACTIONS(406), 1, - anon_sym_LPAREN, - STATE(15), 1, - sym__function_call_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(268), 6, - anon_sym_EQ, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(266), 22, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [10732] = 6, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - STATE(212), 2, - sym_attr_splat, - sym_full_splat, - STATE(214), 2, + STATE(211), 2, sym_new_index, sym_legacy_index, - STATE(220), 3, + STATE(136), 3, sym_index, sym_get_attr, - sym_splat, - ACTIONS(180), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(178), 17, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [10776] = 13, - ACTIONS(412), 1, - anon_sym_SLASH, - ACTIONS(420), 1, - anon_sym_AMP_AMP, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(176), 2, - anon_sym_LBRACK, - anon_sym_DOT, - ACTIONS(408), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(410), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(414), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(416), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(418), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - STATE(212), 2, - sym_attr_splat, - sym_full_splat, - STATE(214), 2, - sym_new_index, - sym_legacy_index, - STATE(220), 3, - sym_index, - sym_get_attr, - sym_splat, - ACTIONS(174), 8, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_PIPE_PIPE, - [10834] = 12, - ACTIONS(412), 1, - anon_sym_SLASH, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(176), 2, - anon_sym_LBRACK, - anon_sym_DOT, - ACTIONS(408), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(410), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(414), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(416), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(418), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - STATE(212), 2, - sym_attr_splat, - sym_full_splat, - STATE(214), 2, - sym_new_index, - sym_legacy_index, - STATE(220), 3, - sym_index, - sym_get_attr, - sym_splat, - ACTIONS(174), 9, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [10890] = 11, - ACTIONS(412), 1, - anon_sym_SLASH, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(176), 2, - anon_sym_LBRACK, - anon_sym_DOT, - ACTIONS(408), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(410), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(414), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(416), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - STATE(212), 2, - sym_attr_splat, - sym_full_splat, - STATE(214), 2, - sym_new_index, - sym_legacy_index, - STATE(220), 3, - sym_index, - sym_get_attr, - sym_splat, - ACTIONS(174), 11, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [10944] = 9, - ACTIONS(412), 1, - anon_sym_SLASH, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(408), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(410), 2, - anon_sym_STAR, - anon_sym_PERCENT, - STATE(212), 2, - sym_attr_splat, - sym_full_splat, - STATE(214), 2, - sym_new_index, - sym_legacy_index, - STATE(220), 3, - sym_index, - sym_get_attr, - sym_splat, - ACTIONS(176), 4, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_GT, - anon_sym_LT, - ACTIONS(174), 13, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [10994] = 6, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - STATE(212), 2, - sym_attr_splat, - sym_full_splat, - STATE(214), 2, - sym_new_index, - sym_legacy_index, - STATE(220), 3, - sym_index, - sym_get_attr, - sym_splat, - ACTIONS(176), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(174), 17, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [11038] = 17, - ACTIONS(412), 1, - anon_sym_SLASH, - ACTIONS(420), 1, - anon_sym_AMP_AMP, - ACTIONS(422), 1, - anon_sym_LBRACK, - ACTIONS(424), 1, - anon_sym_DOT, - ACTIONS(426), 1, - anon_sym_DOT_STAR, - ACTIONS(428), 1, - anon_sym_LBRACK_STAR_RBRACK, - ACTIONS(430), 1, - anon_sym_PIPE_PIPE, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(408), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(410), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(414), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(416), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(418), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - STATE(212), 2, - sym_attr_splat, - sym_full_splat, - STATE(214), 2, - sym_new_index, - sym_legacy_index, - STATE(220), 3, - sym_index, - sym_get_attr, - sym_splat, - ACTIONS(144), 5, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - [11104] = 8, - ACTIONS(412), 1, - anon_sym_SLASH, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(410), 2, - anon_sym_STAR, - anon_sym_PERCENT, - STATE(212), 2, - sym_attr_splat, - sym_full_splat, - STATE(214), 2, - sym_new_index, - sym_legacy_index, - STATE(220), 3, - sym_index, - sym_get_attr, - sym_splat, - ACTIONS(176), 4, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_GT, - anon_sym_LT, - ACTIONS(174), 15, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [11152] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(324), 6, + aux_sym_attr_splat_repeat1, + ACTIONS(262), 4, anon_sym_EQ, - anon_sym_LBRACK, - anon_sym_DOT, anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - ACTIONS(322), 22, + ACTIONS(260), 22, ts_builtin_sym_end, anon_sym_RBRACE, sym_identifier, @@ -19681,29 +19831,32 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [11189] = 3, + [11436] = 3, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(380), 6, - anon_sym_EQ, + ACTIONS(310), 12, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, anon_sym_LBRACK, anon_sym_DOT, + anon_sym_BANG, anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - ACTIONS(378), 22, - ts_builtin_sym_end, + anon_sym_LT_LT, + ACTIONS(308), 20, + sym_quoted_template_start, + anon_sym_LBRACE, anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, anon_sym_DOT_STAR, anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, anon_sym_QMARK, anon_sym_DASH, anon_sym_STAR, @@ -19715,29 +19868,33 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [11226] = 3, + anon_sym_LT_LT_DASH, + [11477] = 3, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(332), 6, - anon_sym_EQ, + ACTIONS(314), 12, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, anon_sym_LBRACK, anon_sym_DOT, + anon_sym_BANG, anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - ACTIONS(330), 22, - ts_builtin_sym_end, + anon_sym_LT_LT, + ACTIONS(312), 20, + sym_quoted_template_start, + anon_sym_LBRACE, anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, anon_sym_DOT_STAR, anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, anon_sym_QMARK, anon_sym_DASH, anon_sym_STAR, @@ -19749,267 +19906,33 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [11263] = 3, + anon_sym_LT_LT_DASH, + [11518] = 3, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(328), 6, - anon_sym_EQ, + ACTIONS(318), 12, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, anon_sym_LBRACK, anon_sym_DOT, + anon_sym_BANG, anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - ACTIONS(326), 22, - ts_builtin_sym_end, + anon_sym_LT_LT, + ACTIONS(316), 20, + sym_quoted_template_start, + anon_sym_LBRACE, anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, anon_sym_DOT_STAR, anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [11300] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(280), 6, - anon_sym_EQ, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(278), 22, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [11337] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(316), 6, - anon_sym_EQ, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(314), 22, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [11374] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(320), 6, - anon_sym_EQ, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(318), 22, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [11411] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(336), 6, - anon_sym_EQ, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(334), 22, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [11448] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(360), 6, - anon_sym_EQ, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(358), 22, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [11485] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(344), 6, - anon_sym_EQ, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(342), 22, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [11522] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(352), 6, - anon_sym_EQ, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(350), 22, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, anon_sym_QMARK, anon_sym_DASH, anon_sym_STAR, @@ -20021,29 +19944,33 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, + anon_sym_LT_LT_DASH, [11559] = 3, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(356), 6, - anon_sym_EQ, + ACTIONS(322), 12, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, anon_sym_LBRACK, anon_sym_DOT, + anon_sym_BANG, anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - ACTIONS(354), 22, - ts_builtin_sym_end, + anon_sym_LT_LT, + ACTIONS(320), 20, + sym_quoted_template_start, + anon_sym_LBRACE, anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, anon_sym_DOT_STAR, anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, anon_sym_QMARK, anon_sym_DASH, anon_sym_STAR, @@ -20055,29 +19982,33 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [11596] = 3, + anon_sym_LT_LT_DASH, + [11600] = 3, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(368), 6, - anon_sym_EQ, + ACTIONS(326), 12, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, anon_sym_LBRACK, anon_sym_DOT, + anon_sym_BANG, anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - ACTIONS(366), 22, - ts_builtin_sym_end, + anon_sym_LT_LT, + ACTIONS(324), 20, + sym_quoted_template_start, + anon_sym_LBRACE, anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, anon_sym_DOT_STAR, anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, anon_sym_QMARK, anon_sym_DASH, anon_sym_STAR, @@ -20089,29 +20020,33 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [11633] = 3, + anon_sym_LT_LT_DASH, + [11641] = 3, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(348), 6, - anon_sym_EQ, + ACTIONS(330), 12, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, anon_sym_LBRACK, anon_sym_DOT, + anon_sym_BANG, anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - ACTIONS(346), 22, - ts_builtin_sym_end, + anon_sym_LT_LT, + ACTIONS(328), 20, + sym_quoted_template_start, + anon_sym_LBRACE, anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, anon_sym_DOT_STAR, anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, anon_sym_QMARK, anon_sym_DASH, anon_sym_STAR, @@ -20123,29 +20058,33 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [11670] = 3, + anon_sym_LT_LT_DASH, + [11682] = 3, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(364), 6, - anon_sym_EQ, + ACTIONS(334), 12, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, anon_sym_LBRACK, anon_sym_DOT, + anon_sym_BANG, anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - ACTIONS(362), 22, - ts_builtin_sym_end, + anon_sym_LT_LT, + ACTIONS(332), 20, + sym_quoted_template_start, + anon_sym_LBRACE, anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, anon_sym_DOT_STAR, anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, anon_sym_QMARK, anon_sym_DASH, anon_sym_STAR, @@ -20157,29 +20096,33 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [11707] = 3, + anon_sym_LT_LT_DASH, + [11723] = 3, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(292), 6, - anon_sym_EQ, + ACTIONS(338), 12, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, anon_sym_LBRACK, anon_sym_DOT, + anon_sym_BANG, anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - ACTIONS(290), 22, - ts_builtin_sym_end, + anon_sym_LT_LT, + ACTIONS(336), 20, + sym_quoted_template_start, + anon_sym_LBRACE, anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, anon_sym_DOT_STAR, anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, anon_sym_QMARK, anon_sym_DASH, anon_sym_STAR, @@ -20191,29 +20134,33 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [11744] = 3, + anon_sym_LT_LT_DASH, + [11764] = 3, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(388), 6, - anon_sym_EQ, + ACTIONS(342), 12, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, anon_sym_LBRACK, anon_sym_DOT, + anon_sym_BANG, anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - ACTIONS(386), 22, - ts_builtin_sym_end, + anon_sym_LT_LT, + ACTIONS(340), 20, + sym_quoted_template_start, + anon_sym_LBRACE, anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, anon_sym_DOT_STAR, anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, anon_sym_QMARK, anon_sym_DASH, anon_sym_STAR, @@ -20225,29 +20172,33 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [11781] = 3, + anon_sym_LT_LT_DASH, + [11805] = 3, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(296), 6, - anon_sym_EQ, + ACTIONS(346), 12, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, anon_sym_LBRACK, anon_sym_DOT, + anon_sym_BANG, anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - ACTIONS(294), 22, - ts_builtin_sym_end, + anon_sym_LT_LT, + ACTIONS(344), 20, + sym_quoted_template_start, + anon_sym_LBRACE, anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, anon_sym_DOT_STAR, anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, anon_sym_QMARK, anon_sym_DASH, anon_sym_STAR, @@ -20259,29 +20210,33 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [11818] = 3, + anon_sym_LT_LT_DASH, + [11846] = 3, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(300), 6, - anon_sym_EQ, + ACTIONS(350), 12, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, anon_sym_LBRACK, anon_sym_DOT, + anon_sym_BANG, anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - ACTIONS(298), 22, - ts_builtin_sym_end, + anon_sym_LT_LT, + ACTIONS(348), 20, + sym_quoted_template_start, + anon_sym_LBRACE, anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, anon_sym_DOT_STAR, anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, anon_sym_QMARK, anon_sym_DASH, anon_sym_STAR, @@ -20293,7 +20248,810 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [11855] = 3, + anon_sym_LT_LT_DASH, + [11887] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(354), 12, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_BANG, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + ACTIONS(352), 20, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_LT_LT_DASH, + [11928] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(358), 12, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_BANG, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + ACTIONS(356), 20, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_LT_LT_DASH, + [11969] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(362), 12, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_BANG, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + ACTIONS(360), 20, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_LT_LT_DASH, + [12010] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(366), 12, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_BANG, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + ACTIONS(364), 20, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_LT_LT_DASH, + [12051] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(370), 12, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_BANG, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + ACTIONS(368), 20, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_LT_LT_DASH, + [12092] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(374), 12, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_BANG, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + ACTIONS(372), 20, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_LT_LT_DASH, + [12133] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(378), 12, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_BANG, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + ACTIONS(376), 20, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_LT_LT_DASH, + [12174] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(382), 12, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_BANG, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + ACTIONS(380), 20, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_LT_LT_DASH, + [12215] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(386), 12, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_BANG, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + ACTIONS(384), 20, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_LT_LT_DASH, + [12256] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(390), 12, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_BANG, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + ACTIONS(388), 20, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_LT_LT_DASH, + [12297] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(394), 12, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_BANG, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + ACTIONS(392), 20, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_LT_LT_DASH, + [12338] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(398), 12, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_BANG, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + ACTIONS(396), 20, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_LT_LT_DASH, + [12379] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(402), 12, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_BANG, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + ACTIONS(400), 20, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_LT_LT_DASH, + [12420] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(406), 12, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_BANG, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + ACTIONS(404), 20, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_LT_LT_DASH, + [12461] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(410), 12, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_BANG, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + ACTIONS(408), 20, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_LT_LT_DASH, + [12502] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(414), 12, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_BANG, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + ACTIONS(412), 20, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_LT_LT_DASH, + [12543] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(418), 12, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_BANG, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + ACTIONS(416), 20, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_LT_LT_DASH, + [12584] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(422), 12, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_BANG, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + ACTIONS(420), 20, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_LT_LT_DASH, + [12625] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(426), 12, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_BANG, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + ACTIONS(424), 20, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_LT_LT_DASH, + [12666] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(430), 12, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_BANG, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + ACTIONS(428), 20, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_LT_LT_DASH, + [12707] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(434), 12, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_BANG, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + anon_sym_LT_LT, + ACTIONS(432), 20, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_LT_LT_DASH, + [12748] = 5, + ACTIONS(436), 1, + anon_sym_LPAREN, + STATE(16), 1, + sym__function_call_start, ACTIONS(3), 2, sym_comment, sym__whitespace, @@ -20327,704 +21085,160 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [11892] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(284), 6, - anon_sym_EQ, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(282), 22, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [11929] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(340), 6, - anon_sym_EQ, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(338), 22, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [11966] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(288), 6, - anon_sym_EQ, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(286), 22, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [12003] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(376), 6, - anon_sym_EQ, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(374), 22, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [12040] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(396), 6, - anon_sym_EQ, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(394), 22, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [12077] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(404), 6, - anon_sym_EQ, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(402), 22, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [12114] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(400), 6, - anon_sym_EQ, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(398), 22, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [12151] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(372), 6, - anon_sym_EQ, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(370), 22, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [12188] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(312), 6, - anon_sym_EQ, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(310), 22, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [12225] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(392), 6, - anon_sym_EQ, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(390), 22, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [12262] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(384), 6, - anon_sym_EQ, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(382), 22, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [12299] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(308), 6, - anon_sym_EQ, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(306), 22, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_EQ_GT, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [12336] = 7, - ACTIONS(422), 1, - anon_sym_LBRACK, - ACTIONS(424), 1, - anon_sym_DOT, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - STATE(214), 2, - sym_new_index, - sym_legacy_index, - ACTIONS(236), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - STATE(196), 3, - sym_index, - sym_get_attr, - aux_sym_attr_splat_repeat1, - ACTIONS(234), 17, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [12380] = 7, - ACTIONS(422), 1, - anon_sym_LBRACK, - ACTIONS(424), 1, - anon_sym_DOT, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - STATE(214), 2, - sym_new_index, - sym_legacy_index, - ACTIONS(228), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - STATE(193), 3, - sym_index, - sym_get_attr, - aux_sym_attr_splat_repeat1, - ACTIONS(226), 17, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [12424] = 9, - ACTIONS(436), 1, - anon_sym_SLASH, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(432), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(434), 2, - anon_sym_STAR, - anon_sym_PERCENT, - STATE(257), 2, - sym_new_index, - sym_legacy_index, - STATE(261), 2, - sym_attr_splat, - sym_full_splat, - STATE(256), 3, - sym_index, - sym_get_attr, - sym_splat, - ACTIONS(176), 4, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_GT, - anon_sym_LT, - ACTIONS(174), 11, - sym_template_interpolation_end, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - sym_strip_marker, - [12472] = 7, - ACTIONS(422), 1, - anon_sym_LBRACK, - ACTIONS(424), 1, - anon_sym_DOT, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - STATE(214), 2, - sym_new_index, - sym_legacy_index, - ACTIONS(232), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - STATE(189), 3, - sym_index, - sym_get_attr, - aux_sym_attr_splat_repeat1, - ACTIONS(230), 17, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [12516] = 7, - ACTIONS(422), 1, - anon_sym_LBRACK, - ACTIONS(424), 1, - anon_sym_DOT, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - STATE(214), 2, - sym_new_index, - sym_legacy_index, - ACTIONS(240), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - STATE(196), 3, - sym_index, - sym_get_attr, - aux_sym_attr_splat_repeat1, - ACTIONS(238), 17, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [12560] = 6, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - STATE(257), 2, - sym_new_index, - sym_legacy_index, - STATE(261), 2, - sym_attr_splat, - sym_full_splat, - STATE(256), 3, - sym_index, - sym_get_attr, - sym_splat, - ACTIONS(180), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(178), 15, - sym_template_interpolation_end, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - sym_strip_marker, - [12602] = 17, - ACTIONS(436), 1, - anon_sym_SLASH, - ACTIONS(438), 1, - anon_sym_LBRACK, - ACTIONS(440), 1, - anon_sym_DOT, + [12791] = 11, ACTIONS(442), 1, + anon_sym_SLASH, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(164), 2, + anon_sym_LBRACK, + anon_sym_DOT, + ACTIONS(438), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(440), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(444), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(446), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + STATE(272), 2, + sym_attr_splat, + sym_full_splat, + STATE(273), 2, + sym_new_index, + sym_legacy_index, + STATE(274), 3, + sym_index, + sym_get_attr, + sym_splat, + ACTIONS(162), 11, + anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_DOT_STAR, - ACTIONS(444), 1, anon_sym_LBRACK_STAR_RBRACK, - ACTIONS(452), 1, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [12845] = 9, + ACTIONS(442), 1, + anon_sym_SLASH, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(438), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(440), 2, + anon_sym_STAR, + anon_sym_PERCENT, + STATE(272), 2, + sym_attr_splat, + sym_full_splat, + STATE(273), 2, + sym_new_index, + sym_legacy_index, + STATE(274), 3, + sym_index, + sym_get_attr, + sym_splat, + ACTIONS(164), 4, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_GT, + anon_sym_LT, + ACTIONS(162), 13, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [12895] = 17, + ACTIONS(442), 1, + anon_sym_SLASH, + ACTIONS(448), 1, + anon_sym_LBRACK, + ACTIONS(450), 1, + anon_sym_DOT, + ACTIONS(452), 1, + anon_sym_DOT_STAR, ACTIONS(454), 1, + anon_sym_LBRACK_STAR_RBRACK, + ACTIONS(458), 1, + anon_sym_AMP_AMP, + ACTIONS(460), 1, anon_sym_PIPE_PIPE, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(432), 2, + ACTIONS(438), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(434), 2, + ACTIONS(440), 2, anon_sym_STAR, anon_sym_PERCENT, - ACTIONS(446), 2, + ACTIONS(444), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(448), 2, + ACTIONS(446), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(450), 2, + ACTIONS(456), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - STATE(257), 2, - sym_new_index, - sym_legacy_index, - STATE(261), 2, + STATE(272), 2, sym_attr_splat, sym_full_splat, - ACTIONS(144), 3, - sym_template_interpolation_end, - anon_sym_QMARK, - sym_strip_marker, - STATE(256), 3, + STATE(273), 2, + sym_new_index, + sym_legacy_index, + STATE(274), 3, sym_index, sym_get_attr, sym_splat, - [12666] = 7, - ACTIONS(456), 1, - anon_sym_LBRACK, - ACTIONS(459), 1, - anon_sym_DOT, + ACTIONS(182), 5, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + [12961] = 6, ACTIONS(3), 2, sym_comment, sym__whitespace, - STATE(214), 2, + STATE(272), 2, + sym_attr_splat, + sym_full_splat, + STATE(273), 2, sym_new_index, sym_legacy_index, - ACTIONS(218), 3, + STATE(274), 3, + sym_index, + sym_get_attr, + sym_splat, + ACTIONS(160), 5, + anon_sym_LBRACK, + anon_sym_DOT, anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - STATE(196), 3, - sym_index, - sym_get_attr, - aux_sym_attr_splat_repeat1, - ACTIONS(216), 17, + ACTIONS(158), 17, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_DOT_STAR, @@ -21042,123 +21256,1293 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [12710] = 13, - ACTIONS(436), 1, + [13005] = 8, + ACTIONS(442), 1, anon_sym_SLASH, - ACTIONS(452), 1, - anon_sym_AMP_AMP, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(176), 2, - anon_sym_LBRACK, - anon_sym_DOT, - ACTIONS(432), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(434), 2, + ACTIONS(440), 2, anon_sym_STAR, anon_sym_PERCENT, + STATE(272), 2, + sym_attr_splat, + sym_full_splat, + STATE(273), 2, + sym_new_index, + sym_legacy_index, + STATE(274), 3, + sym_index, + sym_get_attr, + sym_splat, + ACTIONS(164), 4, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_GT, + anon_sym_LT, + ACTIONS(162), 15, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [13053] = 12, + ACTIONS(442), 1, + anon_sym_SLASH, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(164), 2, + anon_sym_LBRACK, + anon_sym_DOT, + ACTIONS(438), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(440), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(444), 2, + anon_sym_GT, + anon_sym_LT, ACTIONS(446), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(448), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(450), 2, + ACTIONS(456), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - STATE(257), 2, - sym_new_index, - sym_legacy_index, - STATE(261), 2, + STATE(272), 2, sym_attr_splat, sym_full_splat, - STATE(256), 3, + STATE(273), 2, + sym_new_index, + sym_legacy_index, + STATE(274), 3, sym_index, sym_get_attr, sym_splat, - ACTIONS(174), 6, - sym_template_interpolation_end, + ACTIONS(162), 9, + anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_DOT_STAR, anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, anon_sym_QMARK, + anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - sym_strip_marker, - [12766] = 12, - ACTIONS(436), 1, - anon_sym_SLASH, + [13109] = 6, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(176), 2, + STATE(272), 2, + sym_attr_splat, + sym_full_splat, + STATE(273), 2, + sym_new_index, + sym_legacy_index, + STATE(274), 3, + sym_index, + sym_get_attr, + sym_splat, + ACTIONS(164), 5, anon_sym_LBRACK, anon_sym_DOT, - ACTIONS(432), 2, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(162), 17, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(434), 2, anon_sym_STAR, anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [13153] = 13, + ACTIONS(442), 1, + anon_sym_SLASH, + ACTIONS(458), 1, + anon_sym_AMP_AMP, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(164), 2, + anon_sym_LBRACK, + anon_sym_DOT, + ACTIONS(438), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(440), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(444), 2, + anon_sym_GT, + anon_sym_LT, ACTIONS(446), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(448), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(450), 2, + ACTIONS(456), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - STATE(257), 2, - sym_new_index, - sym_legacy_index, - STATE(261), 2, + STATE(272), 2, sym_attr_splat, sym_full_splat, - STATE(256), 3, + STATE(273), 2, + sym_new_index, + sym_legacy_index, + STATE(274), 3, sym_index, sym_get_attr, sym_splat, - ACTIONS(174), 7, - sym_template_interpolation_end, + ACTIONS(162), 8, + anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_DOT_STAR, anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, anon_sym_QMARK, + anon_sym_PIPE_PIPE, + [13211] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(330), 6, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(328), 22, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - sym_strip_marker, - [12820] = 11, - ACTIONS(436), 1, + [13248] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(318), 6, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(316), 22, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [13285] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(414), 6, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(412), 22, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [13322] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(406), 6, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(404), 22, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [13359] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(426), 6, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(424), 22, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [13396] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(334), 6, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(332), 22, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [13433] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(434), 6, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(432), 22, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [13470] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(326), 6, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(324), 22, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [13507] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(382), 6, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(380), 22, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [13544] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(310), 6, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(308), 22, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [13581] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(410), 6, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(408), 22, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [13618] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(314), 6, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(312), 22, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [13655] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(374), 6, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(372), 22, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [13692] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(398), 6, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(396), 22, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [13729] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(370), 6, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(368), 22, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [13766] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(394), 6, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(392), 22, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [13803] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(402), 6, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(400), 22, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [13840] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(354), 6, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(352), 22, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [13877] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(350), 6, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(348), 22, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [13914] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(342), 6, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(340), 22, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [13951] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(362), 6, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(360), 22, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [13988] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(346), 6, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(344), 22, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [14025] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(390), 6, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(388), 22, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [14062] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(366), 6, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(364), 22, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [14099] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(338), 6, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(336), 22, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [14136] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(386), 6, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(384), 22, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [14173] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(422), 6, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(420), 22, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [14210] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(430), 6, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(428), 22, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [14247] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(322), 6, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(320), 22, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [14284] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(358), 6, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 22, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [14321] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(418), 6, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(416), 22, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [14358] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(378), 6, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(376), 22, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [14395] = 11, + ACTIONS(466), 1, anon_sym_SLASH, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(176), 2, + ACTIONS(164), 2, anon_sym_LBRACK, anon_sym_DOT, - ACTIONS(432), 2, + ACTIONS(462), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(434), 2, + ACTIONS(464), 2, anon_sym_STAR, anon_sym_PERCENT, - ACTIONS(446), 2, + ACTIONS(468), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(448), 2, + ACTIONS(470), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - STATE(257), 2, + STATE(279), 2, sym_new_index, sym_legacy_index, - STATE(261), 2, + STATE(284), 2, sym_attr_splat, sym_full_splat, - STATE(256), 3, + STATE(278), 3, sym_index, sym_get_attr, sym_splat, - ACTIONS(174), 9, + ACTIONS(162), 9, sym_template_interpolation_end, anon_sym_DOT_STAR, anon_sym_LBRACK_STAR_RBRACK, @@ -21168,36 +22552,34 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, sym_strip_marker, - [12872] = 8, - ACTIONS(436), 1, - anon_sym_SLASH, + [14447] = 6, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(434), 2, - anon_sym_STAR, - anon_sym_PERCENT, - STATE(257), 2, - sym_new_index, - sym_legacy_index, - STATE(261), 2, + STATE(305), 2, sym_attr_splat, sym_full_splat, - STATE(256), 3, + STATE(307), 2, + sym_new_index, + sym_legacy_index, + STATE(318), 3, sym_index, sym_get_attr, sym_splat, - ACTIONS(176), 4, + ACTIONS(160), 5, anon_sym_LBRACK, anon_sym_DOT, + anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - ACTIONS(174), 13, - sym_template_interpolation_end, + ACTIONS(158), 15, + sym_template_directive_end, anon_sym_DOT_STAR, anon_sym_LBRACK_STAR_RBRACK, anon_sym_QMARK, anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, anon_sym_PLUS, anon_sym_GT_EQ, anon_sym_LT_EQ, @@ -21206,62 +22588,105 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, sym_strip_marker, - [12918] = 6, + [14489] = 11, + ACTIONS(476), 1, + anon_sym_SLASH, ACTIONS(3), 2, sym_comment, sym__whitespace, - STATE(257), 2, - sym_new_index, - sym_legacy_index, - STATE(261), 2, + ACTIONS(164), 2, + anon_sym_LBRACK, + anon_sym_DOT, + ACTIONS(472), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(474), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(478), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(480), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + STATE(305), 2, sym_attr_splat, sym_full_splat, - STATE(256), 3, + STATE(307), 2, + sym_new_index, + sym_legacy_index, + STATE(318), 3, sym_index, sym_get_attr, sym_splat, - ACTIONS(176), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(174), 15, - sym_template_interpolation_end, + ACTIONS(162), 9, + sym_template_directive_end, anon_sym_DOT_STAR, anon_sym_LBRACK_STAR_RBRACK, anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, sym_strip_marker, - [12960] = 7, - ACTIONS(438), 1, + [14541] = 7, + ACTIONS(482), 1, anon_sym_LBRACK, - ACTIONS(440), 1, + ACTIONS(485), 1, anon_sym_DOT, ACTIONS(3), 2, sym_comment, sym__whitespace, - STATE(257), 2, + STATE(273), 2, sym_new_index, sym_legacy_index, - ACTIONS(232), 3, + ACTIONS(248), 3, anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - STATE(205), 3, + STATE(215), 3, sym_index, sym_get_attr, aux_sym_attr_splat_repeat1, - ACTIONS(230), 15, + ACTIONS(246), 17, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [14585] = 6, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(279), 2, + sym_new_index, + sym_legacy_index, + STATE(284), 2, + sym_attr_splat, + sym_full_splat, + STATE(278), 3, + sym_index, + sym_get_attr, + sym_splat, + ACTIONS(164), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(162), 15, sym_template_interpolation_end, anon_sym_DOT_STAR, anon_sym_LBRACK_STAR_RBRACK, @@ -21277,29 +22702,148 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, sym_strip_marker, - [13002] = 7, - ACTIONS(462), 1, + [14627] = 6, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(305), 2, + sym_attr_splat, + sym_full_splat, + STATE(307), 2, + sym_new_index, + sym_legacy_index, + STATE(318), 3, + sym_index, + sym_get_attr, + sym_splat, + ACTIONS(164), 5, anon_sym_LBRACK, - ACTIONS(465), 1, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(162), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [14669] = 12, + ACTIONS(476), 1, + anon_sym_SLASH, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(164), 2, + anon_sym_LBRACK, + anon_sym_DOT, + ACTIONS(472), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(474), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(478), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(480), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(488), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + STATE(305), 2, + sym_attr_splat, + sym_full_splat, + STATE(307), 2, + sym_new_index, + sym_legacy_index, + STATE(318), 3, + sym_index, + sym_get_attr, + sym_splat, + ACTIONS(162), 7, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [14723] = 8, + ACTIONS(466), 1, + anon_sym_SLASH, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(464), 2, + anon_sym_STAR, + anon_sym_PERCENT, + STATE(279), 2, + sym_new_index, + sym_legacy_index, + STATE(284), 2, + sym_attr_splat, + sym_full_splat, + STATE(278), 3, + sym_index, + sym_get_attr, + sym_splat, + ACTIONS(164), 4, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_GT, + anon_sym_LT, + ACTIONS(162), 13, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [14769] = 7, + ACTIONS(448), 1, + anon_sym_LBRACK, + ACTIONS(450), 1, anon_sym_DOT, ACTIONS(3), 2, sym_comment, sym__whitespace, - STATE(257), 2, + STATE(273), 2, sym_new_index, sym_legacy_index, - ACTIONS(218), 3, + ACTIONS(262), 3, anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - STATE(203), 3, + STATE(230), 3, sym_index, sym_get_attr, aux_sym_attr_splat_repeat1, - ACTIONS(216), 15, - sym_template_interpolation_end, + ACTIONS(260), 17, + anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_DOT_STAR, anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, anon_sym_QMARK, anon_sym_DASH, anon_sym_STAR, @@ -21311,27 +22855,111 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - sym_strip_marker, - [13044] = 7, - ACTIONS(438), 1, + [14813] = 7, + ACTIONS(448), 1, anon_sym_LBRACK, - ACTIONS(440), 1, + ACTIONS(450), 1, anon_sym_DOT, ACTIONS(3), 2, sym_comment, sym__whitespace, - STATE(257), 2, + STATE(273), 2, sym_new_index, sym_legacy_index, - ACTIONS(240), 3, + ACTIONS(266), 3, anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - STATE(203), 3, + STATE(231), 3, sym_index, sym_get_attr, aux_sym_attr_splat_repeat1, - ACTIONS(238), 15, + ACTIONS(264), 17, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [14857] = 17, + ACTIONS(466), 1, + anon_sym_SLASH, + ACTIONS(490), 1, + anon_sym_LBRACK, + ACTIONS(492), 1, + anon_sym_DOT, + ACTIONS(494), 1, + anon_sym_DOT_STAR, + ACTIONS(496), 1, + anon_sym_LBRACK_STAR_RBRACK, + ACTIONS(500), 1, + anon_sym_AMP_AMP, + ACTIONS(502), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(462), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(464), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(468), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(470), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(498), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + STATE(279), 2, + sym_new_index, + sym_legacy_index, + STATE(284), 2, + sym_attr_splat, + sym_full_splat, + ACTIONS(182), 3, + sym_template_interpolation_end, + anon_sym_QMARK, + sym_strip_marker, + STATE(278), 3, + sym_index, + sym_get_attr, + sym_splat, + [14921] = 6, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(279), 2, + sym_new_index, + sym_legacy_index, + STATE(284), 2, + sym_attr_splat, + sym_full_splat, + STATE(278), 3, + sym_index, + sym_get_attr, + sym_splat, + ACTIONS(160), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(158), 15, sym_template_interpolation_end, anon_sym_DOT_STAR, anon_sym_LBRACK_STAR_RBRACK, @@ -21347,29 +22975,284 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, sym_strip_marker, - [13086] = 7, - ACTIONS(438), 1, + [14963] = 13, + ACTIONS(466), 1, + anon_sym_SLASH, + ACTIONS(500), 1, + anon_sym_AMP_AMP, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(164), 2, anon_sym_LBRACK, - ACTIONS(440), 1, + anon_sym_DOT, + ACTIONS(462), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(464), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(468), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(470), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(498), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + STATE(279), 2, + sym_new_index, + sym_legacy_index, + STATE(284), 2, + sym_attr_splat, + sym_full_splat, + STATE(278), 3, + sym_index, + sym_get_attr, + sym_splat, + ACTIONS(162), 6, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [15019] = 17, + ACTIONS(476), 1, + anon_sym_SLASH, + ACTIONS(504), 1, + anon_sym_LBRACK, + ACTIONS(506), 1, + anon_sym_DOT, + ACTIONS(508), 1, + anon_sym_DOT_STAR, + ACTIONS(510), 1, + anon_sym_LBRACK_STAR_RBRACK, + ACTIONS(512), 1, + anon_sym_AMP_AMP, + ACTIONS(514), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(472), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(474), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(478), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(480), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(488), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + STATE(305), 2, + sym_attr_splat, + sym_full_splat, + STATE(307), 2, + sym_new_index, + sym_legacy_index, + ACTIONS(182), 3, + sym_template_directive_end, + anon_sym_QMARK, + sym_strip_marker, + STATE(318), 3, + sym_index, + sym_get_attr, + sym_splat, + [15083] = 9, + ACTIONS(476), 1, + anon_sym_SLASH, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(472), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(474), 2, + anon_sym_STAR, + anon_sym_PERCENT, + STATE(305), 2, + sym_attr_splat, + sym_full_splat, + STATE(307), 2, + sym_new_index, + sym_legacy_index, + STATE(318), 3, + sym_index, + sym_get_attr, + sym_splat, + ACTIONS(164), 4, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_GT, + anon_sym_LT, + ACTIONS(162), 11, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [15131] = 13, + ACTIONS(476), 1, + anon_sym_SLASH, + ACTIONS(512), 1, + anon_sym_AMP_AMP, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(164), 2, + anon_sym_LBRACK, + anon_sym_DOT, + ACTIONS(472), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(474), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(478), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(480), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(488), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + STATE(305), 2, + sym_attr_splat, + sym_full_splat, + STATE(307), 2, + sym_new_index, + sym_legacy_index, + STATE(318), 3, + sym_index, + sym_get_attr, + sym_splat, + ACTIONS(162), 6, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [15187] = 8, + ACTIONS(476), 1, + anon_sym_SLASH, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(474), 2, + anon_sym_STAR, + anon_sym_PERCENT, + STATE(305), 2, + sym_attr_splat, + sym_full_splat, + STATE(307), 2, + sym_new_index, + sym_legacy_index, + STATE(318), 3, + sym_index, + sym_get_attr, + sym_splat, + ACTIONS(164), 4, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_GT, + anon_sym_LT, + ACTIONS(162), 13, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [15233] = 12, + ACTIONS(466), 1, + anon_sym_SLASH, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(164), 2, + anon_sym_LBRACK, + anon_sym_DOT, + ACTIONS(462), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(464), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(468), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(470), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(498), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + STATE(279), 2, + sym_new_index, + sym_legacy_index, + STATE(284), 2, + sym_attr_splat, + sym_full_splat, + STATE(278), 3, + sym_index, + sym_get_attr, + sym_splat, + ACTIONS(162), 7, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [15287] = 7, + ACTIONS(448), 1, + anon_sym_LBRACK, + ACTIONS(450), 1, anon_sym_DOT, ACTIONS(3), 2, sym_comment, sym__whitespace, - STATE(257), 2, + STATE(273), 2, sym_new_index, sym_legacy_index, - ACTIONS(236), 3, + ACTIONS(270), 3, anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - STATE(203), 3, + STATE(215), 3, sym_index, sym_get_attr, aux_sym_attr_splat_repeat1, - ACTIONS(234), 15, - sym_template_interpolation_end, + ACTIONS(268), 17, + anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_DOT_STAR, anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, anon_sym_QMARK, anon_sym_DASH, anon_sym_STAR, @@ -21381,27 +23264,102 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - sym_strip_marker, - [13128] = 7, - ACTIONS(438), 1, + [15331] = 7, + ACTIONS(448), 1, anon_sym_LBRACK, - ACTIONS(440), 1, + ACTIONS(450), 1, anon_sym_DOT, ACTIONS(3), 2, sym_comment, sym__whitespace, - STATE(257), 2, + STATE(273), 2, sym_new_index, sym_legacy_index, - ACTIONS(228), 3, + ACTIONS(258), 3, anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - STATE(204), 3, + STATE(215), 3, sym_index, sym_get_attr, aux_sym_attr_splat_repeat1, - ACTIONS(226), 15, + ACTIONS(256), 17, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [15375] = 9, + ACTIONS(466), 1, + anon_sym_SLASH, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(462), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(464), 2, + anon_sym_STAR, + anon_sym_PERCENT, + STATE(279), 2, + sym_new_index, + sym_legacy_index, + STATE(284), 2, + sym_attr_splat, + sym_full_splat, + STATE(278), 3, + sym_index, + sym_get_attr, + sym_splat, + ACTIONS(164), 4, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_GT, + anon_sym_LT, + ACTIONS(162), 11, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [15423] = 7, + ACTIONS(516), 1, + anon_sym_LBRACK, + ACTIONS(519), 1, + anon_sym_DOT, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(279), 2, + sym_new_index, + sym_legacy_index, + ACTIONS(248), 3, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + STATE(233), 3, + sym_index, + sym_get_attr, + aux_sym_attr_splat_repeat1, + ACTIONS(246), 15, sym_template_interpolation_end, anon_sym_DOT_STAR, anon_sym_LBRACK_STAR_RBRACK, @@ -21417,291 +23375,326 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, sym_strip_marker, - [13170] = 5, - ACTIONS(468), 1, + [15465] = 7, + ACTIONS(504), 1, + anon_sym_LBRACK, + ACTIONS(506), 1, + anon_sym_DOT, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(307), 2, + sym_new_index, + sym_legacy_index, + ACTIONS(262), 3, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + STATE(241), 3, + sym_index, + sym_get_attr, + aux_sym_attr_splat_repeat1, + ACTIONS(260), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [15507] = 7, + ACTIONS(490), 1, + anon_sym_LBRACK, + ACTIONS(492), 1, + anon_sym_DOT, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(279), 2, + sym_new_index, + sym_legacy_index, + ACTIONS(258), 3, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + STATE(233), 3, + sym_index, + sym_get_attr, + aux_sym_attr_splat_repeat1, + ACTIONS(256), 15, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [15549] = 7, + ACTIONS(490), 1, + anon_sym_LBRACK, + ACTIONS(492), 1, + anon_sym_DOT, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(279), 2, + sym_new_index, + sym_legacy_index, + ACTIONS(266), 3, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + STATE(235), 3, + sym_index, + sym_get_attr, + aux_sym_attr_splat_repeat1, + ACTIONS(264), 15, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [15591] = 7, + ACTIONS(490), 1, + anon_sym_LBRACK, + ACTIONS(492), 1, + anon_sym_DOT, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(279), 2, + sym_new_index, + sym_legacy_index, + ACTIONS(262), 3, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + STATE(240), 3, + sym_index, + sym_get_attr, + aux_sym_attr_splat_repeat1, + ACTIONS(260), 15, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [15633] = 7, + ACTIONS(522), 1, + anon_sym_LBRACK, + ACTIONS(525), 1, + anon_sym_DOT, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(307), 2, + sym_new_index, + sym_legacy_index, + ACTIONS(248), 3, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + STATE(238), 3, + sym_index, + sym_get_attr, + aux_sym_attr_splat_repeat1, + ACTIONS(246), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [15675] = 7, + ACTIONS(504), 1, + anon_sym_LBRACK, + ACTIONS(506), 1, + anon_sym_DOT, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(307), 2, + sym_new_index, + sym_legacy_index, + ACTIONS(266), 3, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + STATE(242), 3, + sym_index, + sym_get_attr, + aux_sym_attr_splat_repeat1, + ACTIONS(264), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [15717] = 7, + ACTIONS(490), 1, + anon_sym_LBRACK, + ACTIONS(492), 1, + anon_sym_DOT, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(279), 2, + sym_new_index, + sym_legacy_index, + ACTIONS(270), 3, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + STATE(233), 3, + sym_index, + sym_get_attr, + aux_sym_attr_splat_repeat1, + ACTIONS(268), 15, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [15759] = 7, + ACTIONS(504), 1, + anon_sym_LBRACK, + ACTIONS(506), 1, + anon_sym_DOT, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(307), 2, + sym_new_index, + sym_legacy_index, + ACTIONS(270), 3, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + STATE(238), 3, + sym_index, + sym_get_attr, + aux_sym_attr_splat_repeat1, + ACTIONS(268), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [15801] = 7, + ACTIONS(504), 1, + anon_sym_LBRACK, + ACTIONS(506), 1, + anon_sym_DOT, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(307), 2, + sym_new_index, + sym_legacy_index, + ACTIONS(258), 3, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + STATE(238), 3, + sym_index, + sym_get_attr, + aux_sym_attr_splat_repeat1, + ACTIONS(256), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [15843] = 5, + ACTIONS(528), 1, anon_sym_LPAREN, - STATE(14), 1, + STATE(20), 1, sym__function_call_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(268), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(266), 17, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [13207] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(396), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(394), 17, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [13238] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(308), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(306), 17, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [13269] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(356), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(354), 17, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [13300] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(328), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(326), 17, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [13331] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(332), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(330), 17, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [13362] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(292), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(290), 17, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [13393] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(336), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(334), 17, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [13424] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(296), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(294), 17, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [13455] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(300), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(298), 17, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [13486] = 3, ACTIONS(3), 2, sym_comment, sym__whitespace, @@ -21729,17 +23722,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [13517] = 3, + [15880] = 3, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(288), 5, + ACTIONS(354), 5, anon_sym_LBRACK, anon_sym_DOT, anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - ACTIONS(286), 17, + ACTIONS(352), 17, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_DOT_STAR, @@ -21757,1327 +23750,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [13548] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(324), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(322), 17, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [13579] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(340), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(338), 17, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [13610] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(280), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(278), 17, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [13641] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(352), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(350), 17, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [13672] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(380), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(378), 17, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [13703] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(376), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(374), 17, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [13734] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(364), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(362), 17, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [13765] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(312), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(310), 17, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [13796] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(384), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(382), 17, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [13827] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(284), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(282), 17, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [13858] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(344), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(342), 17, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [13889] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(320), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(318), 17, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [13920] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(392), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(390), 17, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [13951] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(348), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(346), 17, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [13982] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(400), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(398), 17, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [14013] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(372), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(370), 17, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [14044] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(404), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(402), 17, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [14075] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(316), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(314), 17, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [14106] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(388), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(386), 17, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [14137] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(368), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(366), 17, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [14168] = 5, - ACTIONS(470), 1, + [15911] = 5, + ACTIONS(530), 1, anon_sym_LPAREN, STATE(17), 1, sym__function_call_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(268), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(266), 15, - sym_template_interpolation_end, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - sym_strip_marker, - [14203] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(360), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(358), 17, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [14234] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(384), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(382), 15, - sym_template_interpolation_end, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - sym_strip_marker, - [14263] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(376), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(374), 15, - sym_template_interpolation_end, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - sym_strip_marker, - [14292] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(404), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(402), 15, - sym_template_interpolation_end, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - sym_strip_marker, - [14321] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(372), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(370), 15, - sym_template_interpolation_end, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - sym_strip_marker, - [14350] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(356), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(354), 15, - sym_template_interpolation_end, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - sym_strip_marker, - [14379] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(388), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(386), 15, - sym_template_interpolation_end, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - sym_strip_marker, - [14408] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(348), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(346), 15, - sym_template_interpolation_end, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - sym_strip_marker, - [14437] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(320), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(318), 15, - sym_template_interpolation_end, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - sym_strip_marker, - [14466] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(344), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(342), 15, - sym_template_interpolation_end, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - sym_strip_marker, - [14495] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(368), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(366), 15, - sym_template_interpolation_end, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - sym_strip_marker, - [14524] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(284), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(282), 15, - sym_template_interpolation_end, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - sym_strip_marker, - [14553] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(352), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(350), 15, - sym_template_interpolation_end, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - sym_strip_marker, - [14582] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(380), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(378), 15, - sym_template_interpolation_end, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - sym_strip_marker, - [14611] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(324), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(322), 15, - sym_template_interpolation_end, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - sym_strip_marker, - [14640] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(396), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(394), 15, - sym_template_interpolation_end, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - sym_strip_marker, - [14669] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(340), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(338), 15, - sym_template_interpolation_end, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - sym_strip_marker, - [14698] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(336), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(334), 15, - sym_template_interpolation_end, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - sym_strip_marker, - [14727] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(360), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(358), 15, - sym_template_interpolation_end, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - sym_strip_marker, - [14756] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(400), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(398), 15, - sym_template_interpolation_end, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - sym_strip_marker, - [14785] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(392), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(390), 15, - sym_template_interpolation_end, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - sym_strip_marker, - [14814] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(332), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(330), 15, - sym_template_interpolation_end, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - sym_strip_marker, - [14843] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(312), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(310), 15, - sym_template_interpolation_end, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - sym_strip_marker, - [14872] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(328), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(326), 15, - sym_template_interpolation_end, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - sym_strip_marker, - [14901] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(280), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(278), 15, - sym_template_interpolation_end, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - sym_strip_marker, - [14930] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(308), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(306), 15, - sym_template_interpolation_end, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - sym_strip_marker, - [14959] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(288), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(286), 15, - sym_template_interpolation_end, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - sym_strip_marker, - [14988] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(316), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(314), 15, - sym_template_interpolation_end, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - sym_strip_marker, - [15017] = 3, ACTIONS(3), 2, sym_comment, sym__whitespace, @@ -23103,1848 +23780,5332 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, sym_strip_marker, - [15046] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(300), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(298), 15, - sym_template_interpolation_end, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - sym_strip_marker, - [15075] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(364), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(362), 15, - sym_template_interpolation_end, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - sym_strip_marker, - [15104] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(296), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(294), 15, - sym_template_interpolation_end, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - sym_strip_marker, - [15133] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(292), 5, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(290), 15, - sym_template_interpolation_end, - anon_sym_DOT_STAR, - anon_sym_LBRACK_STAR_RBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - sym_strip_marker, - [15162] = 4, - ACTIONS(476), 1, - anon_sym_QMARK, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(474), 6, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LT_LT, - ACTIONS(472), 10, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_DASH, - anon_sym_BANG, - anon_sym_LT_LT_DASH, - [15190] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(480), 6, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LT_LT, - ACTIONS(478), 11, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_BANG, - anon_sym_LT_LT_DASH, - [15216] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(146), 6, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LT_LT, - ACTIONS(144), 11, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_BANG, - anon_sym_LT_LT_DASH, - [15242] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(484), 7, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_for, - anon_sym_LT_LT, - ACTIONS(482), 9, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DASH, - anon_sym_BANG, - anon_sym_LT_LT_DASH, - [15267] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(486), 6, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LT_LT, - ACTIONS(64), 10, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_DASH, - anon_sym_BANG, - anon_sym_LT_LT_DASH, - [15292] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(490), 7, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_for, - anon_sym_LT_LT, - ACTIONS(488), 9, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_LBRACK, - anon_sym_DASH, - anon_sym_BANG, - anon_sym_LT_LT_DASH, - [15317] = 4, - ACTIONS(496), 1, - anon_sym_RPAREN, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(494), 6, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LT_LT, - ACTIONS(492), 8, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_LBRACK, - anon_sym_DASH, - anon_sym_BANG, - anon_sym_LT_LT_DASH, - [15343] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(490), 6, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LT_LT, - ACTIONS(488), 9, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_LBRACK, - anon_sym_DASH, - anon_sym_BANG, - anon_sym_LT_LT_DASH, - [15367] = 4, - ACTIONS(498), 1, - anon_sym_RPAREN, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(494), 6, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LT_LT, - ACTIONS(492), 8, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_LBRACK, - anon_sym_DASH, - anon_sym_BANG, - anon_sym_LT_LT_DASH, - [15393] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(502), 6, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LT_LT, - ACTIONS(500), 8, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_LBRACK, - anon_sym_DASH, - anon_sym_BANG, - anon_sym_LT_LT_DASH, - [15416] = 3, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(506), 6, - sym_identifier, - aux_sym_numeric_lit_token1, - anon_sym_true, - anon_sym_false, - sym_null_lit, - anon_sym_LT_LT, - ACTIONS(504), 8, - sym_quoted_template_start, - anon_sym_LBRACE, - anon_sym_LPAREN, - aux_sym_numeric_lit_token2, - anon_sym_LBRACK, - anon_sym_DASH, - anon_sym_BANG, - anon_sym_LT_LT_DASH, - [15439] = 3, - ACTIONS(146), 1, - anon_sym_EQ, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(144), 10, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_EQ_GT, - sym_ellipsis, - anon_sym_QMARK, - [15459] = 3, - ACTIONS(480), 1, - anon_sym_EQ, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(478), 10, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_EQ_GT, - sym_ellipsis, - anon_sym_QMARK, - [15479] = 7, - ACTIONS(508), 1, - sym_quoted_template_end, - ACTIONS(510), 1, - sym__template_literal_chunk, - ACTIONS(512), 1, - sym_template_interpolation_start, - STATE(327), 1, - aux_sym_template_literal_repeat1, - STATE(337), 1, - sym_template_literal, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - STATE(293), 2, - sym_template_interpolation, - aux_sym_quoted_template_repeat1, - [15503] = 6, - ACTIONS(9), 1, - sym_identifier, - ACTIONS(514), 1, - anon_sym_RBRACE, - STATE(353), 1, - sym_block_end, - STATE(389), 1, - sym_body, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - STATE(308), 3, - sym_attribute, - sym_block, - aux_sym_body_repeat1, - [15525] = 6, - ACTIONS(510), 1, - sym__template_literal_chunk, - ACTIONS(512), 1, - sym_template_interpolation_start, - ACTIONS(516), 1, - sym_quoted_template_end, - STATE(327), 1, - aux_sym_template_literal_repeat1, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - STATE(296), 3, - sym_template_literal, - sym_template_interpolation, - aux_sym_quoted_template_repeat1, - [15547] = 7, - ACTIONS(510), 1, - sym__template_literal_chunk, - ACTIONS(512), 1, - sym_template_interpolation_start, - ACTIONS(518), 1, - sym_quoted_template_end, - STATE(327), 1, - aux_sym_template_literal_repeat1, - STATE(363), 1, - sym_template_literal, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - STATE(288), 2, - sym_template_interpolation, - aux_sym_quoted_template_repeat1, - [15571] = 6, - ACTIONS(520), 1, - sym__template_literal_chunk, - ACTIONS(522), 1, - sym_template_interpolation_start, - ACTIONS(524), 1, - sym_heredoc_identifier, - STATE(328), 1, - aux_sym_template_literal_repeat1, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - STATE(303), 3, - sym_template_literal, - sym_template_interpolation, - aux_sym_quoted_template_repeat1, - [15593] = 6, - ACTIONS(520), 1, - sym__template_literal_chunk, - ACTIONS(522), 1, - sym_template_interpolation_start, - ACTIONS(526), 1, - sym_heredoc_identifier, - STATE(328), 1, - aux_sym_template_literal_repeat1, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - STATE(303), 3, - sym_template_literal, - sym_template_interpolation, - aux_sym_quoted_template_repeat1, - [15615] = 6, - ACTIONS(520), 1, - sym__template_literal_chunk, - ACTIONS(522), 1, - sym_template_interpolation_start, - ACTIONS(528), 1, - sym_heredoc_identifier, - STATE(328), 1, - aux_sym_template_literal_repeat1, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - STATE(291), 3, - sym_template_literal, - sym_template_interpolation, - aux_sym_quoted_template_repeat1, - [15637] = 6, - ACTIONS(510), 1, - sym__template_literal_chunk, - ACTIONS(512), 1, - sym_template_interpolation_start, - ACTIONS(530), 1, - sym_quoted_template_end, - STATE(327), 1, - aux_sym_template_literal_repeat1, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - STATE(296), 3, - sym_template_literal, - sym_template_interpolation, - aux_sym_quoted_template_repeat1, - [15659] = 6, - ACTIONS(510), 1, - sym__template_literal_chunk, - ACTIONS(512), 1, - sym_template_interpolation_start, + [15946] = 5, ACTIONS(532), 1, - sym_quoted_template_end, - STATE(327), 1, - aux_sym_template_literal_repeat1, + anon_sym_LPAREN, + STATE(18), 1, + sym__function_call_start, ACTIONS(3), 2, sym_comment, sym__whitespace, - STATE(296), 3, - sym_template_literal, - sym_template_interpolation, - aux_sym_quoted_template_repeat1, - [15681] = 6, - ACTIONS(520), 1, + ACTIONS(304), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(302), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [15981] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(418), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(416), 17, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [16012] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(314), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(312), 17, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [16043] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(402), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(400), 17, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [16074] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(374), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(372), 17, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [16105] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(370), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(368), 17, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [16136] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(410), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(408), 17, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [16167] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(318), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(316), 17, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [16198] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(322), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(320), 17, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [16229] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(330), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(328), 17, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [16260] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(338), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(336), 17, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [16291] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(346), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(344), 17, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [16322] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(350), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(348), 17, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [16353] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(366), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(364), 17, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [16384] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(362), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(360), 17, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [16415] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(358), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 17, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [16446] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(342), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(340), 17, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [16477] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(386), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(384), 17, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [16508] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(390), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(388), 17, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [16539] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(398), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(396), 17, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [16570] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(406), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(404), 17, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [16601] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(414), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(412), 17, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [16632] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(334), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(332), 17, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [16663] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(430), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(428), 17, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [16694] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(426), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(424), 17, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [16725] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(434), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(432), 17, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [16756] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(326), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(324), 17, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [16787] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(378), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(376), 17, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [16818] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(422), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(420), 17, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [16849] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(310), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(308), 17, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [16880] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(394), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(392), 17, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [16911] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(382), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(380), 17, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [16942] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(422), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(420), 15, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [16971] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(378), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(376), 15, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [17000] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(322), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(320), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [17029] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(330), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(328), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [17058] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(318), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(316), 15, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [17087] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(338), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(336), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [17116] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(326), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(324), 15, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [17145] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(410), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(408), 15, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [17174] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(346), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(344), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [17203] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(402), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(400), 15, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [17232] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(430), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(428), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [17261] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(426), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(424), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [17290] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(310), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(308), 15, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [17319] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(382), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(380), 15, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [17348] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(314), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(312), 15, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [17377] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(374), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(372), 15, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [17406] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(370), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(368), 15, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [17435] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(350), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(348), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [17464] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(366), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(364), 15, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [17493] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(374), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(372), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [17522] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(358), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 15, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [17551] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(342), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(340), 15, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [17580] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(354), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(352), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [17609] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(362), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(360), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [17638] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(434), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(432), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [17667] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(334), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(332), 15, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [17696] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(370), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(368), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [17725] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(326), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(324), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [17754] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(434), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(432), 15, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [17783] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(378), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(376), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [17812] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(322), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(320), 15, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [17841] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(318), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(316), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [17870] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(410), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(408), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [17899] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(402), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(400), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [17928] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(418), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(416), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [17957] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(330), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(328), 15, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [17986] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(338), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(336), 15, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [18015] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(314), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(312), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [18044] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(346), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(344), 15, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [18073] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(394), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(392), 15, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [18102] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(422), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(420), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [18131] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(418), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(416), 15, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [18160] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(366), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(364), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [18189] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(350), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(348), 15, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [18218] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(414), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(412), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [18247] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(354), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(352), 15, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [18276] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(358), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(356), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [18305] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(342), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(340), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [18334] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(426), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(424), 15, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [18363] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(334), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(332), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [18392] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(362), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(360), 15, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [18421] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(386), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(384), 15, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [18450] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(390), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(388), 15, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [18479] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(398), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(396), 15, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [18508] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(394), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(392), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [18537] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(406), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(404), 15, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [18566] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(310), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(308), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [18595] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(382), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(380), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [18624] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(414), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(412), 15, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [18653] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(430), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(428), 15, + sym_template_interpolation_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [18682] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(386), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(384), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [18711] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(390), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(388), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [18740] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(398), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(396), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [18769] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(406), 5, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(404), 15, + sym_template_directive_end, + anon_sym_DOT_STAR, + anon_sym_LBRACK_STAR_RBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + sym_strip_marker, + [18798] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(536), 6, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_LT_LT, + ACTIONS(534), 11, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_LT_LT_DASH, + [18824] = 4, + ACTIONS(542), 1, + anon_sym_QMARK, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(540), 6, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_LT_LT, + ACTIONS(538), 10, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_LT_LT_DASH, + [18852] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(184), 6, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_LT_LT, + ACTIONS(182), 11, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_LT_LT_DASH, + [18878] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(544), 6, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_LT_LT, + ACTIONS(58), 10, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_LT_LT_DASH, + [18903] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(548), 7, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_for, + anon_sym_LT_LT, + ACTIONS(546), 9, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_LT_LT_DASH, + [18928] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(552), 7, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_for, + anon_sym_LT_LT, + ACTIONS(550), 9, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_LT_LT_DASH, + [18953] = 4, + ACTIONS(558), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(556), 6, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_LT_LT, + ACTIONS(554), 8, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_LT_LT_DASH, + [18979] = 4, + ACTIONS(560), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(556), 6, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_LT_LT, + ACTIONS(554), 8, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_LT_LT_DASH, + [19005] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(552), 6, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_LT_LT, + ACTIONS(550), 9, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_LT_LT_DASH, + [19029] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(564), 6, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_LT_LT, + ACTIONS(562), 8, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_LT_LT_DASH, + [19052] = 3, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(568), 6, + sym_identifier, + aux_sym_numeric_lit_token1, + anon_sym_true, + anon_sym_false, + sym_null_lit, + anon_sym_LT_LT, + ACTIONS(566), 8, + sym_quoted_template_start, + anon_sym_LBRACE, + anon_sym_LPAREN, + aux_sym_numeric_lit_token2, + anon_sym_LBRACK, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_LT_LT_DASH, + [19075] = 11, + ACTIONS(570), 1, + sym_quoted_template_end, + ACTIONS(572), 1, sym__template_literal_chunk, - ACTIONS(522), 1, + ACTIONS(574), 1, sym_template_interpolation_start, - ACTIONS(534), 1, + ACTIONS(576), 1, + sym_template_directive_start, + STATE(359), 1, + sym_template_for_start, + STATE(387), 1, + aux_sym_template_literal_repeat1, + STATE(421), 1, + sym_template_literal, + STATE(434), 1, + sym_template_for, + STATE(591), 1, + sym__template, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(370), 3, + sym_template_interpolation, + sym_template_directive, + aux_sym__template_repeat1, + [19112] = 10, + ACTIONS(576), 1, + sym_template_directive_start, + ACTIONS(578), 1, + sym__template_literal_chunk, + ACTIONS(580), 1, + sym_template_interpolation_start, + ACTIONS(582), 1, sym_heredoc_identifier, - STATE(328), 1, + STATE(364), 1, + sym_template_for_start, + STATE(389), 1, aux_sym_template_literal_repeat1, + STATE(415), 1, + sym_template_for, + STATE(565), 1, + sym__template, ACTIONS(3), 2, sym_comment, sym__whitespace, - STATE(303), 3, + STATE(371), 4, sym_template_literal, sym_template_interpolation, - aux_sym_quoted_template_repeat1, - [15703] = 6, + sym_template_directive, + aux_sym__template_repeat1, + [19147] = 10, + ACTIONS(584), 1, + sym__template_literal_chunk, + ACTIONS(586), 1, + sym_template_interpolation_start, + ACTIONS(588), 1, + sym_template_directive_start, + STATE(355), 1, + sym_template_for_start, + STATE(416), 1, + aux_sym_template_literal_repeat1, + STATE(439), 1, + sym_template_for_end, + STATE(472), 1, + sym_template_for, + STATE(512), 1, + sym__template, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(372), 4, + sym_template_literal, + sym_template_interpolation, + sym_template_directive, + aux_sym__template_repeat1, + [19182] = 11, + ACTIONS(572), 1, + sym__template_literal_chunk, + ACTIONS(574), 1, + sym_template_interpolation_start, + ACTIONS(576), 1, + sym_template_directive_start, + ACTIONS(590), 1, + sym_quoted_template_end, + STATE(359), 1, + sym_template_for_start, + STATE(387), 1, + aux_sym_template_literal_repeat1, + STATE(422), 1, + sym_template_literal, + STATE(434), 1, + sym_template_for, + STATE(563), 1, + sym__template, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(370), 3, + sym_template_interpolation, + sym_template_directive, + aux_sym__template_repeat1, + [19219] = 11, + ACTIONS(572), 1, + sym__template_literal_chunk, + ACTIONS(574), 1, + sym_template_interpolation_start, + ACTIONS(576), 1, + sym_template_directive_start, + ACTIONS(592), 1, + sym_quoted_template_end, + STATE(359), 1, + sym_template_for_start, + STATE(387), 1, + aux_sym_template_literal_repeat1, + STATE(417), 1, + sym_template_literal, + STATE(434), 1, + sym_template_for, + STATE(571), 1, + sym__template, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(370), 3, + sym_template_interpolation, + sym_template_directive, + aux_sym__template_repeat1, + [19256] = 10, + ACTIONS(576), 1, + sym_template_directive_start, + ACTIONS(578), 1, + sym__template_literal_chunk, + ACTIONS(580), 1, + sym_template_interpolation_start, + ACTIONS(594), 1, + sym_heredoc_identifier, + STATE(364), 1, + sym_template_for_start, + STATE(389), 1, + aux_sym_template_literal_repeat1, + STATE(415), 1, + sym_template_for, + STATE(586), 1, + sym__template, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(371), 4, + sym_template_literal, + sym_template_interpolation, + sym_template_directive, + aux_sym__template_repeat1, + [19291] = 10, + ACTIONS(584), 1, + sym__template_literal_chunk, + ACTIONS(586), 1, + sym_template_interpolation_start, + ACTIONS(596), 1, + sym_template_directive_start, + STATE(355), 1, + sym_template_for_start, + STATE(414), 1, + sym_template_for_end, + STATE(416), 1, + aux_sym_template_literal_repeat1, + STATE(472), 1, + sym_template_for, + STATE(487), 1, + sym__template, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(372), 4, + sym_template_literal, + sym_template_interpolation, + sym_template_directive, + aux_sym__template_repeat1, + [19326] = 11, + ACTIONS(572), 1, + sym__template_literal_chunk, + ACTIONS(574), 1, + sym_template_interpolation_start, + ACTIONS(576), 1, + sym_template_directive_start, + ACTIONS(598), 1, + sym_quoted_template_end, + STATE(359), 1, + sym_template_for_start, + STATE(387), 1, + aux_sym_template_literal_repeat1, + STATE(431), 1, + sym_template_literal, + STATE(434), 1, + sym_template_for, + STATE(574), 1, + sym__template, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(370), 3, + sym_template_interpolation, + sym_template_directive, + aux_sym__template_repeat1, + [19363] = 10, + ACTIONS(576), 1, + sym_template_directive_start, + ACTIONS(578), 1, + sym__template_literal_chunk, + ACTIONS(580), 1, + sym_template_interpolation_start, + ACTIONS(600), 1, + sym_heredoc_identifier, + STATE(364), 1, + sym_template_for_start, + STATE(389), 1, + aux_sym_template_literal_repeat1, + STATE(415), 1, + sym_template_for, + STATE(577), 1, + sym__template, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(371), 4, + sym_template_literal, + sym_template_interpolation, + sym_template_directive, + aux_sym__template_repeat1, + [19398] = 10, + ACTIONS(576), 1, + sym_template_directive_start, + ACTIONS(578), 1, + sym__template_literal_chunk, + ACTIONS(580), 1, + sym_template_interpolation_start, + ACTIONS(602), 1, + sym_heredoc_identifier, + STATE(364), 1, + sym_template_for_start, + STATE(389), 1, + aux_sym_template_literal_repeat1, + STATE(415), 1, + sym_template_for, + STATE(579), 1, + sym__template, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(371), 4, + sym_template_literal, + sym_template_interpolation, + sym_template_directive, + aux_sym__template_repeat1, + [19433] = 10, + ACTIONS(576), 1, + sym_template_directive_start, + ACTIONS(578), 1, + sym__template_literal_chunk, + ACTIONS(580), 1, + sym_template_interpolation_start, + ACTIONS(604), 1, + sym_heredoc_identifier, + STATE(364), 1, + sym_template_for_start, + STATE(389), 1, + aux_sym_template_literal_repeat1, + STATE(415), 1, + sym_template_for, + STATE(564), 1, + sym__template, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(371), 4, + sym_template_literal, + sym_template_interpolation, + sym_template_directive, + aux_sym__template_repeat1, + [19468] = 10, + ACTIONS(584), 1, + sym__template_literal_chunk, + ACTIONS(586), 1, + sym_template_interpolation_start, + ACTIONS(606), 1, + sym_template_directive_start, + STATE(355), 1, + sym_template_for_start, + STATE(411), 1, + sym_template_for_end, + STATE(416), 1, + aux_sym_template_literal_repeat1, + STATE(472), 1, + sym_template_for, + STATE(539), 1, + sym__template, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(372), 4, + sym_template_literal, + sym_template_interpolation, + sym_template_directive, + aux_sym__template_repeat1, + [19503] = 11, + ACTIONS(572), 1, + sym__template_literal_chunk, + ACTIONS(574), 1, + sym_template_interpolation_start, + ACTIONS(576), 1, + sym_template_directive_start, + ACTIONS(608), 1, + sym_quoted_template_end, + STATE(359), 1, + sym_template_for_start, + STATE(387), 1, + aux_sym_template_literal_repeat1, + STATE(403), 1, + sym_template_literal, + STATE(434), 1, + sym_template_for, + STATE(568), 1, + sym__template, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(370), 3, + sym_template_interpolation, + sym_template_directive, + aux_sym__template_repeat1, + [19540] = 9, + ACTIONS(610), 1, + sym_quoted_template_end, + ACTIONS(612), 1, + sym__template_literal_chunk, + ACTIONS(615), 1, + sym_template_interpolation_start, + ACTIONS(618), 1, + sym_template_directive_start, + STATE(359), 1, + sym_template_for_start, + STATE(387), 1, + aux_sym_template_literal_repeat1, + STATE(434), 1, + sym_template_for, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(366), 4, + sym_template_literal, + sym_template_interpolation, + sym_template_directive, + aux_sym__template_repeat1, + [19572] = 3, + ACTIONS(184), 1, + anon_sym_EQ, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(182), 10, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + [19592] = 3, ACTIONS(536), 1, - sym_quoted_template_end, - ACTIONS(538), 1, - sym__template_literal_chunk, - ACTIONS(541), 1, - sym_template_interpolation_start, - STATE(327), 1, - aux_sym_template_literal_repeat1, + anon_sym_EQ, ACTIONS(3), 2, sym_comment, sym__whitespace, - STATE(296), 3, - sym_template_literal, - sym_template_interpolation, - aux_sym_quoted_template_repeat1, - [15725] = 6, - ACTIONS(510), 1, + ACTIONS(534), 10, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + [19612] = 9, + ACTIONS(610), 1, + sym_heredoc_identifier, + ACTIONS(618), 1, + sym_template_directive_start, + ACTIONS(621), 1, sym__template_literal_chunk, - ACTIONS(512), 1, + ACTIONS(624), 1, sym_template_interpolation_start, - ACTIONS(544), 1, - sym_quoted_template_end, - STATE(327), 1, + STATE(364), 1, + sym_template_for_start, + STATE(389), 1, aux_sym_template_literal_repeat1, + STATE(415), 1, + sym_template_for, ACTIONS(3), 2, sym_comment, sym__whitespace, - STATE(296), 3, + STATE(369), 4, sym_template_literal, sym_template_interpolation, - aux_sym_quoted_template_repeat1, - [15747] = 7, - ACTIONS(510), 1, + sym_template_directive, + aux_sym__template_repeat1, + [19644] = 9, + ACTIONS(572), 1, sym__template_literal_chunk, - ACTIONS(512), 1, + ACTIONS(574), 1, sym_template_interpolation_start, - ACTIONS(546), 1, + ACTIONS(576), 1, + sym_template_directive_start, + ACTIONS(627), 1, sym_quoted_template_end, - STATE(327), 1, + STATE(359), 1, + sym_template_for_start, + STATE(387), 1, aux_sym_template_literal_repeat1, - STATE(345), 1, - sym_template_literal, + STATE(434), 1, + sym_template_for, ACTIONS(3), 2, sym_comment, sym__whitespace, - STATE(294), 2, - sym_template_interpolation, - aux_sym_quoted_template_repeat1, - [15771] = 7, - ACTIONS(510), 1, - sym__template_literal_chunk, - ACTIONS(512), 1, - sym_template_interpolation_start, - ACTIONS(548), 1, - sym_quoted_template_end, - STATE(327), 1, - aux_sym_template_literal_repeat1, - STATE(349), 1, + STATE(366), 4, sym_template_literal, + sym_template_interpolation, + sym_template_directive, + aux_sym__template_repeat1, + [19676] = 9, + ACTIONS(576), 1, + sym_template_directive_start, + ACTIONS(578), 1, + sym__template_literal_chunk, + ACTIONS(580), 1, + sym_template_interpolation_start, + ACTIONS(627), 1, + sym_heredoc_identifier, + STATE(364), 1, + sym_template_for_start, + STATE(389), 1, + aux_sym_template_literal_repeat1, + STATE(415), 1, + sym_template_for, ACTIONS(3), 2, sym_comment, sym__whitespace, - STATE(297), 2, + STATE(369), 4, + sym_template_literal, sym_template_interpolation, - aux_sym_quoted_template_repeat1, - [15795] = 6, + sym_template_directive, + aux_sym__template_repeat1, + [19708] = 8, + ACTIONS(584), 1, + sym__template_literal_chunk, + ACTIONS(586), 1, + sym_template_interpolation_start, + ACTIONS(627), 1, + sym_template_directive_start, + STATE(355), 1, + sym_template_for_start, + STATE(416), 1, + aux_sym_template_literal_repeat1, + STATE(472), 1, + sym_template_for, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(373), 4, + sym_template_literal, + sym_template_interpolation, + sym_template_directive, + aux_sym__template_repeat1, + [19737] = 8, + ACTIONS(618), 1, + sym_template_directive_start, + ACTIONS(629), 1, + sym__template_literal_chunk, + ACTIONS(632), 1, + sym_template_interpolation_start, + STATE(355), 1, + sym_template_for_start, + STATE(416), 1, + aux_sym_template_literal_repeat1, + STATE(472), 1, + sym_template_for, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(373), 4, + sym_template_literal, + sym_template_interpolation, + sym_template_directive, + aux_sym__template_repeat1, + [19766] = 6, ACTIONS(9), 1, sym_identifier, - ACTIONS(514), 1, + ACTIONS(635), 1, anon_sym_RBRACE, - STATE(361), 1, + STATE(461), 1, sym_block_end, - STATE(385), 1, + STATE(526), 1, sym_body, ACTIONS(3), 2, sym_comment, sym__whitespace, - STATE(308), 3, + STATE(386), 3, sym_attribute, sym_block, aux_sym_body_repeat1, - [15817] = 6, - ACTIONS(520), 1, - sym__template_literal_chunk, - ACTIONS(522), 1, - sym_template_interpolation_start, - ACTIONS(550), 1, - sym_heredoc_identifier, - STATE(328), 1, - aux_sym_template_literal_repeat1, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - STATE(295), 3, - sym_template_literal, - sym_template_interpolation, - aux_sym_quoted_template_repeat1, - [15839] = 7, - ACTIONS(552), 1, - anon_sym_EQ, - ACTIONS(554), 1, - anon_sym_LBRACE, - ACTIONS(556), 1, - sym_identifier, - ACTIONS(558), 1, - sym_quoted_template_start, - STATE(300), 1, - sym_block_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - STATE(315), 2, - sym_string_lit, - aux_sym_block_repeat1, - [15863] = 6, - ACTIONS(536), 1, - sym_heredoc_identifier, - ACTIONS(560), 1, - sym__template_literal_chunk, - ACTIONS(563), 1, - sym_template_interpolation_start, - STATE(328), 1, - aux_sym_template_literal_repeat1, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - STATE(303), 3, - sym_template_literal, - sym_template_interpolation, - aux_sym_quoted_template_repeat1, - [15885] = 6, - ACTIONS(520), 1, - sym__template_literal_chunk, - ACTIONS(522), 1, - sym_template_interpolation_start, - ACTIONS(566), 1, - sym_heredoc_identifier, - STATE(328), 1, - aux_sym_template_literal_repeat1, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - STATE(290), 3, - sym_template_literal, - sym_template_interpolation, - aux_sym_quoted_template_repeat1, - [15907] = 6, - ACTIONS(520), 1, - sym__template_literal_chunk, - ACTIONS(522), 1, - sym_template_interpolation_start, - ACTIONS(568), 1, - sym_heredoc_identifier, - STATE(328), 1, - aux_sym_template_literal_repeat1, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - STATE(303), 3, - sym_template_literal, - sym_template_interpolation, - aux_sym_quoted_template_repeat1, - [15929] = 6, - ACTIONS(520), 1, - sym__template_literal_chunk, - ACTIONS(522), 1, - sym_template_interpolation_start, - ACTIONS(570), 1, - sym_heredoc_identifier, - STATE(328), 1, - aux_sym_template_literal_repeat1, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - STATE(305), 3, - sym_template_literal, - sym_template_interpolation, - aux_sym_quoted_template_repeat1, - [15951] = 7, - ACTIONS(13), 1, - anon_sym_RBRACE, - ACTIONS(572), 1, - anon_sym_if, - ACTIONS(574), 1, - sym_ellipsis, - ACTIONS(576), 1, - anon_sym_QMARK, - STATE(138), 1, - sym_object_end, - STATE(391), 1, - sym_for_cond, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [15974] = 4, + [19788] = 6, ACTIONS(9), 1, sym_identifier, + ACTIONS(635), 1, + anon_sym_RBRACE, + STATE(458), 1, + sym_block_end, + STATE(508), 1, + sym_body, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(578), 2, - ts_builtin_sym_end, - anon_sym_RBRACE, - STATE(311), 3, + STATE(386), 3, sym_attribute, sym_block, aux_sym_body_repeat1, - [15991] = 5, - ACTIONS(582), 1, - anon_sym_COMMA, - STATE(66), 1, - sym__comma, - STATE(309), 1, - aux_sym__tuple_elems_repeat1, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(580), 3, - anon_sym_RPAREN, - anon_sym_RBRACK, - sym_ellipsis, - [16010] = 7, - ACTIONS(41), 1, - anon_sym_RBRACE, - ACTIONS(572), 1, - anon_sym_if, - ACTIONS(576), 1, - anon_sym_QMARK, - ACTIONS(585), 1, - sym_ellipsis, - STATE(238), 1, - sym_object_end, - STATE(370), 1, - sym_for_cond, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [16033] = 4, - ACTIONS(589), 1, - sym_identifier, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(587), 2, - ts_builtin_sym_end, - anon_sym_RBRACE, - STATE(311), 3, - sym_attribute, - sym_block, - aux_sym_body_repeat1, - [16050] = 7, - ACTIONS(43), 1, - anon_sym_RBRACE, - ACTIONS(572), 1, - anon_sym_if, - ACTIONS(576), 1, - anon_sym_QMARK, - ACTIONS(592), 1, - sym_ellipsis, - STATE(250), 1, - sym_object_end, - STATE(394), 1, - sym_for_cond, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [16073] = 7, - ACTIONS(594), 1, - anon_sym_RPAREN, - ACTIONS(596), 1, - anon_sym_COMMA, - ACTIONS(598), 1, - sym_ellipsis, - ACTIONS(600), 1, - anon_sym_QMARK, - STATE(66), 1, - sym__comma, - STATE(324), 1, - aux_sym__tuple_elems_repeat1, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [16096] = 7, - ACTIONS(39), 1, - anon_sym_RBRACE, - ACTIONS(572), 1, - anon_sym_if, - ACTIONS(576), 1, - anon_sym_QMARK, - ACTIONS(602), 1, - sym_ellipsis, - STATE(169), 1, - sym_object_end, - STATE(380), 1, - sym_for_cond, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [16119] = 6, - ACTIONS(554), 1, + [19810] = 7, + ACTIONS(637), 1, + anon_sym_EQ, + ACTIONS(639), 1, anon_sym_LBRACE, - ACTIONS(558), 1, - sym_quoted_template_start, - ACTIONS(604), 1, + ACTIONS(641), 1, sym_identifier, - STATE(287), 1, + ACTIONS(643), 1, + sym_quoted_template_start, + STATE(375), 1, sym_block_start, ACTIONS(3), 2, sym_comment, sym__whitespace, - STATE(316), 2, + STATE(382), 2, sym_string_lit, aux_sym_block_repeat1, - [16140] = 5, - ACTIONS(606), 1, - anon_sym_LBRACE, - ACTIONS(608), 1, - sym_identifier, - ACTIONS(611), 1, - sym_quoted_template_start, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - STATE(316), 2, - sym_string_lit, - aux_sym_block_repeat1, - [16158] = 2, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(144), 5, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - [16170] = 6, - ACTIONS(600), 1, - anon_sym_QMARK, - ACTIONS(614), 1, + [19834] = 5, + ACTIONS(647), 1, anon_sym_COMMA, - ACTIONS(616), 1, - anon_sym_RBRACK, - STATE(30), 1, + STATE(65), 1, sym__comma, - STATE(334), 1, + STATE(377), 1, aux_sym__tuple_elems_repeat1, ACTIONS(3), 2, sym_comment, sym__whitespace, - [16190] = 6, - ACTIONS(57), 1, - anon_sym_RBRACK, - ACTIONS(572), 1, - anon_sym_if, - ACTIONS(576), 1, - anon_sym_QMARK, - STATE(259), 1, - sym_tuple_end, - STATE(371), 1, - sym_for_cond, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [16210] = 2, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(478), 5, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - [16222] = 6, - ACTIONS(45), 1, - anon_sym_RBRACK, - ACTIONS(572), 1, - anon_sym_if, - ACTIONS(576), 1, - anon_sym_QMARK, - STATE(146), 1, - sym_tuple_end, - STATE(400), 1, - sym_for_cond, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [16242] = 3, - ACTIONS(600), 1, - anon_sym_QMARK, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(580), 4, + ACTIONS(645), 3, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_RBRACK, sym_ellipsis, - [16256] = 6, - ACTIONS(47), 1, - anon_sym_RBRACK, - ACTIONS(572), 1, - anon_sym_if, - ACTIONS(576), 1, - anon_sym_QMARK, - STATE(233), 1, - sym_tuple_end, - STATE(388), 1, - sym_for_cond, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [16276] = 6, - ACTIONS(496), 1, - anon_sym_RPAREN, - ACTIONS(618), 1, - anon_sym_COMMA, - ACTIONS(620), 1, - sym_ellipsis, - STATE(66), 1, - sym__comma, - STATE(309), 1, - aux_sym__tuple_elems_repeat1, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [16296] = 6, - ACTIONS(59), 1, - anon_sym_RBRACK, - ACTIONS(572), 1, - anon_sym_if, - ACTIONS(576), 1, - anon_sym_QMARK, - STATE(183), 1, - sym_tuple_end, - STATE(366), 1, - sym_for_cond, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [16316] = 5, - ACTIONS(41), 1, - anon_sym_RBRACE, - ACTIONS(572), 1, - anon_sym_if, - STATE(222), 1, - sym_object_end, - STATE(372), 1, - sym_for_cond, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [16333] = 4, - ACTIONS(624), 1, - sym__template_literal_chunk, - STATE(333), 1, - aux_sym_template_literal_repeat1, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(622), 2, - sym_quoted_template_end, - sym_template_interpolation_start, - [16348] = 4, - ACTIONS(626), 1, - sym__template_literal_chunk, - STATE(331), 1, - aux_sym_template_literal_repeat1, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(622), 2, - sym_template_interpolation_start, - sym_heredoc_identifier, - [16363] = 5, - ACTIONS(39), 1, - anon_sym_RBRACE, - ACTIONS(572), 1, - anon_sym_if, - STATE(167), 1, - sym_object_end, - STATE(387), 1, - sym_for_cond, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [16380] = 5, + [19853] = 7, ACTIONS(43), 1, anon_sym_RBRACE, - ACTIONS(572), 1, + ACTIONS(650), 1, anon_sym_if, - STATE(252), 1, + ACTIONS(652), 1, + sym_ellipsis, + ACTIONS(654), 1, + anon_sym_QMARK, + STATE(141), 1, sym_object_end, - STATE(397), 1, + STATE(498), 1, sym_for_cond, ACTIONS(3), 2, sym_comment, sym__whitespace, - [16397] = 4, - ACTIONS(628), 1, - sym__template_literal_chunk, - STATE(331), 1, - aux_sym_template_literal_repeat1, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(631), 2, - sym_template_interpolation_start, - sym_heredoc_identifier, - [16412] = 3, - ACTIONS(600), 1, - anon_sym_QMARK, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(633), 3, - ts_builtin_sym_end, + [19876] = 7, + ACTIONS(45), 1, anon_sym_RBRACE, - sym_identifier, - [16425] = 4, - ACTIONS(635), 1, - sym__template_literal_chunk, - STATE(333), 1, - aux_sym_template_literal_repeat1, + ACTIONS(650), 1, + anon_sym_if, + ACTIONS(654), 1, + anon_sym_QMARK, + ACTIONS(656), 1, + sym_ellipsis, + STATE(309), 1, + sym_object_end, + STATE(495), 1, + sym_for_cond, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(631), 2, - sym_quoted_template_end, - sym_template_interpolation_start, - [16440] = 5, - ACTIONS(182), 1, - anon_sym_RBRACK, - ACTIONS(638), 1, + [19899] = 7, + ACTIONS(658), 1, + anon_sym_RPAREN, + ACTIONS(660), 1, anon_sym_COMMA, - STATE(25), 1, + ACTIONS(662), 1, + sym_ellipsis, + ACTIONS(664), 1, + anon_sym_QMARK, + STATE(65), 1, sym__comma, - STATE(309), 1, + STATE(399), 1, aux_sym__tuple_elems_repeat1, ACTIONS(3), 2, sym_comment, sym__whitespace, - [16457] = 5, - ACTIONS(13), 1, + [19922] = 4, + ACTIONS(668), 1, + sym_identifier, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(666), 2, + ts_builtin_sym_end, anon_sym_RBRACE, - ACTIONS(572), 1, + STATE(381), 3, + sym_attribute, + sym_block, + aux_sym_body_repeat1, + [19939] = 6, + ACTIONS(639), 1, + anon_sym_LBRACE, + ACTIONS(643), 1, + sym_quoted_template_start, + ACTIONS(671), 1, + sym_identifier, + STATE(374), 1, + sym_block_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(395), 2, + sym_string_lit, + aux_sym_block_repeat1, + [19960] = 7, + ACTIONS(39), 1, + anon_sym_RBRACE, + ACTIONS(650), 1, anon_sym_if, - STATE(134), 1, + ACTIONS(654), 1, + anon_sym_QMARK, + ACTIONS(673), 1, + sym_ellipsis, + STATE(181), 1, sym_object_end, - STATE(390), 1, + STATE(480), 1, sym_for_cond, ACTIONS(3), 2, sym_comment, sym__whitespace, - [16474] = 2, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(640), 3, - ts_builtin_sym_end, + [19983] = 7, + ACTIONS(41), 1, anon_sym_RBRACE, - sym_identifier, - [16484] = 3, - ACTIONS(642), 1, - sym_quoted_template_end, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(644), 2, - sym__template_literal_chunk, - sym_template_interpolation_start, - [16496] = 2, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(478), 3, - sym_template_interpolation_end, - anon_sym_QMARK, - sym_strip_marker, - [16506] = 2, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(646), 3, - sym__template_literal_chunk, - sym_template_interpolation_start, - sym_heredoc_identifier, - [16516] = 4, - ACTIONS(648), 1, - sym__template_literal_chunk, - STATE(348), 1, - aux_sym_template_literal_repeat1, - STATE(418), 1, - sym_template_literal, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [16530] = 2, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(650), 3, - sym_quoted_template_end, - sym__template_literal_chunk, - sym_template_interpolation_start, - [16540] = 2, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(650), 3, - sym__template_literal_chunk, - sym_template_interpolation_start, - sym_heredoc_identifier, - [16550] = 3, - ACTIONS(600), 1, - anon_sym_QMARK, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(652), 2, - anon_sym_EQ, - anon_sym_COLON, - [16562] = 2, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(654), 3, - sym__template_literal_chunk, - sym_template_interpolation_start, - sym_heredoc_identifier, - [16572] = 3, - ACTIONS(656), 1, - sym_quoted_template_end, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(644), 2, - sym__template_literal_chunk, - sym_template_interpolation_start, - [16584] = 2, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(144), 3, - sym_template_interpolation_end, - anon_sym_QMARK, - sym_strip_marker, - [16594] = 4, - ACTIONS(658), 1, - anon_sym_QMARK, - ACTIONS(660), 1, - sym_strip_marker, - ACTIONS(662), 1, - sym_template_interpolation_end, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [16608] = 4, - ACTIONS(622), 1, - sym_quoted_template_end, - ACTIONS(664), 1, - sym__template_literal_chunk, - STATE(354), 1, - aux_sym_template_literal_repeat1, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [16622] = 3, - ACTIONS(666), 1, - sym_quoted_template_end, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(644), 2, - sym__template_literal_chunk, - sym_template_interpolation_start, - [16634] = 4, - ACTIONS(124), 1, - sym_strip_marker, - ACTIONS(128), 1, - sym_template_interpolation_end, - ACTIONS(658), 1, - anon_sym_QMARK, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [16648] = 2, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(654), 3, - sym_quoted_template_end, - sym__template_literal_chunk, - sym_template_interpolation_start, - [16658] = 2, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(668), 3, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - [16668] = 2, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(670), 3, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - [16678] = 4, - ACTIONS(631), 1, - sym_quoted_template_end, - ACTIONS(672), 1, - sym__template_literal_chunk, - STATE(354), 1, - aux_sym_template_literal_repeat1, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [16692] = 2, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(286), 3, - sym_quoted_template_start, - anon_sym_LBRACE, - sym_identifier, - [16702] = 4, - ACTIONS(658), 1, + ACTIONS(650), 1, + anon_sym_if, + ACTIONS(654), 1, anon_sym_QMARK, ACTIONS(675), 1, - sym_strip_marker, - ACTIONS(677), 1, - sym_template_interpolation_end, + sym_ellipsis, + STATE(282), 1, + sym_object_end, + STATE(517), 1, + sym_for_cond, ACTIONS(3), 2, sym_comment, sym__whitespace, - [16716] = 3, - ACTIONS(600), 1, + [20006] = 7, + ACTIONS(13), 1, + anon_sym_RBRACE, + ACTIONS(650), 1, + anon_sym_if, + ACTIONS(654), 1, anon_sym_QMARK, + ACTIONS(677), 1, + sym_ellipsis, + STATE(253), 1, + sym_object_end, + STATE(549), 1, + sym_for_cond, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [20029] = 4, + ACTIONS(9), 1, + sym_identifier, ACTIONS(3), 2, sym_comment, sym__whitespace, ACTIONS(679), 2, + ts_builtin_sym_end, + anon_sym_RBRACE, + STATE(381), 3, + sym_attribute, + sym_block, + aux_sym_body_repeat1, + [20046] = 4, + ACTIONS(683), 1, + sym__template_literal_chunk, + STATE(391), 1, + aux_sym_template_literal_repeat1, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(681), 3, + sym_quoted_template_end, + sym_template_interpolation_start, + sym_template_directive_start, + [20062] = 6, + ACTIONS(96), 1, + anon_sym_RBRACK, + ACTIONS(650), 1, + anon_sym_if, + ACTIONS(654), 1, + anon_sym_QMARK, + STATE(204), 1, + sym_tuple_end, + STATE(499), 1, + sym_for_cond, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [20082] = 4, + ACTIONS(685), 1, + sym__template_literal_chunk, + STATE(398), 1, + aux_sym_template_literal_repeat1, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(681), 3, + sym_template_interpolation_start, + sym_template_directive_start, + sym_heredoc_identifier, + [20098] = 6, + ACTIONS(49), 1, + anon_sym_RBRACK, + ACTIONS(650), 1, + anon_sym_if, + ACTIONS(654), 1, + anon_sym_QMARK, + STATE(314), 1, + sym_tuple_end, + STATE(542), 1, + sym_for_cond, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [20118] = 4, + ACTIONS(689), 1, + sym__template_literal_chunk, + STATE(391), 1, + aux_sym_template_literal_repeat1, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(687), 3, + sym_quoted_template_end, + sym_template_interpolation_start, + sym_template_directive_start, + [20134] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(182), 5, anon_sym_RBRACE, anon_sym_RBRACK, - [16728] = 2, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + [20146] = 3, + ACTIONS(664), 1, + anon_sym_QMARK, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(646), 3, - sym_quoted_template_end, - sym__template_literal_chunk, - sym_template_interpolation_start, - [16738] = 2, + ACTIONS(645), 4, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + sym_ellipsis, + [20160] = 6, + ACTIONS(102), 1, + anon_sym_RBRACK, + ACTIONS(650), 1, + anon_sym_if, + ACTIONS(654), 1, + anon_sym_QMARK, + STATE(256), 1, + sym_tuple_end, + STATE(537), 1, + sym_for_cond, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(681), 3, + [20180] = 5, + ACTIONS(692), 1, + anon_sym_LBRACE, + ACTIONS(694), 1, + sym_identifier, + ACTIONS(697), 1, + sym_quoted_template_start, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + STATE(395), 2, + sym_string_lit, + aux_sym_block_repeat1, + [20198] = 6, + ACTIONS(104), 1, + anon_sym_RBRACK, + ACTIONS(650), 1, + anon_sym_if, + ACTIONS(654), 1, + anon_sym_QMARK, + STATE(283), 1, + sym_tuple_end, + STATE(491), 1, + sym_for_cond, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [20218] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(534), 5, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + [20230] = 4, + ACTIONS(700), 1, sym__template_literal_chunk, + STATE(398), 1, + aux_sym_template_literal_repeat1, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(687), 3, sym_template_interpolation_start, + sym_template_directive_start, sym_heredoc_identifier, - [16748] = 2, + [20246] = 6, + ACTIONS(558), 1, + anon_sym_RPAREN, + ACTIONS(703), 1, + anon_sym_COMMA, + ACTIONS(705), 1, + sym_ellipsis, + STATE(65), 1, + sym__comma, + STATE(377), 1, + aux_sym__tuple_elems_repeat1, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(681), 3, + [20266] = 6, + ACTIONS(47), 1, + anon_sym_RBRACK, + ACTIONS(650), 1, + anon_sym_if, + ACTIONS(654), 1, + anon_sym_QMARK, + STATE(146), 1, + sym_tuple_end, + STATE(489), 1, + sym_for_cond, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [20286] = 6, + ACTIONS(664), 1, + anon_sym_QMARK, + ACTIONS(707), 1, + anon_sym_COMMA, + ACTIONS(709), 1, + anon_sym_RBRACK, + STATE(34), 1, + sym__comma, + STATE(407), 1, + aux_sym__tuple_elems_repeat1, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [20306] = 4, + ACTIONS(711), 1, + sym__template_literal_chunk, + STATE(402), 1, + aux_sym_template_literal_repeat1, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(687), 2, + sym_template_interpolation_start, + sym_template_directive_start, + [20321] = 3, + ACTIONS(714), 1, + sym_quoted_template_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(716), 3, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + [20334] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(718), 4, sym_quoted_template_end, sym__template_literal_chunk, sym_template_interpolation_start, - [16758] = 2, + sym_template_directive_start, + [20345] = 2, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(683), 3, + ACTIONS(720), 4, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + sym_heredoc_identifier, + [20356] = 5, + ACTIONS(39), 1, + anon_sym_RBRACE, + ACTIONS(650), 1, + anon_sym_if, + STATE(190), 1, + sym_object_end, + STATE(505), 1, + sym_for_cond, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [20373] = 5, + ACTIONS(196), 1, + anon_sym_RBRACK, + ACTIONS(722), 1, + anon_sym_COMMA, + STATE(31), 1, + sym__comma, + STATE(377), 1, + aux_sym__tuple_elems_repeat1, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [20390] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(724), 4, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + sym_heredoc_identifier, + [20401] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(726), 4, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + sym_heredoc_identifier, + [20412] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(728), 4, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + sym_heredoc_identifier, + [20423] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(730), 4, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + sym_heredoc_identifier, + [20434] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(732), 4, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + sym_heredoc_identifier, + [20445] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(718), 4, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + sym_heredoc_identifier, + [20456] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(730), 4, + sym_quoted_template_end, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + [20467] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(734), 4, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + sym_heredoc_identifier, + [20478] = 4, + ACTIONS(736), 1, + sym__template_literal_chunk, + STATE(402), 1, + aux_sym_template_literal_repeat1, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(681), 2, + sym_template_interpolation_start, + sym_template_directive_start, + [20493] = 3, + ACTIONS(738), 1, + sym_quoted_template_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(716), 3, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + [20506] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(728), 4, + sym_quoted_template_end, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + [20517] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(740), 4, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + sym_heredoc_identifier, + [20528] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(740), 4, + sym_quoted_template_end, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + [20539] = 3, + ACTIONS(742), 1, + sym_quoted_template_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(716), 3, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + [20552] = 3, + ACTIONS(744), 1, + sym_quoted_template_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(716), 3, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + [20565] = 5, + ACTIONS(45), 1, + anon_sym_RBRACE, + ACTIONS(650), 1, + anon_sym_if, + STATE(310), 1, + sym_object_end, + STATE(478), 1, + sym_for_cond, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [20582] = 5, + ACTIONS(41), 1, + anon_sym_RBRACE, + ACTIONS(650), 1, + anon_sym_if, + STATE(285), 1, + sym_object_end, + STATE(536), 1, + sym_for_cond, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [20599] = 3, + ACTIONS(664), 1, + anon_sym_QMARK, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(746), 3, ts_builtin_sym_end, anon_sym_RBRACE, sym_identifier, - [16768] = 4, - ACTIONS(140), 1, - sym_strip_marker, - ACTIONS(142), 1, - sym_template_interpolation_end, - ACTIONS(658), 1, - anon_sym_QMARK, + [20612] = 5, + ACTIONS(13), 1, + anon_sym_RBRACE, + ACTIONS(650), 1, + anon_sym_if, + STATE(252), 1, + sym_object_end, + STATE(545), 1, + sym_for_cond, ACTIONS(3), 2, sym_comment, sym__whitespace, - [16782] = 3, - ACTIONS(685), 1, + [20629] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(720), 4, + sym_quoted_template_end, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + [20640] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(726), 4, + sym_quoted_template_end, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + [20651] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(724), 4, + sym_quoted_template_end, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + [20662] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(748), 4, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + sym_heredoc_identifier, + [20673] = 3, + ACTIONS(750), 1, sym_quoted_template_end, ACTIONS(3), 2, sym_comment, sym__whitespace, - ACTIONS(644), 2, + ACTIONS(716), 3, sym__template_literal_chunk, sym_template_interpolation_start, - [16794] = 3, - ACTIONS(600), 1, + sym_template_directive_start, + [20686] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(748), 4, + sym_quoted_template_end, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + [20697] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(732), 4, + sym_quoted_template_end, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + [20708] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(734), 4, + sym_quoted_template_end, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + [20719] = 5, + ACTIONS(43), 1, + anon_sym_RBRACE, + ACTIONS(650), 1, + anon_sym_if, + STATE(164), 1, + sym_object_end, + STATE(497), 1, + sym_for_cond, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [20736] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(724), 3, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + [20746] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(726), 3, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + [20756] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(728), 3, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + [20766] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(730), 3, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + [20776] = 4, + ACTIONS(752), 1, + anon_sym_for, + ACTIONS(754), 1, + sym_strip_marker, + ACTIONS(756), 1, + anon_sym_endfor, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [20790] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(732), 3, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + [20800] = 4, + ACTIONS(148), 1, + sym_strip_marker, + ACTIONS(150), 1, + sym_template_interpolation_end, + ACTIONS(758), 1, anon_sym_QMARK, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [20814] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(748), 3, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + [20824] = 4, + ACTIONS(758), 1, + anon_sym_QMARK, + ACTIONS(760), 1, + sym_strip_marker, + ACTIONS(762), 1, + sym_template_interpolation_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [20838] = 4, + ACTIONS(681), 1, + sym_quoted_template_end, + ACTIONS(764), 1, + sym__template_literal_chunk, + STATE(463), 1, + aux_sym_template_literal_repeat1, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [20852] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(534), 3, + sym_template_interpolation_end, + anon_sym_QMARK, + sym_strip_marker, + [20862] = 4, + ACTIONS(154), 1, + sym_strip_marker, + ACTIONS(156), 1, + sym_template_interpolation_end, + ACTIONS(758), 1, + anon_sym_QMARK, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [20876] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(182), 3, + sym_template_interpolation_end, + anon_sym_QMARK, + sym_strip_marker, + [20886] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(720), 3, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + [20896] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(766), 3, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + [20906] = 4, + ACTIONS(758), 1, + anon_sym_QMARK, + ACTIONS(768), 1, + sym_strip_marker, + ACTIONS(770), 1, + sym_template_interpolation_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [20920] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(772), 3, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + [20930] = 4, + ACTIONS(144), 1, + sym_strip_marker, + ACTIONS(146), 1, + sym_template_interpolation_end, + ACTIONS(758), 1, + anon_sym_QMARK, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [20944] = 4, + ACTIONS(774), 1, + anon_sym_QMARK, + ACTIONS(776), 1, + sym_strip_marker, + ACTIONS(778), 1, + sym_template_directive_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [20958] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(780), 3, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + [20968] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(782), 3, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + [20978] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(718), 3, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + [20988] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(784), 3, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + [20998] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(786), 3, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + [21008] = 4, + ACTIONS(774), 1, + anon_sym_QMARK, + ACTIONS(788), 1, + sym_strip_marker, + ACTIONS(790), 1, + sym_template_directive_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21022] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(792), 3, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + [21032] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(534), 3, + sym_template_directive_end, + anon_sym_QMARK, + sym_strip_marker, + [21042] = 4, ACTIONS(687), 1, + sym_quoted_template_end, + ACTIONS(794), 1, + sym__template_literal_chunk, + STATE(463), 1, + aux_sym_template_literal_repeat1, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21056] = 4, + ACTIONS(758), 1, + anon_sym_QMARK, + ACTIONS(797), 1, + sym_strip_marker, + ACTIONS(799), 1, + sym_template_interpolation_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21070] = 4, + ACTIONS(774), 1, + anon_sym_QMARK, + ACTIONS(801), 1, + sym_strip_marker, + ACTIONS(803), 1, + sym_template_directive_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21084] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(740), 3, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + [21094] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(416), 3, + sym_quoted_template_start, + anon_sym_LBRACE, + sym_identifier, + [21104] = 3, + ACTIONS(664), 1, + anon_sym_QMARK, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(805), 2, + anon_sym_EQ, + anon_sym_COLON, + [21116] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(807), 3, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + [21126] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(809), 3, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + [21136] = 4, + ACTIONS(752), 1, + anon_sym_for, + ACTIONS(811), 1, + sym_strip_marker, + ACTIONS(813), 1, + anon_sym_endfor, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21150] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(734), 3, + sym__template_literal_chunk, + sym_template_interpolation_start, + sym_template_directive_start, + [21160] = 3, + ACTIONS(664), 1, + anon_sym_QMARK, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(815), 2, + anon_sym_RBRACE, + anon_sym_RBRACK, + [21172] = 4, + ACTIONS(752), 1, + anon_sym_for, + ACTIONS(817), 1, + sym_strip_marker, + ACTIONS(819), 1, + anon_sym_endfor, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21186] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(182), 3, + sym_template_directive_end, + anon_sym_QMARK, + sym_strip_marker, + [21196] = 4, + ACTIONS(821), 1, + sym__template_literal_chunk, + STATE(445), 1, + aux_sym_template_literal_repeat1, + STATE(575), 1, + sym_template_literal, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21210] = 4, + ACTIONS(774), 1, + anon_sym_QMARK, + ACTIONS(823), 1, + sym_strip_marker, + ACTIONS(825), 1, + sym_template_directive_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21224] = 3, + ACTIONS(45), 1, + anon_sym_RBRACE, + STATE(311), 1, + sym_object_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21235] = 3, + ACTIONS(752), 1, + anon_sym_for, + ACTIONS(827), 1, + sym_strip_marker, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21246] = 3, + ACTIONS(39), 1, + anon_sym_RBRACE, + STATE(190), 1, + sym_object_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21257] = 3, + ACTIONS(13), 1, + anon_sym_RBRACE, + STATE(269), 1, + sym_object_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21268] = 3, + ACTIONS(96), 1, + anon_sym_RBRACK, + STATE(200), 1, + sym_tuple_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21279] = 3, + ACTIONS(664), 1, + anon_sym_QMARK, + ACTIONS(829), 1, + anon_sym_EQ_GT, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21290] = 3, + ACTIONS(102), 1, + anon_sym_RBRACK, + STATE(260), 1, + sym_tuple_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21301] = 2, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + ACTIONS(831), 2, + anon_sym_RBRACE, + sym_identifier, + [21310] = 3, + ACTIONS(664), 1, + anon_sym_QMARK, + ACTIONS(833), 1, anon_sym_COLON, ACTIONS(3), 2, sym_comment, sym__whitespace, - [16805] = 3, - ACTIONS(600), 1, + [21321] = 3, + ACTIONS(835), 1, + sym_template_directive_start, + STATE(428), 1, + sym_template_for_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21332] = 3, + ACTIONS(664), 1, anon_sym_QMARK, - ACTIONS(689), 1, - anon_sym_RBRACK, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [16816] = 3, - ACTIONS(59), 1, - anon_sym_RBRACK, - STATE(173), 1, - sym_tuple_end, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [16827] = 3, - ACTIONS(59), 1, - anon_sym_RBRACK, - STATE(188), 1, - sym_tuple_end, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [16838] = 3, - ACTIONS(600), 1, - anon_sym_QMARK, - ACTIONS(691), 1, + ACTIONS(837), 1, anon_sym_EQ_GT, ACTIONS(3), 2, sym_comment, sym__whitespace, - [16849] = 3, - ACTIONS(600), 1, - anon_sym_QMARK, - ACTIONS(693), 1, - anon_sym_EQ_GT, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [16860] = 3, - ACTIONS(41), 1, - anon_sym_RBRACE, - STATE(222), 1, - sym_object_end, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [16871] = 3, - ACTIONS(57), 1, + [21343] = 3, + ACTIONS(47), 1, anon_sym_RBRACK, - STATE(246), 1, + STATE(142), 1, sym_tuple_end, ACTIONS(3), 2, sym_comment, sym__whitespace, - [16882] = 3, - ACTIONS(41), 1, - anon_sym_RBRACE, - STATE(219), 1, - sym_object_end, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [16893] = 3, - ACTIONS(695), 1, - sym_identifier, - ACTIONS(697), 1, - aux_sym_legacy_index_token1, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [16904] = 3, - ACTIONS(600), 1, - anon_sym_QMARK, - ACTIONS(699), 1, + [21354] = 3, + ACTIONS(839), 1, anon_sym_RPAREN, + STATE(198), 1, + sym__function_call_end, ACTIONS(3), 2, sym_comment, sym__whitespace, - [16915] = 3, - ACTIONS(701), 1, + [21365] = 3, + ACTIONS(104), 1, + anon_sym_RBRACK, + STATE(280), 1, + sym_tuple_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21376] = 3, + ACTIONS(841), 1, + sym_strip_marker, + ACTIONS(843), 1, + sym_template_directive_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21387] = 3, + ACTIONS(845), 1, anon_sym_COMMA, - ACTIONS(703), 1, + ACTIONS(847), 1, anon_sym_in, ACTIONS(3), 2, sym_comment, sym__whitespace, - [16926] = 3, - ACTIONS(600), 1, + [21398] = 3, + ACTIONS(664), 1, anon_sym_QMARK, - ACTIONS(705), 1, + ACTIONS(849), 1, anon_sym_COLON, ACTIONS(3), 2, sym_comment, sym__whitespace, - [16937] = 3, - ACTIONS(600), 1, - anon_sym_QMARK, - ACTIONS(707), 1, - anon_sym_RPAREN, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [16948] = 3, - ACTIONS(709), 1, - sym_identifier, - ACTIONS(711), 1, - aux_sym_legacy_index_token1, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [16959] = 3, - ACTIONS(41), 1, - anon_sym_RBRACE, - STATE(236), 1, - sym_object_end, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [16970] = 3, - ACTIONS(39), 1, - anon_sym_RBRACE, - STATE(167), 1, - sym_object_end, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [16981] = 3, - ACTIONS(600), 1, - anon_sym_QMARK, - ACTIONS(713), 1, - anon_sym_COLON, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [16992] = 3, - ACTIONS(600), 1, - anon_sym_QMARK, - ACTIONS(715), 1, - anon_sym_RBRACK, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [17003] = 2, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - ACTIONS(717), 2, - anon_sym_RBRACE, - sym_identifier, - [17012] = 3, - ACTIONS(719), 1, - anon_sym_RPAREN, - STATE(227), 1, - sym__function_call_end, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [17023] = 3, - ACTIONS(514), 1, - anon_sym_RBRACE, - STATE(353), 1, - sym_block_end, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [17034] = 3, - ACTIONS(600), 1, - anon_sym_QMARK, - ACTIONS(721), 1, - anon_sym_EQ_GT, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [17045] = 3, - ACTIONS(39), 1, - anon_sym_RBRACE, - STATE(157), 1, - sym_object_end, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [17056] = 3, - ACTIONS(47), 1, - anon_sym_RBRACK, - STATE(237), 1, - sym_tuple_end, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [17067] = 3, - ACTIONS(514), 1, - anon_sym_RBRACE, - STATE(336), 1, - sym_block_end, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [17078] = 3, - ACTIONS(13), 1, - anon_sym_RBRACE, - STATE(127), 1, - sym_object_end, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [17089] = 3, - ACTIONS(13), 1, - anon_sym_RBRACE, - STATE(134), 1, - sym_object_end, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [17100] = 3, - ACTIONS(600), 1, - anon_sym_QMARK, - ACTIONS(723), 1, - anon_sym_RPAREN, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [17111] = 3, - ACTIONS(725), 1, - sym_identifier, - ACTIONS(727), 1, - aux_sym_legacy_index_token1, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [17122] = 3, - ACTIONS(43), 1, - anon_sym_RBRACE, - STATE(252), 1, - sym_object_end, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [17133] = 3, - ACTIONS(43), 1, - anon_sym_RBRACE, - STATE(267), 1, - sym_object_end, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [17144] = 3, - ACTIONS(600), 1, - anon_sym_QMARK, - ACTIONS(729), 1, - anon_sym_COLON, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [17155] = 3, - ACTIONS(43), 1, - anon_sym_RBRACE, - STATE(254), 1, - sym_object_end, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [17166] = 3, - ACTIONS(47), 1, - anon_sym_RBRACK, - STATE(209), 1, - sym_tuple_end, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [17177] = 3, - ACTIONS(13), 1, - anon_sym_RBRACE, - STATE(125), 1, - sym_object_end, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [17188] = 3, + [21409] = 3, ACTIONS(45), 1, - anon_sym_RBRACK, - STATE(143), 1, - sym_tuple_end, + anon_sym_RBRACE, + STATE(310), 1, + sym_object_end, ACTIONS(3), 2, sym_comment, sym__whitespace, - [17199] = 3, - ACTIONS(57), 1, - anon_sym_RBRACK, - STATE(265), 1, - sym_tuple_end, + [21420] = 3, + ACTIONS(851), 1, + anon_sym_for, + ACTIONS(853), 1, + anon_sym_endfor, ACTIONS(3), 2, sym_comment, sym__whitespace, - [17210] = 3, - ACTIONS(731), 1, - anon_sym_RPAREN, - STATE(187), 1, - sym__function_call_end, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [17221] = 3, - ACTIONS(600), 1, - anon_sym_QMARK, - ACTIONS(733), 1, - anon_sym_EQ_GT, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [17232] = 3, - ACTIONS(600), 1, - anon_sym_QMARK, - ACTIONS(735), 1, - anon_sym_RBRACK, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [17243] = 3, - ACTIONS(600), 1, - anon_sym_QMARK, - ACTIONS(737), 1, - anon_sym_RPAREN, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [17254] = 3, - ACTIONS(739), 1, - sym_identifier, - ACTIONS(741), 1, - aux_sym_legacy_index_token1, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [17265] = 3, - ACTIONS(743), 1, - anon_sym_RPAREN, - STATE(241), 1, - sym__function_call_end, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [17276] = 3, - ACTIONS(745), 1, - anon_sym_RPAREN, - STATE(142), 1, - sym__function_call_end, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [17287] = 3, - ACTIONS(600), 1, - anon_sym_QMARK, - ACTIONS(747), 1, - anon_sym_COLON, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [17298] = 3, - ACTIONS(600), 1, - anon_sym_QMARK, - ACTIONS(749), 1, - anon_sym_RBRACK, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [17309] = 3, - ACTIONS(45), 1, - anon_sym_RBRACK, - STATE(123), 1, - sym_tuple_end, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [17320] = 3, - ACTIONS(39), 1, + [21431] = 3, + ACTIONS(43), 1, anon_sym_RBRACE, STATE(162), 1, sym_object_end, ACTIONS(3), 2, sym_comment, sym__whitespace, - [17331] = 3, - ACTIONS(600), 1, + [21442] = 3, + ACTIONS(43), 1, + anon_sym_RBRACE, + STATE(164), 1, + sym_object_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21453] = 3, + ACTIONS(96), 1, + anon_sym_RBRACK, + STATE(208), 1, + sym_tuple_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21464] = 3, + ACTIONS(855), 1, + anon_sym_RPAREN, + STATE(295), 1, + sym__function_call_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21475] = 3, + ACTIONS(664), 1, anon_sym_QMARK, - ACTIONS(751), 1, + ACTIONS(857), 1, + anon_sym_EQ_GT, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21486] = 3, + ACTIONS(859), 1, + anon_sym_RPAREN, + STATE(258), 1, + sym__function_call_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21497] = 3, + ACTIONS(664), 1, + anon_sym_QMARK, + ACTIONS(861), 1, anon_sym_COLON, ACTIONS(3), 2, sym_comment, sym__whitespace, - [17342] = 2, - ACTIONS(753), 1, - sym_heredoc_identifier, + [21508] = 3, + ACTIONS(104), 1, + anon_sym_RBRACK, + STATE(301), 1, + sym_tuple_end, ACTIONS(3), 2, sym_comment, sym__whitespace, - [17350] = 2, - ACTIONS(755), 1, - sym_heredoc_identifier, + [21519] = 3, + ACTIONS(39), 1, + anon_sym_RBRACE, + STATE(196), 1, + sym_object_end, ACTIONS(3), 2, sym_comment, sym__whitespace, - [17358] = 2, - ACTIONS(757), 1, - sym_heredoc_identifier, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [17366] = 2, - ACTIONS(662), 1, - sym_template_interpolation_end, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [17374] = 2, - ACTIONS(759), 1, - sym_quoted_template_end, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [17382] = 2, - ACTIONS(761), 1, - sym_heredoc_identifier, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [17390] = 2, - ACTIONS(763), 1, - sym_identifier, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [17398] = 2, - ACTIONS(496), 1, + [21530] = 3, + ACTIONS(664), 1, + anon_sym_QMARK, + ACTIONS(863), 1, anon_sym_RPAREN, ACTIONS(3), 2, sym_comment, sym__whitespace, - [17406] = 2, - ACTIONS(765), 1, - sym_template_interpolation_end, + [21541] = 3, + ACTIONS(865), 1, + sym_identifier, + ACTIONS(867), 1, + aux_sym_legacy_index_token1, ACTIONS(3), 2, sym_comment, sym__whitespace, - [17414] = 2, - ACTIONS(677), 1, - sym_template_interpolation_end, + [21552] = 3, + ACTIONS(635), 1, + anon_sym_RBRACE, + STATE(461), 1, + sym_block_end, ACTIONS(3), 2, sym_comment, sym__whitespace, - [17422] = 2, - ACTIONS(767), 1, - sym_heredoc_identifier, + [21563] = 3, + ACTIONS(664), 1, + anon_sym_QMARK, + ACTIONS(869), 1, + anon_sym_RBRACK, ACTIONS(3), 2, sym_comment, sym__whitespace, - [17430] = 2, - ACTIONS(769), 1, + [21574] = 3, + ACTIONS(871), 1, + anon_sym_COMMA, + ACTIONS(873), 1, anon_sym_in, ACTIONS(3), 2, sym_comment, sym__whitespace, - [17438] = 2, - ACTIONS(771), 1, - sym_identifier, - ACTIONS(3), 2, - sym_comment, - sym__whitespace, - [17446] = 2, - ACTIONS(498), 1, + [21585] = 3, + ACTIONS(664), 1, + anon_sym_QMARK, + ACTIONS(875), 1, anon_sym_RPAREN, ACTIONS(3), 2, sym_comment, sym__whitespace, - [17454] = 2, - ACTIONS(773), 1, - ts_builtin_sym_end, + [21596] = 3, + ACTIONS(877), 1, + sym_template_directive_start, + STATE(437), 1, + sym_template_for_end, ACTIONS(3), 2, sym_comment, sym__whitespace, - [17462] = 2, - ACTIONS(775), 1, - ts_builtin_sym_end, + [21607] = 3, + ACTIONS(664), 1, + anon_sym_QMARK, + ACTIONS(879), 1, + anon_sym_COLON, ACTIONS(3), 2, sym_comment, sym__whitespace, - [17470] = 2, - ACTIONS(777), 1, + [21618] = 3, + ACTIONS(664), 1, + anon_sym_QMARK, + ACTIONS(881), 1, + anon_sym_RBRACK, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21629] = 3, + ACTIONS(851), 1, + anon_sym_for, + ACTIONS(883), 1, + anon_sym_endfor, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21640] = 3, + ACTIONS(664), 1, + anon_sym_QMARK, + ACTIONS(885), 1, + anon_sym_EQ_GT, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21651] = 3, + ACTIONS(41), 1, + anon_sym_RBRACE, + STATE(285), 1, + sym_object_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21662] = 3, + ACTIONS(887), 1, + sym_strip_marker, + ACTIONS(889), 1, + sym_template_directive_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21673] = 3, + ACTIONS(813), 1, + anon_sym_endfor, + ACTIONS(891), 1, + sym_strip_marker, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21684] = 3, + ACTIONS(893), 1, + sym_identifier, + ACTIONS(895), 1, + aux_sym_legacy_index_token1, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21695] = 3, + ACTIONS(897), 1, + anon_sym_RPAREN, + STATE(149), 1, + sym__function_call_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21706] = 3, + ACTIONS(899), 1, + sym_strip_marker, + ACTIONS(901), 1, + sym_template_directive_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21717] = 3, + ACTIONS(664), 1, + anon_sym_QMARK, + ACTIONS(903), 1, + anon_sym_EQ_GT, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21728] = 3, + ACTIONS(664), 1, + anon_sym_QMARK, + ACTIONS(905), 1, + anon_sym_RBRACK, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21739] = 3, + ACTIONS(664), 1, + anon_sym_QMARK, + ACTIONS(907), 1, + anon_sym_COLON, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21750] = 3, + ACTIONS(635), 1, + anon_sym_RBRACE, + STATE(470), 1, + sym_block_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21761] = 3, + ACTIONS(41), 1, + anon_sym_RBRACE, + STATE(337), 1, + sym_object_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21772] = 3, + ACTIONS(47), 1, + anon_sym_RBRACK, + STATE(152), 1, + sym_tuple_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21783] = 3, + ACTIONS(43), 1, + anon_sym_RBRACE, + STATE(169), 1, + sym_object_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21794] = 3, + ACTIONS(49), 1, + anon_sym_RBRACK, + STATE(328), 1, + sym_tuple_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21805] = 3, + ACTIONS(909), 1, + sym_identifier, + ACTIONS(911), 1, + aux_sym_legacy_index_token1, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21816] = 3, + ACTIONS(45), 1, + anon_sym_RBRACE, + STATE(288), 1, + sym_object_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21827] = 3, + ACTIONS(664), 1, + anon_sym_QMARK, + ACTIONS(913), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21838] = 3, + ACTIONS(915), 1, + sym_identifier, + ACTIONS(917), 1, + aux_sym_legacy_index_token1, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21849] = 3, + ACTIONS(664), 1, + anon_sym_QMARK, + ACTIONS(919), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21860] = 3, + ACTIONS(41), 1, + anon_sym_RBRACE, + STATE(287), 1, + sym_object_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21871] = 3, + ACTIONS(102), 1, + anon_sym_RBRACK, + STATE(254), 1, + sym_tuple_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21882] = 3, + ACTIONS(921), 1, + anon_sym_RPAREN, + STATE(321), 1, + sym__function_call_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21893] = 3, + ACTIONS(923), 1, + sym_template_directive_start, + STATE(409), 1, + sym_template_for_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21904] = 3, + ACTIONS(664), 1, + anon_sym_QMARK, + ACTIONS(925), 1, + anon_sym_COLON, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21915] = 3, + ACTIONS(664), 1, + anon_sym_QMARK, + ACTIONS(927), 1, + anon_sym_RBRACK, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21926] = 3, + ACTIONS(49), 1, + anon_sym_RBRACK, + STATE(308), 1, + sym_tuple_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21937] = 3, + ACTIONS(929), 1, + sym_strip_marker, + ACTIONS(931), 1, + sym_template_directive_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21948] = 3, + ACTIONS(819), 1, + anon_sym_endfor, + ACTIONS(933), 1, + sym_strip_marker, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21959] = 3, + ACTIONS(13), 1, + anon_sym_RBRACE, + STATE(249), 1, + sym_object_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21970] = 3, + ACTIONS(935), 1, + sym_strip_marker, + ACTIONS(937), 1, + sym_template_directive_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21981] = 3, + ACTIONS(756), 1, + anon_sym_endfor, + ACTIONS(939), 1, + sym_strip_marker, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [21992] = 3, + ACTIONS(941), 1, + sym_strip_marker, + ACTIONS(943), 1, + sym_template_directive_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22003] = 3, + ACTIONS(13), 1, + anon_sym_RBRACE, + STATE(252), 1, + sym_object_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22014] = 3, + ACTIONS(851), 1, + anon_sym_for, + ACTIONS(945), 1, + anon_sym_endfor, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22025] = 3, + ACTIONS(664), 1, + anon_sym_QMARK, + ACTIONS(947), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22036] = 3, + ACTIONS(949), 1, + sym_identifier, + ACTIONS(951), 1, + aux_sym_legacy_index_token1, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22047] = 3, + ACTIONS(39), 1, + anon_sym_RBRACE, + STATE(207), 1, + sym_object_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22058] = 3, + ACTIONS(664), 1, + anon_sym_QMARK, + ACTIONS(953), 1, + anon_sym_COLON, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22069] = 3, + ACTIONS(664), 1, + anon_sym_QMARK, + ACTIONS(955), 1, + anon_sym_RBRACK, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22080] = 3, + ACTIONS(957), 1, + anon_sym_COMMA, + ACTIONS(959), 1, + anon_sym_in, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22091] = 2, + ACTIONS(790), 1, + sym_template_directive_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22099] = 2, + ACTIONS(853), 1, + anon_sym_endfor, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22107] = 2, + ACTIONS(961), 1, + sym_template_directive_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22115] = 2, + ACTIONS(762), 1, sym_template_interpolation_end, ACTIONS(3), 2, sym_comment, sym__whitespace, + [22123] = 2, + ACTIONS(963), 1, + sym_identifier, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22131] = 2, + ACTIONS(965), 1, + sym_template_interpolation_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22139] = 2, + ACTIONS(967), 1, + sym_quoted_template_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22147] = 2, + ACTIONS(969), 1, + sym_heredoc_identifier, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22155] = 2, + ACTIONS(971), 1, + sym_heredoc_identifier, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22163] = 2, + ACTIONS(937), 1, + sym_template_directive_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22171] = 2, + ACTIONS(799), 1, + sym_template_interpolation_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22179] = 2, + ACTIONS(973), 1, + sym_quoted_template_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22187] = 2, + ACTIONS(975), 1, + sym_template_directive_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22195] = 2, + ACTIONS(558), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22203] = 2, + ACTIONS(977), 1, + sym_quoted_template_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22211] = 2, + ACTIONS(979), 1, + sym_heredoc_identifier, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22219] = 2, + ACTIONS(981), 1, + sym_identifier, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22227] = 2, + ACTIONS(983), 1, + sym_quoted_template_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22235] = 2, + ACTIONS(985), 1, + sym_quoted_template_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22243] = 2, + ACTIONS(987), 1, + sym_template_directive_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22251] = 2, + ACTIONS(989), 1, + sym_heredoc_identifier, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22259] = 2, + ACTIONS(991), 1, + sym_heredoc_identifier, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22267] = 2, + ACTIONS(993), 1, + sym_heredoc_identifier, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22275] = 2, + ACTIONS(995), 1, + sym_heredoc_identifier, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22283] = 2, + ACTIONS(883), 1, + anon_sym_endfor, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22291] = 2, + ACTIONS(901), 1, + sym_template_directive_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22299] = 2, + ACTIONS(997), 1, + sym_template_interpolation_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22307] = 2, + ACTIONS(999), 1, + sym_template_directive_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22315] = 2, + ACTIONS(770), 1, + sym_template_interpolation_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22323] = 2, + ACTIONS(1001), 1, + sym_heredoc_identifier, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22331] = 2, + ACTIONS(1003), 1, + sym_heredoc_identifier, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22339] = 2, + ACTIONS(778), 1, + sym_template_directive_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22347] = 2, + ACTIONS(803), 1, + sym_template_directive_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22355] = 2, + ACTIONS(1005), 1, + sym_identifier, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22363] = 2, + ACTIONS(1007), 1, + sym_quoted_template_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22371] = 2, + ACTIONS(1009), 1, + anon_sym_in, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22379] = 2, + ACTIONS(1011), 1, + sym_template_interpolation_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22387] = 2, + ACTIONS(1013), 1, + sym_heredoc_identifier, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22395] = 2, + ACTIONS(1015), 1, + sym_identifier, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22403] = 2, + ACTIONS(843), 1, + sym_template_directive_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22411] = 2, + ACTIONS(945), 1, + anon_sym_endfor, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22419] = 2, + ACTIONS(560), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22427] = 2, + ACTIONS(1017), 1, + sym_heredoc_identifier, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22435] = 2, + ACTIONS(1019), 1, + anon_sym_in, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22443] = 2, + ACTIONS(1021), 1, + sym_identifier, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22451] = 2, + ACTIONS(1023), 1, + anon_sym_in, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22459] = 2, + ACTIONS(1025), 1, + sym_identifier, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22467] = 2, + ACTIONS(1027), 1, + ts_builtin_sym_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22475] = 2, + ACTIONS(1029), 1, + ts_builtin_sym_end, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, + [22483] = 2, + ACTIONS(851), 1, + anon_sym_for, + ACTIONS(3), 2, + sym_comment, + sym__whitespace, }; static const uint32_t ts_small_parse_table_map[] = { @@ -24953,430 +29114,606 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(4)] = 214, [SMALL_STATE(5)] = 321, [SMALL_STATE(6)] = 428, - [SMALL_STATE(7)] = 532, - [SMALL_STATE(8)] = 636, - [SMALL_STATE(9)] = 738, - [SMALL_STATE(10)] = 840, - [SMALL_STATE(11)] = 944, - [SMALL_STATE(12)] = 1048, - [SMALL_STATE(13)] = 1150, - [SMALL_STATE(14)] = 1251, - [SMALL_STATE(15)] = 1349, - [SMALL_STATE(16)] = 1447, - [SMALL_STATE(17)] = 1545, - [SMALL_STATE(18)] = 1643, - [SMALL_STATE(19)] = 1738, - [SMALL_STATE(20)] = 1833, - [SMALL_STATE(21)] = 1928, - [SMALL_STATE(22)] = 2023, - [SMALL_STATE(23)] = 2118, - [SMALL_STATE(24)] = 2213, - [SMALL_STATE(25)] = 2291, - [SMALL_STATE(26)] = 2383, - [SMALL_STATE(27)] = 2449, - [SMALL_STATE(28)] = 2503, - [SMALL_STATE(29)] = 2561, - [SMALL_STATE(30)] = 2629, - [SMALL_STATE(31)] = 2721, - [SMALL_STATE(32)] = 2775, - [SMALL_STATE(33)] = 2867, - [SMALL_STATE(34)] = 2927, - [SMALL_STATE(35)] = 2991, - [SMALL_STATE(36)] = 3080, - [SMALL_STATE(37)] = 3169, - [SMALL_STATE(38)] = 3258, - [SMALL_STATE(39)] = 3347, - [SMALL_STATE(40)] = 3436, - [SMALL_STATE(41)] = 3525, - [SMALL_STATE(42)] = 3614, - [SMALL_STATE(43)] = 3703, - [SMALL_STATE(44)] = 3792, - [SMALL_STATE(45)] = 3881, - [SMALL_STATE(46)] = 3970, - [SMALL_STATE(47)] = 4059, - [SMALL_STATE(48)] = 4148, - [SMALL_STATE(49)] = 4237, - [SMALL_STATE(50)] = 4326, - [SMALL_STATE(51)] = 4415, - [SMALL_STATE(52)] = 4504, - [SMALL_STATE(53)] = 4593, - [SMALL_STATE(54)] = 4682, - [SMALL_STATE(55)] = 4771, - [SMALL_STATE(56)] = 4860, - [SMALL_STATE(57)] = 4949, - [SMALL_STATE(58)] = 5038, - [SMALL_STATE(59)] = 5127, - [SMALL_STATE(60)] = 5216, - [SMALL_STATE(61)] = 5305, - [SMALL_STATE(62)] = 5394, - [SMALL_STATE(63)] = 5483, - [SMALL_STATE(64)] = 5572, - [SMALL_STATE(65)] = 5661, - [SMALL_STATE(66)] = 5750, - [SMALL_STATE(67)] = 5839, - [SMALL_STATE(68)] = 5928, - [SMALL_STATE(69)] = 6017, - [SMALL_STATE(70)] = 6071, - [SMALL_STATE(71)] = 6125, - [SMALL_STATE(72)] = 6179, - [SMALL_STATE(73)] = 6233, - [SMALL_STATE(74)] = 6287, - [SMALL_STATE(75)] = 6370, - [SMALL_STATE(76)] = 6453, - [SMALL_STATE(77)] = 6536, - [SMALL_STATE(78)] = 6619, - [SMALL_STATE(79)] = 6702, - [SMALL_STATE(80)] = 6785, - [SMALL_STATE(81)] = 6868, - [SMALL_STATE(82)] = 6951, - [SMALL_STATE(83)] = 7034, - [SMALL_STATE(84)] = 7117, - [SMALL_STATE(85)] = 7200, - [SMALL_STATE(86)] = 7283, - [SMALL_STATE(87)] = 7366, - [SMALL_STATE(88)] = 7449, - [SMALL_STATE(89)] = 7532, - [SMALL_STATE(90)] = 7615, - [SMALL_STATE(91)] = 7698, - [SMALL_STATE(92)] = 7781, - [SMALL_STATE(93)] = 7864, - [SMALL_STATE(94)] = 7947, - [SMALL_STATE(95)] = 8030, - [SMALL_STATE(96)] = 8113, - [SMALL_STATE(97)] = 8196, - [SMALL_STATE(98)] = 8279, - [SMALL_STATE(99)] = 8362, - [SMALL_STATE(100)] = 8445, - [SMALL_STATE(101)] = 8528, - [SMALL_STATE(102)] = 8611, - [SMALL_STATE(103)] = 8665, - [SMALL_STATE(104)] = 8715, - [SMALL_STATE(105)] = 8771, - [SMALL_STATE(106)] = 8831, - [SMALL_STATE(107)] = 8893, - [SMALL_STATE(108)] = 8957, - [SMALL_STATE(109)] = 9007, - [SMALL_STATE(110)] = 9081, - [SMALL_STATE(111)] = 9131, - [SMALL_STATE(112)] = 9181, - [SMALL_STATE(113)] = 9231, - [SMALL_STATE(114)] = 9277, - [SMALL_STATE(115)] = 9327, - [SMALL_STATE(116)] = 9377, - [SMALL_STATE(117)] = 9418, - [SMALL_STATE(118)] = 9459, - [SMALL_STATE(119)] = 9500, - [SMALL_STATE(120)] = 9541, - [SMALL_STATE(121)] = 9582, - [SMALL_STATE(122)] = 9623, - [SMALL_STATE(123)] = 9664, - [SMALL_STATE(124)] = 9705, - [SMALL_STATE(125)] = 9746, - [SMALL_STATE(126)] = 9787, - [SMALL_STATE(127)] = 9828, - [SMALL_STATE(128)] = 9869, - [SMALL_STATE(129)] = 9910, - [SMALL_STATE(130)] = 9951, - [SMALL_STATE(131)] = 9992, - [SMALL_STATE(132)] = 10033, - [SMALL_STATE(133)] = 10074, - [SMALL_STATE(134)] = 10115, - [SMALL_STATE(135)] = 10156, - [SMALL_STATE(136)] = 10197, - [SMALL_STATE(137)] = 10238, - [SMALL_STATE(138)] = 10279, - [SMALL_STATE(139)] = 10320, - [SMALL_STATE(140)] = 10361, - [SMALL_STATE(141)] = 10402, - [SMALL_STATE(142)] = 10443, - [SMALL_STATE(143)] = 10484, - [SMALL_STATE(144)] = 10525, - [SMALL_STATE(145)] = 10566, - [SMALL_STATE(146)] = 10607, - [SMALL_STATE(147)] = 10648, - [SMALL_STATE(148)] = 10689, - [SMALL_STATE(149)] = 10732, - [SMALL_STATE(150)] = 10776, - [SMALL_STATE(151)] = 10834, - [SMALL_STATE(152)] = 10890, - [SMALL_STATE(153)] = 10944, - [SMALL_STATE(154)] = 10994, - [SMALL_STATE(155)] = 11038, - [SMALL_STATE(156)] = 11104, - [SMALL_STATE(157)] = 11152, - [SMALL_STATE(158)] = 11189, - [SMALL_STATE(159)] = 11226, - [SMALL_STATE(160)] = 11263, - [SMALL_STATE(161)] = 11300, - [SMALL_STATE(162)] = 11337, - [SMALL_STATE(163)] = 11374, - [SMALL_STATE(164)] = 11411, - [SMALL_STATE(165)] = 11448, - [SMALL_STATE(166)] = 11485, - [SMALL_STATE(167)] = 11522, - [SMALL_STATE(168)] = 11559, - [SMALL_STATE(169)] = 11596, - [SMALL_STATE(170)] = 11633, - [SMALL_STATE(171)] = 11670, - [SMALL_STATE(172)] = 11707, - [SMALL_STATE(173)] = 11744, - [SMALL_STATE(174)] = 11781, - [SMALL_STATE(175)] = 11818, - [SMALL_STATE(176)] = 11855, - [SMALL_STATE(177)] = 11892, - [SMALL_STATE(178)] = 11929, - [SMALL_STATE(179)] = 11966, - [SMALL_STATE(180)] = 12003, - [SMALL_STATE(181)] = 12040, - [SMALL_STATE(182)] = 12077, - [SMALL_STATE(183)] = 12114, - [SMALL_STATE(184)] = 12151, - [SMALL_STATE(185)] = 12188, - [SMALL_STATE(186)] = 12225, - [SMALL_STATE(187)] = 12262, - [SMALL_STATE(188)] = 12299, - [SMALL_STATE(189)] = 12336, - [SMALL_STATE(190)] = 12380, - [SMALL_STATE(191)] = 12424, - [SMALL_STATE(192)] = 12472, - [SMALL_STATE(193)] = 12516, - [SMALL_STATE(194)] = 12560, - [SMALL_STATE(195)] = 12602, - [SMALL_STATE(196)] = 12666, - [SMALL_STATE(197)] = 12710, - [SMALL_STATE(198)] = 12766, - [SMALL_STATE(199)] = 12820, - [SMALL_STATE(200)] = 12872, - [SMALL_STATE(201)] = 12918, - [SMALL_STATE(202)] = 12960, - [SMALL_STATE(203)] = 13002, - [SMALL_STATE(204)] = 13044, - [SMALL_STATE(205)] = 13086, - [SMALL_STATE(206)] = 13128, - [SMALL_STATE(207)] = 13170, - [SMALL_STATE(208)] = 13207, - [SMALL_STATE(209)] = 13238, - [SMALL_STATE(210)] = 13269, - [SMALL_STATE(211)] = 13300, - [SMALL_STATE(212)] = 13331, - [SMALL_STATE(213)] = 13362, - [SMALL_STATE(214)] = 13393, - [SMALL_STATE(215)] = 13424, - [SMALL_STATE(216)] = 13455, - [SMALL_STATE(217)] = 13486, - [SMALL_STATE(218)] = 13517, - [SMALL_STATE(219)] = 13548, - [SMALL_STATE(220)] = 13579, - [SMALL_STATE(221)] = 13610, - [SMALL_STATE(222)] = 13641, - [SMALL_STATE(223)] = 13672, - [SMALL_STATE(224)] = 13703, - [SMALL_STATE(225)] = 13734, - [SMALL_STATE(226)] = 13765, - [SMALL_STATE(227)] = 13796, - [SMALL_STATE(228)] = 13827, - [SMALL_STATE(229)] = 13858, - [SMALL_STATE(230)] = 13889, - [SMALL_STATE(231)] = 13920, - [SMALL_STATE(232)] = 13951, - [SMALL_STATE(233)] = 13982, - [SMALL_STATE(234)] = 14013, - [SMALL_STATE(235)] = 14044, - [SMALL_STATE(236)] = 14075, - [SMALL_STATE(237)] = 14106, - [SMALL_STATE(238)] = 14137, - [SMALL_STATE(239)] = 14168, - [SMALL_STATE(240)] = 14203, - [SMALL_STATE(241)] = 14234, - [SMALL_STATE(242)] = 14263, - [SMALL_STATE(243)] = 14292, - [SMALL_STATE(244)] = 14321, - [SMALL_STATE(245)] = 14350, - [SMALL_STATE(246)] = 14379, - [SMALL_STATE(247)] = 14408, - [SMALL_STATE(248)] = 14437, - [SMALL_STATE(249)] = 14466, - [SMALL_STATE(250)] = 14495, - [SMALL_STATE(251)] = 14524, - [SMALL_STATE(252)] = 14553, - [SMALL_STATE(253)] = 14582, - [SMALL_STATE(254)] = 14611, - [SMALL_STATE(255)] = 14640, - [SMALL_STATE(256)] = 14669, - [SMALL_STATE(257)] = 14698, - [SMALL_STATE(258)] = 14727, - [SMALL_STATE(259)] = 14756, - [SMALL_STATE(260)] = 14785, - [SMALL_STATE(261)] = 14814, - [SMALL_STATE(262)] = 14843, - [SMALL_STATE(263)] = 14872, - [SMALL_STATE(264)] = 14901, - [SMALL_STATE(265)] = 14930, - [SMALL_STATE(266)] = 14959, - [SMALL_STATE(267)] = 14988, - [SMALL_STATE(268)] = 15017, - [SMALL_STATE(269)] = 15046, - [SMALL_STATE(270)] = 15075, - [SMALL_STATE(271)] = 15104, - [SMALL_STATE(272)] = 15133, - [SMALL_STATE(273)] = 15162, - [SMALL_STATE(274)] = 15190, - [SMALL_STATE(275)] = 15216, - [SMALL_STATE(276)] = 15242, - [SMALL_STATE(277)] = 15267, - [SMALL_STATE(278)] = 15292, - [SMALL_STATE(279)] = 15317, - [SMALL_STATE(280)] = 15343, - [SMALL_STATE(281)] = 15367, - [SMALL_STATE(282)] = 15393, - [SMALL_STATE(283)] = 15416, - [SMALL_STATE(284)] = 15439, - [SMALL_STATE(285)] = 15459, - [SMALL_STATE(286)] = 15479, - [SMALL_STATE(287)] = 15503, - [SMALL_STATE(288)] = 15525, - [SMALL_STATE(289)] = 15547, - [SMALL_STATE(290)] = 15571, - [SMALL_STATE(291)] = 15593, - [SMALL_STATE(292)] = 15615, - [SMALL_STATE(293)] = 15637, - [SMALL_STATE(294)] = 15659, - [SMALL_STATE(295)] = 15681, - [SMALL_STATE(296)] = 15703, - [SMALL_STATE(297)] = 15725, - [SMALL_STATE(298)] = 15747, - [SMALL_STATE(299)] = 15771, - [SMALL_STATE(300)] = 15795, - [SMALL_STATE(301)] = 15817, - [SMALL_STATE(302)] = 15839, - [SMALL_STATE(303)] = 15863, - [SMALL_STATE(304)] = 15885, - [SMALL_STATE(305)] = 15907, - [SMALL_STATE(306)] = 15929, - [SMALL_STATE(307)] = 15951, - [SMALL_STATE(308)] = 15974, - [SMALL_STATE(309)] = 15991, - [SMALL_STATE(310)] = 16010, - [SMALL_STATE(311)] = 16033, - [SMALL_STATE(312)] = 16050, - [SMALL_STATE(313)] = 16073, - [SMALL_STATE(314)] = 16096, - [SMALL_STATE(315)] = 16119, - [SMALL_STATE(316)] = 16140, - [SMALL_STATE(317)] = 16158, - [SMALL_STATE(318)] = 16170, - [SMALL_STATE(319)] = 16190, - [SMALL_STATE(320)] = 16210, - [SMALL_STATE(321)] = 16222, - [SMALL_STATE(322)] = 16242, - [SMALL_STATE(323)] = 16256, - [SMALL_STATE(324)] = 16276, - [SMALL_STATE(325)] = 16296, - [SMALL_STATE(326)] = 16316, - [SMALL_STATE(327)] = 16333, - [SMALL_STATE(328)] = 16348, - [SMALL_STATE(329)] = 16363, - [SMALL_STATE(330)] = 16380, - [SMALL_STATE(331)] = 16397, - [SMALL_STATE(332)] = 16412, - [SMALL_STATE(333)] = 16425, - [SMALL_STATE(334)] = 16440, - [SMALL_STATE(335)] = 16457, - [SMALL_STATE(336)] = 16474, - [SMALL_STATE(337)] = 16484, - [SMALL_STATE(338)] = 16496, - [SMALL_STATE(339)] = 16506, - [SMALL_STATE(340)] = 16516, - [SMALL_STATE(341)] = 16530, - [SMALL_STATE(342)] = 16540, - [SMALL_STATE(343)] = 16550, - [SMALL_STATE(344)] = 16562, - [SMALL_STATE(345)] = 16572, - [SMALL_STATE(346)] = 16584, - [SMALL_STATE(347)] = 16594, - [SMALL_STATE(348)] = 16608, - [SMALL_STATE(349)] = 16622, - [SMALL_STATE(350)] = 16634, - [SMALL_STATE(351)] = 16648, - [SMALL_STATE(352)] = 16658, - [SMALL_STATE(353)] = 16668, - [SMALL_STATE(354)] = 16678, - [SMALL_STATE(355)] = 16692, - [SMALL_STATE(356)] = 16702, - [SMALL_STATE(357)] = 16716, - [SMALL_STATE(358)] = 16728, - [SMALL_STATE(359)] = 16738, - [SMALL_STATE(360)] = 16748, - [SMALL_STATE(361)] = 16758, - [SMALL_STATE(362)] = 16768, - [SMALL_STATE(363)] = 16782, - [SMALL_STATE(364)] = 16794, - [SMALL_STATE(365)] = 16805, - [SMALL_STATE(366)] = 16816, - [SMALL_STATE(367)] = 16827, - [SMALL_STATE(368)] = 16838, - [SMALL_STATE(369)] = 16849, - [SMALL_STATE(370)] = 16860, - [SMALL_STATE(371)] = 16871, - [SMALL_STATE(372)] = 16882, - [SMALL_STATE(373)] = 16893, - [SMALL_STATE(374)] = 16904, - [SMALL_STATE(375)] = 16915, - [SMALL_STATE(376)] = 16926, - [SMALL_STATE(377)] = 16937, - [SMALL_STATE(378)] = 16948, - [SMALL_STATE(379)] = 16959, - [SMALL_STATE(380)] = 16970, - [SMALL_STATE(381)] = 16981, - [SMALL_STATE(382)] = 16992, - [SMALL_STATE(383)] = 17003, - [SMALL_STATE(384)] = 17012, - [SMALL_STATE(385)] = 17023, - [SMALL_STATE(386)] = 17034, - [SMALL_STATE(387)] = 17045, - [SMALL_STATE(388)] = 17056, - [SMALL_STATE(389)] = 17067, - [SMALL_STATE(390)] = 17078, - [SMALL_STATE(391)] = 17089, - [SMALL_STATE(392)] = 17100, - [SMALL_STATE(393)] = 17111, - [SMALL_STATE(394)] = 17122, - [SMALL_STATE(395)] = 17133, - [SMALL_STATE(396)] = 17144, - [SMALL_STATE(397)] = 17155, - [SMALL_STATE(398)] = 17166, - [SMALL_STATE(399)] = 17177, - [SMALL_STATE(400)] = 17188, - [SMALL_STATE(401)] = 17199, - [SMALL_STATE(402)] = 17210, - [SMALL_STATE(403)] = 17221, - [SMALL_STATE(404)] = 17232, - [SMALL_STATE(405)] = 17243, - [SMALL_STATE(406)] = 17254, - [SMALL_STATE(407)] = 17265, - [SMALL_STATE(408)] = 17276, - [SMALL_STATE(409)] = 17287, - [SMALL_STATE(410)] = 17298, - [SMALL_STATE(411)] = 17309, - [SMALL_STATE(412)] = 17320, - [SMALL_STATE(413)] = 17331, - [SMALL_STATE(414)] = 17342, - [SMALL_STATE(415)] = 17350, - [SMALL_STATE(416)] = 17358, - [SMALL_STATE(417)] = 17366, - [SMALL_STATE(418)] = 17374, - [SMALL_STATE(419)] = 17382, - [SMALL_STATE(420)] = 17390, - [SMALL_STATE(421)] = 17398, - [SMALL_STATE(422)] = 17406, - [SMALL_STATE(423)] = 17414, - [SMALL_STATE(424)] = 17422, - [SMALL_STATE(425)] = 17430, - [SMALL_STATE(426)] = 17438, - [SMALL_STATE(427)] = 17446, - [SMALL_STATE(428)] = 17454, - [SMALL_STATE(429)] = 17462, - [SMALL_STATE(430)] = 17470, + [SMALL_STATE(7)] = 535, + [SMALL_STATE(8)] = 639, + [SMALL_STATE(9)] = 743, + [SMALL_STATE(10)] = 845, + [SMALL_STATE(11)] = 947, + [SMALL_STATE(12)] = 1051, + [SMALL_STATE(13)] = 1153, + [SMALL_STATE(14)] = 1257, + [SMALL_STATE(15)] = 1361, + [SMALL_STATE(16)] = 1462, + [SMALL_STATE(17)] = 1560, + [SMALL_STATE(18)] = 1658, + [SMALL_STATE(19)] = 1756, + [SMALL_STATE(20)] = 1854, + [SMALL_STATE(21)] = 1952, + [SMALL_STATE(22)] = 2047, + [SMALL_STATE(23)] = 2142, + [SMALL_STATE(24)] = 2237, + [SMALL_STATE(25)] = 2332, + [SMALL_STATE(26)] = 2427, + [SMALL_STATE(27)] = 2522, + [SMALL_STATE(28)] = 2617, + [SMALL_STATE(29)] = 2712, + [SMALL_STATE(30)] = 2766, + [SMALL_STATE(31)] = 2834, + [SMALL_STATE(32)] = 2926, + [SMALL_STATE(33)] = 3018, + [SMALL_STATE(34)] = 3096, + [SMALL_STATE(35)] = 3188, + [SMALL_STATE(36)] = 3246, + [SMALL_STATE(37)] = 3300, + [SMALL_STATE(38)] = 3360, + [SMALL_STATE(39)] = 3424, + [SMALL_STATE(40)] = 3490, + [SMALL_STATE(41)] = 3579, + [SMALL_STATE(42)] = 3668, + [SMALL_STATE(43)] = 3757, + [SMALL_STATE(44)] = 3846, + [SMALL_STATE(45)] = 3935, + [SMALL_STATE(46)] = 4024, + [SMALL_STATE(47)] = 4113, + [SMALL_STATE(48)] = 4202, + [SMALL_STATE(49)] = 4291, + [SMALL_STATE(50)] = 4380, + [SMALL_STATE(51)] = 4469, + [SMALL_STATE(52)] = 4558, + [SMALL_STATE(53)] = 4647, + [SMALL_STATE(54)] = 4736, + [SMALL_STATE(55)] = 4825, + [SMALL_STATE(56)] = 4914, + [SMALL_STATE(57)] = 5003, + [SMALL_STATE(58)] = 5092, + [SMALL_STATE(59)] = 5181, + [SMALL_STATE(60)] = 5270, + [SMALL_STATE(61)] = 5359, + [SMALL_STATE(62)] = 5448, + [SMALL_STATE(63)] = 5537, + [SMALL_STATE(64)] = 5626, + [SMALL_STATE(65)] = 5715, + [SMALL_STATE(66)] = 5804, + [SMALL_STATE(67)] = 5893, + [SMALL_STATE(68)] = 5982, + [SMALL_STATE(69)] = 6071, + [SMALL_STATE(70)] = 6160, + [SMALL_STATE(71)] = 6249, + [SMALL_STATE(72)] = 6338, + [SMALL_STATE(73)] = 6427, + [SMALL_STATE(74)] = 6516, + [SMALL_STATE(75)] = 6605, + [SMALL_STATE(76)] = 6694, + [SMALL_STATE(77)] = 6783, + [SMALL_STATE(78)] = 6872, + [SMALL_STATE(79)] = 6961, + [SMALL_STATE(80)] = 7050, + [SMALL_STATE(81)] = 7139, + [SMALL_STATE(82)] = 7228, + [SMALL_STATE(83)] = 7317, + [SMALL_STATE(84)] = 7406, + [SMALL_STATE(85)] = 7495, + [SMALL_STATE(86)] = 7549, + [SMALL_STATE(87)] = 7603, + [SMALL_STATE(88)] = 7657, + [SMALL_STATE(89)] = 7711, + [SMALL_STATE(90)] = 7765, + [SMALL_STATE(91)] = 7848, + [SMALL_STATE(92)] = 7931, + [SMALL_STATE(93)] = 8014, + [SMALL_STATE(94)] = 8097, + [SMALL_STATE(95)] = 8180, + [SMALL_STATE(96)] = 8263, + [SMALL_STATE(97)] = 8346, + [SMALL_STATE(98)] = 8429, + [SMALL_STATE(99)] = 8512, + [SMALL_STATE(100)] = 8595, + [SMALL_STATE(101)] = 8678, + [SMALL_STATE(102)] = 8761, + [SMALL_STATE(103)] = 8844, + [SMALL_STATE(104)] = 8927, + [SMALL_STATE(105)] = 9010, + [SMALL_STATE(106)] = 9093, + [SMALL_STATE(107)] = 9176, + [SMALL_STATE(108)] = 9259, + [SMALL_STATE(109)] = 9342, + [SMALL_STATE(110)] = 9425, + [SMALL_STATE(111)] = 9508, + [SMALL_STATE(112)] = 9591, + [SMALL_STATE(113)] = 9674, + [SMALL_STATE(114)] = 9757, + [SMALL_STATE(115)] = 9840, + [SMALL_STATE(116)] = 9923, + [SMALL_STATE(117)] = 10006, + [SMALL_STATE(118)] = 10089, + [SMALL_STATE(119)] = 10172, + [SMALL_STATE(120)] = 10255, + [SMALL_STATE(121)] = 10338, + [SMALL_STATE(122)] = 10421, + [SMALL_STATE(123)] = 10504, + [SMALL_STATE(124)] = 10587, + [SMALL_STATE(125)] = 10670, + [SMALL_STATE(126)] = 10744, + [SMALL_STATE(127)] = 10808, + [SMALL_STATE(128)] = 10870, + [SMALL_STATE(129)] = 10930, + [SMALL_STATE(130)] = 10986, + [SMALL_STATE(131)] = 11036, + [SMALL_STATE(132)] = 11090, + [SMALL_STATE(133)] = 11140, + [SMALL_STATE(134)] = 11190, + [SMALL_STATE(135)] = 11240, + [SMALL_STATE(136)] = 11290, + [SMALL_STATE(137)] = 11340, + [SMALL_STATE(138)] = 11386, + [SMALL_STATE(139)] = 11436, + [SMALL_STATE(140)] = 11477, + [SMALL_STATE(141)] = 11518, + [SMALL_STATE(142)] = 11559, + [SMALL_STATE(143)] = 11600, + [SMALL_STATE(144)] = 11641, + [SMALL_STATE(145)] = 11682, + [SMALL_STATE(146)] = 11723, + [SMALL_STATE(147)] = 11764, + [SMALL_STATE(148)] = 11805, + [SMALL_STATE(149)] = 11846, + [SMALL_STATE(150)] = 11887, + [SMALL_STATE(151)] = 11928, + [SMALL_STATE(152)] = 11969, + [SMALL_STATE(153)] = 12010, + [SMALL_STATE(154)] = 12051, + [SMALL_STATE(155)] = 12092, + [SMALL_STATE(156)] = 12133, + [SMALL_STATE(157)] = 12174, + [SMALL_STATE(158)] = 12215, + [SMALL_STATE(159)] = 12256, + [SMALL_STATE(160)] = 12297, + [SMALL_STATE(161)] = 12338, + [SMALL_STATE(162)] = 12379, + [SMALL_STATE(163)] = 12420, + [SMALL_STATE(164)] = 12461, + [SMALL_STATE(165)] = 12502, + [SMALL_STATE(166)] = 12543, + [SMALL_STATE(167)] = 12584, + [SMALL_STATE(168)] = 12625, + [SMALL_STATE(169)] = 12666, + [SMALL_STATE(170)] = 12707, + [SMALL_STATE(171)] = 12748, + [SMALL_STATE(172)] = 12791, + [SMALL_STATE(173)] = 12845, + [SMALL_STATE(174)] = 12895, + [SMALL_STATE(175)] = 12961, + [SMALL_STATE(176)] = 13005, + [SMALL_STATE(177)] = 13053, + [SMALL_STATE(178)] = 13109, + [SMALL_STATE(179)] = 13153, + [SMALL_STATE(180)] = 13211, + [SMALL_STATE(181)] = 13248, + [SMALL_STATE(182)] = 13285, + [SMALL_STATE(183)] = 13322, + [SMALL_STATE(184)] = 13359, + [SMALL_STATE(185)] = 13396, + [SMALL_STATE(186)] = 13433, + [SMALL_STATE(187)] = 13470, + [SMALL_STATE(188)] = 13507, + [SMALL_STATE(189)] = 13544, + [SMALL_STATE(190)] = 13581, + [SMALL_STATE(191)] = 13618, + [SMALL_STATE(192)] = 13655, + [SMALL_STATE(193)] = 13692, + [SMALL_STATE(194)] = 13729, + [SMALL_STATE(195)] = 13766, + [SMALL_STATE(196)] = 13803, + [SMALL_STATE(197)] = 13840, + [SMALL_STATE(198)] = 13877, + [SMALL_STATE(199)] = 13914, + [SMALL_STATE(200)] = 13951, + [SMALL_STATE(201)] = 13988, + [SMALL_STATE(202)] = 14025, + [SMALL_STATE(203)] = 14062, + [SMALL_STATE(204)] = 14099, + [SMALL_STATE(205)] = 14136, + [SMALL_STATE(206)] = 14173, + [SMALL_STATE(207)] = 14210, + [SMALL_STATE(208)] = 14247, + [SMALL_STATE(209)] = 14284, + [SMALL_STATE(210)] = 14321, + [SMALL_STATE(211)] = 14358, + [SMALL_STATE(212)] = 14395, + [SMALL_STATE(213)] = 14447, + [SMALL_STATE(214)] = 14489, + [SMALL_STATE(215)] = 14541, + [SMALL_STATE(216)] = 14585, + [SMALL_STATE(217)] = 14627, + [SMALL_STATE(218)] = 14669, + [SMALL_STATE(219)] = 14723, + [SMALL_STATE(220)] = 14769, + [SMALL_STATE(221)] = 14813, + [SMALL_STATE(222)] = 14857, + [SMALL_STATE(223)] = 14921, + [SMALL_STATE(224)] = 14963, + [SMALL_STATE(225)] = 15019, + [SMALL_STATE(226)] = 15083, + [SMALL_STATE(227)] = 15131, + [SMALL_STATE(228)] = 15187, + [SMALL_STATE(229)] = 15233, + [SMALL_STATE(230)] = 15287, + [SMALL_STATE(231)] = 15331, + [SMALL_STATE(232)] = 15375, + [SMALL_STATE(233)] = 15423, + [SMALL_STATE(234)] = 15465, + [SMALL_STATE(235)] = 15507, + [SMALL_STATE(236)] = 15549, + [SMALL_STATE(237)] = 15591, + [SMALL_STATE(238)] = 15633, + [SMALL_STATE(239)] = 15675, + [SMALL_STATE(240)] = 15717, + [SMALL_STATE(241)] = 15759, + [SMALL_STATE(242)] = 15801, + [SMALL_STATE(243)] = 15843, + [SMALL_STATE(244)] = 15880, + [SMALL_STATE(245)] = 15911, + [SMALL_STATE(246)] = 15946, + [SMALL_STATE(247)] = 15981, + [SMALL_STATE(248)] = 16012, + [SMALL_STATE(249)] = 16043, + [SMALL_STATE(250)] = 16074, + [SMALL_STATE(251)] = 16105, + [SMALL_STATE(252)] = 16136, + [SMALL_STATE(253)] = 16167, + [SMALL_STATE(254)] = 16198, + [SMALL_STATE(255)] = 16229, + [SMALL_STATE(256)] = 16260, + [SMALL_STATE(257)] = 16291, + [SMALL_STATE(258)] = 16322, + [SMALL_STATE(259)] = 16353, + [SMALL_STATE(260)] = 16384, + [SMALL_STATE(261)] = 16415, + [SMALL_STATE(262)] = 16446, + [SMALL_STATE(263)] = 16477, + [SMALL_STATE(264)] = 16508, + [SMALL_STATE(265)] = 16539, + [SMALL_STATE(266)] = 16570, + [SMALL_STATE(267)] = 16601, + [SMALL_STATE(268)] = 16632, + [SMALL_STATE(269)] = 16663, + [SMALL_STATE(270)] = 16694, + [SMALL_STATE(271)] = 16725, + [SMALL_STATE(272)] = 16756, + [SMALL_STATE(273)] = 16787, + [SMALL_STATE(274)] = 16818, + [SMALL_STATE(275)] = 16849, + [SMALL_STATE(276)] = 16880, + [SMALL_STATE(277)] = 16911, + [SMALL_STATE(278)] = 16942, + [SMALL_STATE(279)] = 16971, + [SMALL_STATE(280)] = 17000, + [SMALL_STATE(281)] = 17029, + [SMALL_STATE(282)] = 17058, + [SMALL_STATE(283)] = 17087, + [SMALL_STATE(284)] = 17116, + [SMALL_STATE(285)] = 17145, + [SMALL_STATE(286)] = 17174, + [SMALL_STATE(287)] = 17203, + [SMALL_STATE(288)] = 17232, + [SMALL_STATE(289)] = 17261, + [SMALL_STATE(290)] = 17290, + [SMALL_STATE(291)] = 17319, + [SMALL_STATE(292)] = 17348, + [SMALL_STATE(293)] = 17377, + [SMALL_STATE(294)] = 17406, + [SMALL_STATE(295)] = 17435, + [SMALL_STATE(296)] = 17464, + [SMALL_STATE(297)] = 17493, + [SMALL_STATE(298)] = 17522, + [SMALL_STATE(299)] = 17551, + [SMALL_STATE(300)] = 17580, + [SMALL_STATE(301)] = 17609, + [SMALL_STATE(302)] = 17638, + [SMALL_STATE(303)] = 17667, + [SMALL_STATE(304)] = 17696, + [SMALL_STATE(305)] = 17725, + [SMALL_STATE(306)] = 17754, + [SMALL_STATE(307)] = 17783, + [SMALL_STATE(308)] = 17812, + [SMALL_STATE(309)] = 17841, + [SMALL_STATE(310)] = 17870, + [SMALL_STATE(311)] = 17899, + [SMALL_STATE(312)] = 17928, + [SMALL_STATE(313)] = 17957, + [SMALL_STATE(314)] = 17986, + [SMALL_STATE(315)] = 18015, + [SMALL_STATE(316)] = 18044, + [SMALL_STATE(317)] = 18073, + [SMALL_STATE(318)] = 18102, + [SMALL_STATE(319)] = 18131, + [SMALL_STATE(320)] = 18160, + [SMALL_STATE(321)] = 18189, + [SMALL_STATE(322)] = 18218, + [SMALL_STATE(323)] = 18247, + [SMALL_STATE(324)] = 18276, + [SMALL_STATE(325)] = 18305, + [SMALL_STATE(326)] = 18334, + [SMALL_STATE(327)] = 18363, + [SMALL_STATE(328)] = 18392, + [SMALL_STATE(329)] = 18421, + [SMALL_STATE(330)] = 18450, + [SMALL_STATE(331)] = 18479, + [SMALL_STATE(332)] = 18508, + [SMALL_STATE(333)] = 18537, + [SMALL_STATE(334)] = 18566, + [SMALL_STATE(335)] = 18595, + [SMALL_STATE(336)] = 18624, + [SMALL_STATE(337)] = 18653, + [SMALL_STATE(338)] = 18682, + [SMALL_STATE(339)] = 18711, + [SMALL_STATE(340)] = 18740, + [SMALL_STATE(341)] = 18769, + [SMALL_STATE(342)] = 18798, + [SMALL_STATE(343)] = 18824, + [SMALL_STATE(344)] = 18852, + [SMALL_STATE(345)] = 18878, + [SMALL_STATE(346)] = 18903, + [SMALL_STATE(347)] = 18928, + [SMALL_STATE(348)] = 18953, + [SMALL_STATE(349)] = 18979, + [SMALL_STATE(350)] = 19005, + [SMALL_STATE(351)] = 19029, + [SMALL_STATE(352)] = 19052, + [SMALL_STATE(353)] = 19075, + [SMALL_STATE(354)] = 19112, + [SMALL_STATE(355)] = 19147, + [SMALL_STATE(356)] = 19182, + [SMALL_STATE(357)] = 19219, + [SMALL_STATE(358)] = 19256, + [SMALL_STATE(359)] = 19291, + [SMALL_STATE(360)] = 19326, + [SMALL_STATE(361)] = 19363, + [SMALL_STATE(362)] = 19398, + [SMALL_STATE(363)] = 19433, + [SMALL_STATE(364)] = 19468, + [SMALL_STATE(365)] = 19503, + [SMALL_STATE(366)] = 19540, + [SMALL_STATE(367)] = 19572, + [SMALL_STATE(368)] = 19592, + [SMALL_STATE(369)] = 19612, + [SMALL_STATE(370)] = 19644, + [SMALL_STATE(371)] = 19676, + [SMALL_STATE(372)] = 19708, + [SMALL_STATE(373)] = 19737, + [SMALL_STATE(374)] = 19766, + [SMALL_STATE(375)] = 19788, + [SMALL_STATE(376)] = 19810, + [SMALL_STATE(377)] = 19834, + [SMALL_STATE(378)] = 19853, + [SMALL_STATE(379)] = 19876, + [SMALL_STATE(380)] = 19899, + [SMALL_STATE(381)] = 19922, + [SMALL_STATE(382)] = 19939, + [SMALL_STATE(383)] = 19960, + [SMALL_STATE(384)] = 19983, + [SMALL_STATE(385)] = 20006, + [SMALL_STATE(386)] = 20029, + [SMALL_STATE(387)] = 20046, + [SMALL_STATE(388)] = 20062, + [SMALL_STATE(389)] = 20082, + [SMALL_STATE(390)] = 20098, + [SMALL_STATE(391)] = 20118, + [SMALL_STATE(392)] = 20134, + [SMALL_STATE(393)] = 20146, + [SMALL_STATE(394)] = 20160, + [SMALL_STATE(395)] = 20180, + [SMALL_STATE(396)] = 20198, + [SMALL_STATE(397)] = 20218, + [SMALL_STATE(398)] = 20230, + [SMALL_STATE(399)] = 20246, + [SMALL_STATE(400)] = 20266, + [SMALL_STATE(401)] = 20286, + [SMALL_STATE(402)] = 20306, + [SMALL_STATE(403)] = 20321, + [SMALL_STATE(404)] = 20334, + [SMALL_STATE(405)] = 20345, + [SMALL_STATE(406)] = 20356, + [SMALL_STATE(407)] = 20373, + [SMALL_STATE(408)] = 20390, + [SMALL_STATE(409)] = 20401, + [SMALL_STATE(410)] = 20412, + [SMALL_STATE(411)] = 20423, + [SMALL_STATE(412)] = 20434, + [SMALL_STATE(413)] = 20445, + [SMALL_STATE(414)] = 20456, + [SMALL_STATE(415)] = 20467, + [SMALL_STATE(416)] = 20478, + [SMALL_STATE(417)] = 20493, + [SMALL_STATE(418)] = 20506, + [SMALL_STATE(419)] = 20517, + [SMALL_STATE(420)] = 20528, + [SMALL_STATE(421)] = 20539, + [SMALL_STATE(422)] = 20552, + [SMALL_STATE(423)] = 20565, + [SMALL_STATE(424)] = 20582, + [SMALL_STATE(425)] = 20599, + [SMALL_STATE(426)] = 20612, + [SMALL_STATE(427)] = 20629, + [SMALL_STATE(428)] = 20640, + [SMALL_STATE(429)] = 20651, + [SMALL_STATE(430)] = 20662, + [SMALL_STATE(431)] = 20673, + [SMALL_STATE(432)] = 20686, + [SMALL_STATE(433)] = 20697, + [SMALL_STATE(434)] = 20708, + [SMALL_STATE(435)] = 20719, + [SMALL_STATE(436)] = 20736, + [SMALL_STATE(437)] = 20746, + [SMALL_STATE(438)] = 20756, + [SMALL_STATE(439)] = 20766, + [SMALL_STATE(440)] = 20776, + [SMALL_STATE(441)] = 20790, + [SMALL_STATE(442)] = 20800, + [SMALL_STATE(443)] = 20814, + [SMALL_STATE(444)] = 20824, + [SMALL_STATE(445)] = 20838, + [SMALL_STATE(446)] = 20852, + [SMALL_STATE(447)] = 20862, + [SMALL_STATE(448)] = 20876, + [SMALL_STATE(449)] = 20886, + [SMALL_STATE(450)] = 20896, + [SMALL_STATE(451)] = 20906, + [SMALL_STATE(452)] = 20920, + [SMALL_STATE(453)] = 20930, + [SMALL_STATE(454)] = 20944, + [SMALL_STATE(455)] = 20958, + [SMALL_STATE(456)] = 20968, + [SMALL_STATE(457)] = 20978, + [SMALL_STATE(458)] = 20988, + [SMALL_STATE(459)] = 20998, + [SMALL_STATE(460)] = 21008, + [SMALL_STATE(461)] = 21022, + [SMALL_STATE(462)] = 21032, + [SMALL_STATE(463)] = 21042, + [SMALL_STATE(464)] = 21056, + [SMALL_STATE(465)] = 21070, + [SMALL_STATE(466)] = 21084, + [SMALL_STATE(467)] = 21094, + [SMALL_STATE(468)] = 21104, + [SMALL_STATE(469)] = 21116, + [SMALL_STATE(470)] = 21126, + [SMALL_STATE(471)] = 21136, + [SMALL_STATE(472)] = 21150, + [SMALL_STATE(473)] = 21160, + [SMALL_STATE(474)] = 21172, + [SMALL_STATE(475)] = 21186, + [SMALL_STATE(476)] = 21196, + [SMALL_STATE(477)] = 21210, + [SMALL_STATE(478)] = 21224, + [SMALL_STATE(479)] = 21235, + [SMALL_STATE(480)] = 21246, + [SMALL_STATE(481)] = 21257, + [SMALL_STATE(482)] = 21268, + [SMALL_STATE(483)] = 21279, + [SMALL_STATE(484)] = 21290, + [SMALL_STATE(485)] = 21301, + [SMALL_STATE(486)] = 21310, + [SMALL_STATE(487)] = 21321, + [SMALL_STATE(488)] = 21332, + [SMALL_STATE(489)] = 21343, + [SMALL_STATE(490)] = 21354, + [SMALL_STATE(491)] = 21365, + [SMALL_STATE(492)] = 21376, + [SMALL_STATE(493)] = 21387, + [SMALL_STATE(494)] = 21398, + [SMALL_STATE(495)] = 21409, + [SMALL_STATE(496)] = 21420, + [SMALL_STATE(497)] = 21431, + [SMALL_STATE(498)] = 21442, + [SMALL_STATE(499)] = 21453, + [SMALL_STATE(500)] = 21464, + [SMALL_STATE(501)] = 21475, + [SMALL_STATE(502)] = 21486, + [SMALL_STATE(503)] = 21497, + [SMALL_STATE(504)] = 21508, + [SMALL_STATE(505)] = 21519, + [SMALL_STATE(506)] = 21530, + [SMALL_STATE(507)] = 21541, + [SMALL_STATE(508)] = 21552, + [SMALL_STATE(509)] = 21563, + [SMALL_STATE(510)] = 21574, + [SMALL_STATE(511)] = 21585, + [SMALL_STATE(512)] = 21596, + [SMALL_STATE(513)] = 21607, + [SMALL_STATE(514)] = 21618, + [SMALL_STATE(515)] = 21629, + [SMALL_STATE(516)] = 21640, + [SMALL_STATE(517)] = 21651, + [SMALL_STATE(518)] = 21662, + [SMALL_STATE(519)] = 21673, + [SMALL_STATE(520)] = 21684, + [SMALL_STATE(521)] = 21695, + [SMALL_STATE(522)] = 21706, + [SMALL_STATE(523)] = 21717, + [SMALL_STATE(524)] = 21728, + [SMALL_STATE(525)] = 21739, + [SMALL_STATE(526)] = 21750, + [SMALL_STATE(527)] = 21761, + [SMALL_STATE(528)] = 21772, + [SMALL_STATE(529)] = 21783, + [SMALL_STATE(530)] = 21794, + [SMALL_STATE(531)] = 21805, + [SMALL_STATE(532)] = 21816, + [SMALL_STATE(533)] = 21827, + [SMALL_STATE(534)] = 21838, + [SMALL_STATE(535)] = 21849, + [SMALL_STATE(536)] = 21860, + [SMALL_STATE(537)] = 21871, + [SMALL_STATE(538)] = 21882, + [SMALL_STATE(539)] = 21893, + [SMALL_STATE(540)] = 21904, + [SMALL_STATE(541)] = 21915, + [SMALL_STATE(542)] = 21926, + [SMALL_STATE(543)] = 21937, + [SMALL_STATE(544)] = 21948, + [SMALL_STATE(545)] = 21959, + [SMALL_STATE(546)] = 21970, + [SMALL_STATE(547)] = 21981, + [SMALL_STATE(548)] = 21992, + [SMALL_STATE(549)] = 22003, + [SMALL_STATE(550)] = 22014, + [SMALL_STATE(551)] = 22025, + [SMALL_STATE(552)] = 22036, + [SMALL_STATE(553)] = 22047, + [SMALL_STATE(554)] = 22058, + [SMALL_STATE(555)] = 22069, + [SMALL_STATE(556)] = 22080, + [SMALL_STATE(557)] = 22091, + [SMALL_STATE(558)] = 22099, + [SMALL_STATE(559)] = 22107, + [SMALL_STATE(560)] = 22115, + [SMALL_STATE(561)] = 22123, + [SMALL_STATE(562)] = 22131, + [SMALL_STATE(563)] = 22139, + [SMALL_STATE(564)] = 22147, + [SMALL_STATE(565)] = 22155, + [SMALL_STATE(566)] = 22163, + [SMALL_STATE(567)] = 22171, + [SMALL_STATE(568)] = 22179, + [SMALL_STATE(569)] = 22187, + [SMALL_STATE(570)] = 22195, + [SMALL_STATE(571)] = 22203, + [SMALL_STATE(572)] = 22211, + [SMALL_STATE(573)] = 22219, + [SMALL_STATE(574)] = 22227, + [SMALL_STATE(575)] = 22235, + [SMALL_STATE(576)] = 22243, + [SMALL_STATE(577)] = 22251, + [SMALL_STATE(578)] = 22259, + [SMALL_STATE(579)] = 22267, + [SMALL_STATE(580)] = 22275, + [SMALL_STATE(581)] = 22283, + [SMALL_STATE(582)] = 22291, + [SMALL_STATE(583)] = 22299, + [SMALL_STATE(584)] = 22307, + [SMALL_STATE(585)] = 22315, + [SMALL_STATE(586)] = 22323, + [SMALL_STATE(587)] = 22331, + [SMALL_STATE(588)] = 22339, + [SMALL_STATE(589)] = 22347, + [SMALL_STATE(590)] = 22355, + [SMALL_STATE(591)] = 22363, + [SMALL_STATE(592)] = 22371, + [SMALL_STATE(593)] = 22379, + [SMALL_STATE(594)] = 22387, + [SMALL_STATE(595)] = 22395, + [SMALL_STATE(596)] = 22403, + [SMALL_STATE(597)] = 22411, + [SMALL_STATE(598)] = 22419, + [SMALL_STATE(599)] = 22427, + [SMALL_STATE(600)] = 22435, + [SMALL_STATE(601)] = 22443, + [SMALL_STATE(602)] = 22451, + [SMALL_STATE(603)] = 22459, + [SMALL_STATE(604)] = 22467, + [SMALL_STATE(605)] = 22475, + [SMALL_STATE(606)] = 22483, }; static const TSParseActionEntry ts_parse_actions[] = { @@ -25384,376 +29721,499 @@ static const TSParseActionEntry ts_parse_actions[] = { [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_config_file, 0), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(280), - [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(302), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), - [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(148), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(165), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), - [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(168), - [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(170), - [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276), - [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(426), - [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), - [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(415), - [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(415), - [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(289), - [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184), - [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), - [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244), - [45] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), - [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211), - [49] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__object_elems, 2), - [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [53] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__object_elems, 1), - [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(263), - [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), - [61] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__object_elems_repeat1, 2), SHIFT_REPEAT(278), - [64] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__object_elems_repeat1, 2), - [66] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__object_elems_repeat1, 2), SHIFT_REPEAT(148), - [69] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__object_elems_repeat1, 2), SHIFT_REPEAT(48), - [72] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__object_elems_repeat1, 2), SHIFT_REPEAT(165), - [75] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__object_elems_repeat1, 2), SHIFT_REPEAT(165), - [78] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__object_elems_repeat1, 2), SHIFT_REPEAT(168), - [81] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__object_elems_repeat1, 2), SHIFT_REPEAT(170), - [84] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__object_elems_repeat1, 2), SHIFT_REPEAT(32), - [87] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__object_elems_repeat1, 2), SHIFT_REPEAT(276), - [90] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__object_elems_repeat1, 2), SHIFT_REPEAT(92), - [93] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__object_elems_repeat1, 2), SHIFT_REPEAT(415), - [96] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__object_elems_repeat1, 2), SHIFT_REPEAT(415), - [99] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__object_elems_repeat1, 2), SHIFT_REPEAT(289), - [102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213), - [104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), - [106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), - [108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(272), - [110] = {.entry = {.count = 1, .reusable = false}}, SHIFT(239), - [112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [114] = {.entry = {.count = 1, .reusable = false}}, SHIFT(258), - [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258), - [118] = {.entry = {.count = 1, .reusable = false}}, SHIFT(245), - [120] = {.entry = {.count = 1, .reusable = false}}, SHIFT(247), - [122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), - [124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(417), - [126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286), - [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(341), - [130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__object_elems, 3), - [132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(351), - [136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(344), - [140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(423), - [142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(342), - [144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), - [146] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1), - [148] = {.entry = {.count = 1, .reusable = false}}, SHIFT(59), - [150] = {.entry = {.count = 1, .reusable = false}}, SHIFT(393), - [152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), - [154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), - [156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), - [160] = {.entry = {.count = 1, .reusable = false}}, SHIFT(84), - [162] = {.entry = {.count = 1, .reusable = false}}, SHIFT(75), - [164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), - [166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), - [168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), - [170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tuple_elems, 3), - [174] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_operation, 3), - [176] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_operation, 3), - [178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_operation, 2), - [180] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_operation, 2), - [182] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tuple_elems, 2), - [184] = {.entry = {.count = 1, .reusable = false}}, SHIFT(207), - [186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), - [188] = {.entry = {.count = 1, .reusable = false}}, SHIFT(240), - [190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240), - [192] = {.entry = {.count = 1, .reusable = false}}, SHIFT(210), - [194] = {.entry = {.count = 1, .reusable = false}}, SHIFT(232), - [196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), - [198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(298), - [200] = {.entry = {.count = 1, .reusable = false}}, SHIFT(113), - [202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [204] = {.entry = {.count = 1, .reusable = false}}, SHIFT(136), - [206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), - [208] = {.entry = {.count = 1, .reusable = false}}, SHIFT(135), - [210] = {.entry = {.count = 1, .reusable = false}}, SHIFT(133), - [212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), - [214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(299), - [216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attr_splat_repeat1, 2), - [218] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_attr_splat_repeat1, 2), - [220] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attr_splat_repeat1, 2), SHIFT_REPEAT(59), - [223] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attr_splat_repeat1, 2), SHIFT_REPEAT(393), - [226] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_full_splat, 1), - [228] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_full_splat, 1), - [230] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attr_splat, 1), - [232] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attr_splat, 1), - [234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attr_splat, 2), - [236] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attr_splat, 2), - [238] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_full_splat, 2), - [240] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_full_splat, 2), - [242] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), - [244] = {.entry = {.count = 1, .reusable = false}}, SHIFT(81), - [246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), - [248] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93), - [250] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), - [252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), - [254] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), - [256] = {.entry = {.count = 1, .reusable = false}}, SHIFT(36), - [258] = {.entry = {.count = 1, .reusable = false}}, SHIFT(373), - [260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), - [262] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), - [264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), - [266] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_expr, 1), - [268] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_expr, 1), - [270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [272] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attr_splat_repeat1, 2), SHIFT_REPEAT(36), - [275] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attr_splat_repeat1, 2), SHIFT_REPEAT(373), - [278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 2), - [280] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 2), - [282] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_expr, 1), - [284] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_expr, 1), - [286] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_lit, 3), - [288] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_lit, 3), - [290] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3), - [292] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3), - [294] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr_term, 3), - [296] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr_term, 3), - [298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_get_attr, 2), - [300] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_get_attr, 2), - [302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_legacy_index, 2), - [304] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_legacy_index, 2), - [306] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 3), - [308] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 3), - [310] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_heredoc_template, 3), - [312] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_heredoc_template, 3), - [314] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 3), - [316] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 3), - [318] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_collection_value, 1), - [320] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_collection_value, 1), - [322] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_object_expr, 8), - [324] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_object_expr, 8), - [326] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_end, 1), - [328] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_end, 1), - [330] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_splat, 1), - [332] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_splat, 1), - [334] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 1), - [336] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index, 1), - [338] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr_term, 2), - [340] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr_term, 2), - [342] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 2), - [344] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 2), - [346] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal_value, 1), - [348] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_literal_value, 1), - [350] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_object_expr, 7), - [352] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_object_expr, 7), - [354] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bool_lit, 1), - [356] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bool_lit, 1), - [358] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_numeric_lit, 1), - [360] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_numeric_lit, 1), - [362] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_quoted_template, 3), - [364] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_quoted_template, 3), - [366] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_object_expr, 6), - [368] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_object_expr, 6), - [370] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object_end, 1), - [372] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object_end, 1), - [374] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operation, 1), - [376] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operation, 1), - [378] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_expr, 1), - [380] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_expr, 1), - [382] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4), - [384] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4), - [386] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_tuple_expr, 5), - [388] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_tuple_expr, 5), - [390] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_index, 3), - [392] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_index, 3), - [394] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_quoted_template, 2), - [396] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_quoted_template, 2), - [398] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_tuple_expr, 4), - [400] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_tuple_expr, 4), - [402] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_heredoc_template, 4), - [404] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_heredoc_template, 4), - [406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), - [410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [412] = {.entry = {.count = 1, .reusable = false}}, SHIFT(89), - [414] = {.entry = {.count = 1, .reusable = false}}, SHIFT(91), - [416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), - [418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), - [420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), - [422] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67), - [424] = {.entry = {.count = 1, .reusable = false}}, SHIFT(406), - [426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), - [428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190), - [430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), - [432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), - [434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), - [436] = {.entry = {.count = 1, .reusable = false}}, SHIFT(74), - [438] = {.entry = {.count = 1, .reusable = false}}, SHIFT(50), - [440] = {.entry = {.count = 1, .reusable = false}}, SHIFT(378), - [442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202), - [444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), - [446] = {.entry = {.count = 1, .reusable = false}}, SHIFT(97), - [448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), - [450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), - [452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), - [454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), - [456] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attr_splat_repeat1, 2), SHIFT_REPEAT(67), - [459] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attr_splat_repeat1, 2), SHIFT_REPEAT(406), - [462] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attr_splat_repeat1, 2), SHIFT_REPEAT(50), - [465] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attr_splat_repeat1, 2), SHIFT_REPEAT(378), - [468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), - [472] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object_elem, 3, .production_id = 1), - [474] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object_elem, 3, .production_id = 1), - [476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [478] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_conditional, 5), - [480] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_conditional, 5), - [482] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_start, 1), - [484] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_start, 1), - [486] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__object_elems_repeat1, 2), - [488] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object_start, 1), - [490] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object_start, 1), - [492] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__comma, 1), - [494] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__comma, 1), - [496] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_arguments, 2), - [498] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_arguments, 3), - [500] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_intro, 5), - [502] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_intro, 5), - [504] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_intro, 7), - [506] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_intro, 7), - [508] = {.entry = {.count = 1, .reusable = true}}, SHIFT(255), - [510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(327), - [512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(352), - [516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), - [518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), - [520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(328), - [522] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182), - [526] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), - [528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), - [530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(270), - [532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225), - [534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235), - [536] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_quoted_template_repeat1, 2), - [538] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_quoted_template_repeat1, 2), SHIFT_REPEAT(327), - [541] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_quoted_template_repeat1, 2), SHIFT_REPEAT(21), - [544] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), - [546] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208), - [548] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), - [550] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226), - [552] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), - [554] = {.entry = {.count = 1, .reusable = true}}, SHIFT(383), - [556] = {.entry = {.count = 1, .reusable = true}}, SHIFT(315), - [558] = {.entry = {.count = 1, .reusable = true}}, SHIFT(340), - [560] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_quoted_template_repeat1, 2), SHIFT_REPEAT(328), - [563] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_quoted_template_repeat1, 2), SHIFT_REPEAT(22), - [566] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), - [568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243), - [570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262), - [572] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [574] = {.entry = {.count = 1, .reusable = true}}, SHIFT(335), - [576] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), - [578] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_body, 1), - [580] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__tuple_elems_repeat1, 2), - [582] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__tuple_elems_repeat1, 2), SHIFT_REPEAT(66), - [585] = {.entry = {.count = 1, .reusable = true}}, SHIFT(326), - [587] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_body_repeat1, 2), - [589] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_body_repeat1, 2), SHIFT_REPEAT(302), - [592] = {.entry = {.count = 1, .reusable = true}}, SHIFT(330), - [594] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_arguments, 1), - [596] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), - [598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(421), - [600] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(329), - [604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(316), - [606] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), - [608] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(316), - [611] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(340), - [614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), - [616] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tuple_elems, 1), - [618] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), - [620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(427), - [622] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_literal, 1), - [624] = {.entry = {.count = 1, .reusable = true}}, SHIFT(333), - [626] = {.entry = {.count = 1, .reusable = true}}, SHIFT(331), - [628] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_template_literal_repeat1, 2), SHIFT_REPEAT(331), - [631] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_template_literal_repeat1, 2), - [633] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 3), - [635] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_template_literal_repeat1, 2), SHIFT_REPEAT(333), - [638] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [640] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 5), - [642] = {.entry = {.count = 1, .reusable = true}}, SHIFT(266), - [644] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_quoted_template_repeat1, 1), - [646] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_interpolation, 5), - [648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(348), - [650] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_interpolation, 3), - [652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [654] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_interpolation, 2), - [656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218), - [658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [660] = {.entry = {.count = 1, .reusable = true}}, SHIFT(430), - [662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(360), - [664] = {.entry = {.count = 1, .reusable = true}}, SHIFT(354), - [666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), - [668] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block_end, 1), - [670] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 4), - [672] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_template_literal_repeat1, 2), SHIFT_REPEAT(354), - [675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(422), - [677] = {.entry = {.count = 1, .reusable = true}}, SHIFT(359), - [679] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_cond, 2), - [681] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_interpolation, 4), - [683] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3), - [685] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), - [687] = {.entry = {.count = 1, .reusable = true}}, SHIFT(283), - [689] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), - [691] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [695] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), - [697] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), - [699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), - [701] = {.entry = {.count = 1, .reusable = true}}, SHIFT(420), - [703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), - [705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282), - [707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(271), - [709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269), - [711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268), - [713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260), - [717] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block_start, 1), - [719] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227), - [721] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), - [725] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), - [727] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), - [729] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), - [731] = {.entry = {.count = 1, .reusable = true}}, SHIFT(187), - [733] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [735] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186), - [737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), - [739] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216), - [741] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217), - [743] = {.entry = {.count = 1, .reusable = true}}, SHIFT(241), - [745] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), - [747] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [749] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231), - [751] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), - [753] = {.entry = {.count = 1, .reusable = true}}, SHIFT(306), - [755] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_heredoc_start, 1), - [757] = {.entry = {.count = 1, .reusable = true}}, SHIFT(304), - [759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(355), - [761] = {.entry = {.count = 1, .reusable = true}}, SHIFT(292), - [763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(425), - [765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(339), - [767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(301), - [769] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [771] = {.entry = {.count = 1, .reusable = true}}, SHIFT(375), - [773] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_config_file, 1), - [775] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [777] = {.entry = {.count = 1, .reusable = true}}, SHIFT(358), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(350), + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(376), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(347), + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268), + [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(171), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(199), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), + [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(209), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(203), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(346), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(590), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), + [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(578), + [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(578), + [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(357), + [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), + [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(303), + [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), + [45] = {.entry = {.count = 1, .reusable = true}}, SHIFT(327), + [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), + [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(306), + [51] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__object_elems, 2), + [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [55] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__object_elems_repeat1, 2), SHIFT_REPEAT(347), + [58] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__object_elems_repeat1, 2), + [60] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__object_elems_repeat1, 2), SHIFT_REPEAT(171), + [63] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__object_elems_repeat1, 2), SHIFT_REPEAT(62), + [66] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__object_elems_repeat1, 2), SHIFT_REPEAT(199), + [69] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__object_elems_repeat1, 2), SHIFT_REPEAT(199), + [72] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__object_elems_repeat1, 2), SHIFT_REPEAT(209), + [75] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__object_elems_repeat1, 2), SHIFT_REPEAT(203), + [78] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__object_elems_repeat1, 2), SHIFT_REPEAT(32), + [81] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__object_elems_repeat1, 2), SHIFT_REPEAT(346), + [84] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__object_elems_repeat1, 2), SHIFT_REPEAT(120), + [87] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__object_elems_repeat1, 2), SHIFT_REPEAT(578), + [90] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__object_elems_repeat1, 2), SHIFT_REPEAT(578), + [93] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__object_elems_repeat1, 2), SHIFT_REPEAT(357), + [96] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186), + [98] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__object_elems, 1), + [100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(271), + [104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(302), + [106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), + [108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(333), + [110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(341), + [112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), + [114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(266), + [116] = {.entry = {.count = 1, .reusable = false}}, SHIFT(245), + [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [120] = {.entry = {.count = 1, .reusable = false}}, SHIFT(299), + [122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(299), + [124] = {.entry = {.count = 1, .reusable = false}}, SHIFT(298), + [126] = {.entry = {.count = 1, .reusable = false}}, SHIFT(296), + [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(353), + [134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(433), + [136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(412), + [140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(441), + [144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(585), + [146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(438), + [148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(560), + [150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(410), + [152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__object_elems, 3), + [154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(567), + [156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(418), + [158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_operation, 2), + [160] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_operation, 2), + [162] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_operation, 3), + [164] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_operation, 3), + [166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [170] = {.entry = {.count = 1, .reusable = false}}, SHIFT(91), + [172] = {.entry = {.count = 1, .reusable = false}}, SHIFT(112), + [174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), + [178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [180] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tuple_elems, 3), + [182] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), + [184] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1), + [186] = {.entry = {.count = 1, .reusable = false}}, SHIFT(48), + [188] = {.entry = {.count = 1, .reusable = false}}, SHIFT(534), + [190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tuple_elems, 2), + [198] = {.entry = {.count = 1, .reusable = false}}, SHIFT(246), + [200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [202] = {.entry = {.count = 1, .reusable = false}}, SHIFT(325), + [204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(325), + [206] = {.entry = {.count = 1, .reusable = false}}, SHIFT(324), + [208] = {.entry = {.count = 1, .reusable = false}}, SHIFT(320), + [210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(365), + [214] = {.entry = {.count = 1, .reusable = false}}, SHIFT(243), + [216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [218] = {.entry = {.count = 1, .reusable = false}}, SHIFT(262), + [220] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262), + [222] = {.entry = {.count = 1, .reusable = false}}, SHIFT(261), + [224] = {.entry = {.count = 1, .reusable = false}}, SHIFT(259), + [226] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(356), + [230] = {.entry = {.count = 1, .reusable = false}}, SHIFT(137), + [232] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [234] = {.entry = {.count = 1, .reusable = false}}, SHIFT(147), + [236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), + [238] = {.entry = {.count = 1, .reusable = false}}, SHIFT(151), + [240] = {.entry = {.count = 1, .reusable = false}}, SHIFT(153), + [242] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(360), + [246] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attr_splat_repeat1, 2), + [248] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_attr_splat_repeat1, 2), + [250] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attr_splat_repeat1, 2), SHIFT_REPEAT(48), + [253] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attr_splat_repeat1, 2), SHIFT_REPEAT(534), + [256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_full_splat, 2), + [258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_full_splat, 2), + [260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attr_splat, 1), + [262] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attr_splat, 1), + [264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_full_splat, 1), + [266] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_full_splat, 1), + [268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attr_splat, 2), + [270] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attr_splat, 2), + [272] = {.entry = {.count = 1, .reusable = false}}, SHIFT(58), + [274] = {.entry = {.count = 1, .reusable = false}}, SHIFT(520), + [276] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), + [278] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), + [280] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), + [282] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [284] = {.entry = {.count = 1, .reusable = false}}, SHIFT(105), + [286] = {.entry = {.count = 1, .reusable = false}}, SHIFT(114), + [288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), + [290] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [292] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), + [294] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), + [296] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attr_splat_repeat1, 2), SHIFT_REPEAT(58), + [299] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attr_splat_repeat1, 2), SHIFT_REPEAT(520), + [302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_expr, 1), + [304] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_expr, 1), + [306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_expr, 1), + [310] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_expr, 1), + [312] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_expr, 1), + [314] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_expr, 1), + [316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_object_expr, 6), + [318] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_object_expr, 6), + [320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_tuple_expr, 5), + [322] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_tuple_expr, 5), + [324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_splat, 1), + [326] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_splat, 1), + [328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_heredoc_template, 4), + [330] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_heredoc_template, 4), + [332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object_end, 1), + [334] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object_end, 1), + [336] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_tuple_expr, 4), + [338] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_tuple_expr, 4), + [340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_numeric_lit, 1), + [342] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_numeric_lit, 1), + [344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_index, 3), + [346] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_index, 3), + [348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4), + [350] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4), + [352] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_heredoc_template, 3), + [354] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_heredoc_template, 3), + [356] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bool_lit, 1), + [358] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bool_lit, 1), + [360] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 3), + [362] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 3), + [364] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal_value, 1), + [366] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_literal_value, 1), + [368] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_collection_value, 1), + [370] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_collection_value, 1), + [372] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 2), + [374] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 2), + [376] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 1), + [378] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index, 1), + [380] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operation, 1), + [382] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operation, 1), + [384] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_legacy_index, 2), + [386] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_legacy_index, 2), + [388] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_get_attr, 2), + [390] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_get_attr, 2), + [392] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_quoted_template, 2), + [394] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_quoted_template, 2), + [396] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr_term, 3), + [398] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr_term, 3), + [400] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_object_expr, 8), + [402] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_object_expr, 8), + [404] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3), + [406] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3), + [408] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_object_expr, 7), + [410] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_object_expr, 7), + [412] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_quoted_template, 3), + [414] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_quoted_template, 3), + [416] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_lit, 3), + [418] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_lit, 3), + [420] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr_term, 2), + [422] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr_term, 2), + [424] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 2), + [426] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 2), + [428] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 3), + [430] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 3), + [432] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_end, 1), + [434] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_end, 1), + [436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [442] = {.entry = {.count = 1, .reusable = false}}, SHIFT(98), + [444] = {.entry = {.count = 1, .reusable = false}}, SHIFT(97), + [446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), + [448] = {.entry = {.count = 1, .reusable = false}}, SHIFT(55), + [450] = {.entry = {.count = 1, .reusable = false}}, SHIFT(552), + [452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220), + [454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221), + [456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [466] = {.entry = {.count = 1, .reusable = false}}, SHIFT(103), + [468] = {.entry = {.count = 1, .reusable = false}}, SHIFT(102), + [470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), + [472] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), + [476] = {.entry = {.count = 1, .reusable = false}}, SHIFT(118), + [478] = {.entry = {.count = 1, .reusable = false}}, SHIFT(90), + [480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [482] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attr_splat_repeat1, 2), SHIFT_REPEAT(55), + [485] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attr_splat_repeat1, 2), SHIFT_REPEAT(552), + [488] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), + [490] = {.entry = {.count = 1, .reusable = false}}, SHIFT(68), + [492] = {.entry = {.count = 1, .reusable = false}}, SHIFT(507), + [494] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), + [496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), + [498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [502] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [504] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80), + [506] = {.entry = {.count = 1, .reusable = false}}, SHIFT(531), + [508] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), + [510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(239), + [512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), + [516] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attr_splat_repeat1, 2), SHIFT_REPEAT(68), + [519] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attr_splat_repeat1, 2), SHIFT_REPEAT(507), + [522] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attr_splat_repeat1, 2), SHIFT_REPEAT(80), + [525] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attr_splat_repeat1, 2), SHIFT_REPEAT(531), + [528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [534] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_conditional, 5), + [536] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_conditional, 5), + [538] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object_elem, 3, .production_id = 1), + [540] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object_elem, 3, .production_id = 1), + [542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [544] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__object_elems_repeat1, 2), + [546] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_start, 1), + [548] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_start, 1), + [550] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object_start, 1), + [552] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object_start, 1), + [554] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__comma, 1), + [556] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__comma, 1), + [558] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_arguments, 2), + [560] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_arguments, 3), + [562] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_intro, 7), + [564] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_intro, 7), + [566] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_intro, 5), + [568] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_intro, 5), + [570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(317), + [572] = {.entry = {.count = 1, .reusable = true}}, SHIFT(387), + [574] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [576] = {.entry = {.count = 1, .reusable = true}}, SHIFT(479), + [578] = {.entry = {.count = 1, .reusable = true}}, SHIFT(389), + [580] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), + [584] = {.entry = {.count = 1, .reusable = true}}, SHIFT(416), + [586] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [588] = {.entry = {.count = 1, .reusable = true}}, SHIFT(471), + [590] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276), + [592] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), + [594] = {.entry = {.count = 1, .reusable = true}}, SHIFT(323), + [596] = {.entry = {.count = 1, .reusable = true}}, SHIFT(440), + [598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), + [600] = {.entry = {.count = 1, .reusable = true}}, SHIFT(300), + [602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), + [604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244), + [606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(474), + [608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(332), + [610] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__template_repeat1, 2), + [612] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__template_repeat1, 2), SHIFT_REPEAT(387), + [615] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__template_repeat1, 2), SHIFT_REPEAT(21), + [618] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__template_repeat1, 2), SHIFT_REPEAT(479), + [621] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__template_repeat1, 2), SHIFT_REPEAT(389), + [624] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__template_repeat1, 2), SHIFT_REPEAT(22), + [627] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__template, 1), + [629] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__template_repeat1, 2), SHIFT_REPEAT(416), + [632] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__template_repeat1, 2), SHIFT_REPEAT(24), + [635] = {.entry = {.count = 1, .reusable = true}}, SHIFT(455), + [637] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), + [639] = {.entry = {.count = 1, .reusable = true}}, SHIFT(485), + [641] = {.entry = {.count = 1, .reusable = true}}, SHIFT(382), + [643] = {.entry = {.count = 1, .reusable = true}}, SHIFT(476), + [645] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__tuple_elems_repeat1, 2), + [647] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__tuple_elems_repeat1, 2), SHIFT_REPEAT(65), + [650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(435), + [654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(423), + [658] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_arguments, 1), + [660] = {.entry = {.count = 1, .reusable = true}}, SHIFT(348), + [662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(570), + [664] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [666] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_body_repeat1, 2), + [668] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_body_repeat1, 2), SHIFT_REPEAT(376), + [671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(395), + [673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(406), + [675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(424), + [677] = {.entry = {.count = 1, .reusable = true}}, SHIFT(426), + [679] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_body, 1), + [681] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_literal, 1), + [683] = {.entry = {.count = 1, .reusable = true}}, SHIFT(391), + [685] = {.entry = {.count = 1, .reusable = true}}, SHIFT(398), + [687] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_template_literal_repeat1, 2), + [689] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_template_literal_repeat1, 2), SHIFT_REPEAT(391), + [692] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), + [694] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(395), + [697] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(476), + [700] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_template_literal_repeat1, 2), SHIFT_REPEAT(398), + [703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(349), + [705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(598), + [707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [709] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__tuple_elems, 1), + [711] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_template_literal_repeat1, 2), SHIFT_REPEAT(402), + [714] = {.entry = {.count = 1, .reusable = true}}, SHIFT(312), + [716] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__template_repeat1, 1), + [718] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_for_end, 4), + [720] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_interpolation, 5), + [722] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [724] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_interpolation, 4), + [726] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_for, 3), + [728] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_interpolation, 3), + [730] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_for, 2), + [732] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_interpolation, 2), + [734] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_directive, 1), + [736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402), + [738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210), + [740] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_for_end, 5), + [742] = {.entry = {.count = 1, .reusable = true}}, SHIFT(319), + [744] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247), + [746] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 3), + [748] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_for_end, 3), + [750] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), + [752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(601), + [754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(550), + [756] = {.entry = {.count = 1, .reusable = true}}, SHIFT(548), + [758] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [760] = {.entry = {.count = 1, .reusable = true}}, SHIFT(562), + [762] = {.entry = {.count = 1, .reusable = true}}, SHIFT(408), + [764] = {.entry = {.count = 1, .reusable = true}}, SHIFT(463), + [766] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_for_start, 10), + [768] = {.entry = {.count = 1, .reusable = true}}, SHIFT(583), + [770] = {.entry = {.count = 1, .reusable = true}}, SHIFT(436), + [772] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_for_start, 9), + [774] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [776] = {.entry = {.count = 1, .reusable = true}}, SHIFT(584), + [778] = {.entry = {.count = 1, .reusable = true}}, SHIFT(452), + [780] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block_end, 1), + [782] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_for_start, 8), + [784] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3), + [786] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_for_start, 7), + [788] = {.entry = {.count = 1, .reusable = true}}, SHIFT(588), + [790] = {.entry = {.count = 1, .reusable = true}}, SHIFT(456), + [792] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 4), + [794] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_template_literal_repeat1, 2), SHIFT_REPEAT(463), + [797] = {.entry = {.count = 1, .reusable = true}}, SHIFT(593), + [799] = {.entry = {.count = 1, .reusable = true}}, SHIFT(429), + [801] = {.entry = {.count = 1, .reusable = true}}, SHIFT(557), + [803] = {.entry = {.count = 1, .reusable = true}}, SHIFT(459), + [805] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [807] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_for_start, 6), + [809] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 5), + [811] = {.entry = {.count = 1, .reusable = true}}, SHIFT(515), + [813] = {.entry = {.count = 1, .reusable = true}}, SHIFT(518), + [815] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_cond, 2), + [817] = {.entry = {.count = 1, .reusable = true}}, SHIFT(496), + [819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(543), + [821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(445), + [823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(589), + [825] = {.entry = {.count = 1, .reusable = true}}, SHIFT(469), + [827] = {.entry = {.count = 1, .reusable = true}}, SHIFT(606), + [829] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [831] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block_start, 1), + [833] = {.entry = {.count = 1, .reusable = true}}, SHIFT(352), + [835] = {.entry = {.count = 1, .reusable = true}}, SHIFT(547), + [837] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [839] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198), + [841] = {.entry = {.count = 1, .reusable = true}}, SHIFT(569), + [843] = {.entry = {.count = 1, .reusable = true}}, SHIFT(404), + [845] = {.entry = {.count = 1, .reusable = true}}, SHIFT(603), + [847] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [849] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [851] = {.entry = {.count = 1, .reusable = true}}, SHIFT(561), + [853] = {.entry = {.count = 1, .reusable = true}}, SHIFT(546), + [855] = {.entry = {.count = 1, .reusable = true}}, SHIFT(295), + [857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258), + [861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(351), + [863] = {.entry = {.count = 1, .reusable = true}}, SHIFT(331), + [865] = {.entry = {.count = 1, .reusable = true}}, SHIFT(330), + [867] = {.entry = {.count = 1, .reusable = true}}, SHIFT(329), + [869] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), + [871] = {.entry = {.count = 1, .reusable = true}}, SHIFT(573), + [873] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), + [875] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), + [877] = {.entry = {.count = 1, .reusable = true}}, SHIFT(519), + [879] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [881] = {.entry = {.count = 1, .reusable = true}}, SHIFT(316), + [883] = {.entry = {.count = 1, .reusable = true}}, SHIFT(522), + [885] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [887] = {.entry = {.count = 1, .reusable = true}}, SHIFT(582), + [889] = {.entry = {.count = 1, .reusable = true}}, SHIFT(443), + [891] = {.entry = {.count = 1, .reusable = true}}, SHIFT(581), + [893] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202), + [895] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), + [897] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), + [899] = {.entry = {.count = 1, .reusable = true}}, SHIFT(576), + [901] = {.entry = {.count = 1, .reusable = true}}, SHIFT(457), + [903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [905] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286), + [907] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [909] = {.entry = {.count = 1, .reusable = true}}, SHIFT(339), + [911] = {.entry = {.count = 1, .reusable = true}}, SHIFT(338), + [913] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), + [915] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), + [917] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), + [919] = {.entry = {.count = 1, .reusable = true}}, SHIFT(340), + [921] = {.entry = {.count = 1, .reusable = true}}, SHIFT(321), + [923] = {.entry = {.count = 1, .reusable = true}}, SHIFT(544), + [925] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), + [929] = {.entry = {.count = 1, .reusable = true}}, SHIFT(566), + [931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(430), + [933] = {.entry = {.count = 1, .reusable = true}}, SHIFT(558), + [935] = {.entry = {.count = 1, .reusable = true}}, SHIFT(559), + [937] = {.entry = {.count = 1, .reusable = true}}, SHIFT(413), + [939] = {.entry = {.count = 1, .reusable = true}}, SHIFT(597), + [941] = {.entry = {.count = 1, .reusable = true}}, SHIFT(596), + [943] = {.entry = {.count = 1, .reusable = true}}, SHIFT(432), + [945] = {.entry = {.count = 1, .reusable = true}}, SHIFT(492), + [947] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265), + [949] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), + [951] = {.entry = {.count = 1, .reusable = true}}, SHIFT(263), + [953] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [955] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257), + [957] = {.entry = {.count = 1, .reusable = true}}, SHIFT(595), + [959] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [961] = {.entry = {.count = 1, .reusable = true}}, SHIFT(419), + [963] = {.entry = {.count = 1, .reusable = true}}, SHIFT(493), + [965] = {.entry = {.count = 1, .reusable = true}}, SHIFT(405), + [967] = {.entry = {.count = 1, .reusable = true}}, SHIFT(267), + [969] = {.entry = {.count = 1, .reusable = true}}, SHIFT(255), + [971] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), + [973] = {.entry = {.count = 1, .reusable = true}}, SHIFT(322), + [975] = {.entry = {.count = 1, .reusable = true}}, SHIFT(420), + [977] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182), + [979] = {.entry = {.count = 1, .reusable = true}}, SHIFT(362), + [981] = {.entry = {.count = 1, .reusable = true}}, SHIFT(600), + [983] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), + [985] = {.entry = {.count = 1, .reusable = true}}, SHIFT(467), + [987] = {.entry = {.count = 1, .reusable = true}}, SHIFT(466), + [989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), + [991] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_heredoc_start, 1), + [993] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180), + [995] = {.entry = {.count = 1, .reusable = true}}, SHIFT(358), + [997] = {.entry = {.count = 1, .reusable = true}}, SHIFT(449), + [999] = {.entry = {.count = 1, .reusable = true}}, SHIFT(450), + [1001] = {.entry = {.count = 1, .reusable = true}}, SHIFT(313), + [1003] = {.entry = {.count = 1, .reusable = true}}, SHIFT(354), + [1005] = {.entry = {.count = 1, .reusable = true}}, SHIFT(510), + [1007] = {.entry = {.count = 1, .reusable = true}}, SHIFT(336), + [1009] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [1011] = {.entry = {.count = 1, .reusable = true}}, SHIFT(427), + [1013] = {.entry = {.count = 1, .reusable = true}}, SHIFT(363), + [1015] = {.entry = {.count = 1, .reusable = true}}, SHIFT(602), + [1017] = {.entry = {.count = 1, .reusable = true}}, SHIFT(361), + [1019] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [1021] = {.entry = {.count = 1, .reusable = true}}, SHIFT(556), + [1023] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [1025] = {.entry = {.count = 1, .reusable = true}}, SHIFT(592), + [1027] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_config_file, 1), + [1029] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), }; #ifdef __cplusplus diff --git a/src/scanner.cc b/src/scanner.cc index 453e2bf..3780e9c 100644 --- a/src/scanner.cc +++ b/src/scanner.cc @@ -17,11 +17,14 @@ enum TokenType { TEMPLATE_LITERAL_CHUNK, TEMPLATE_INTERPOLATION_START, TEMPLATE_INTERPOLATION_END, + TEMPLATE_DIRECTIVE_START, + TEMPLATE_DIRECTIVE_END, HEREDOC_IDENTIFIER, }; enum ContextType { TEMPLATE_INTERPOLATION, + TEMPLATE_DIRECTIVE, QUOTED_TEMPLATE, HEREDOC_TEMPLATE, }; @@ -130,6 +133,34 @@ public: return accept_and_advance(lexer, TEMPLATE_INTERPOLATION_END); } + // manage template directives + if ( + valid_symbols[TEMPLATE_DIRECTIVE_START] && + valid_symbols[TEMPLATE_LITERAL_CHUNK] && + !in_directive_context() && + lexer->lookahead == '%' + ) { + advance(lexer); + if (lexer->lookahead == '{') { + Context ctx = { TEMPLATE_DIRECTIVE }; + context_stack.push_back(ctx); + return accept_and_advance(lexer, TEMPLATE_DIRECTIVE_START); + } + // try to scan escape sequence + if (lexer->lookahead == '%') { + advance(lexer); + if (lexer->lookahead == '{') { + // $${ + return accept_and_advance(lexer, TEMPLATE_LITERAL_CHUNK); + } + } + return accept_inplace(lexer, TEMPLATE_LITERAL_CHUNK); + } + if (valid_symbols[TEMPLATE_DIRECTIVE_END] && in_directive_context() && lexer->lookahead == '}') { + context_stack.pop_back(); + return accept_and_advance(lexer, TEMPLATE_DIRECTIVE_END); + } + // manage heredoc context if (valid_symbols[HEREDOC_IDENTIFIER] && !in_heredoc_context()) { string identifier; @@ -255,6 +286,9 @@ private: return in_context_type(TEMPLATE_INTERPOLATION); } + bool in_directive_context() { + return in_context_type(TEMPLATE_DIRECTIVE); + } }; } // namespace diff --git a/test/corpus/templates.txt b/test/corpus/templates.txt index e419df2..93cd477 100644 --- a/test/corpus/templates.txt +++ b/test/corpus/templates.txt @@ -45,6 +45,169 @@ foo = "${}" (template_interpolation_end)) (quoted_template_end))))))) +================================================================================ +template for expression in quoted template +================================================================================ + +foo = "%{ for a in b } prefix-${a} %{ endfor }" + +-------------------------------------------------------------------------------- + +(config_file + (body + (attribute + (identifier) + (expression + (template_expr + (quoted_template + (quoted_template_start) + (template_directive + (template_for + (template_for_start + (template_directive_start) + (identifier) + (expression + (variable_expr + (identifier))) + (template_directive_end)) + (template_literal) + (template_interpolation + (template_interpolation_start) + (expression + (variable_expr + (identifier))) + (template_interpolation_end)) + (template_for_end + (template_directive_start) + (template_directive_end)))) + (quoted_template_end))))))) + +================================================================================ +escaped template for directive +================================================================================ + +foo = "%{ for a in b } %%{ endfor } %{ endfor }" + +-------------------------------------------------------------------------------- + +(config_file + (body + (attribute + (identifier) + (expression + (template_expr + (quoted_template + (quoted_template_start) + (template_directive + (template_for + (template_for_start + (template_directive_start) + (identifier) + (expression + (variable_expr + (identifier))) + (template_directive_end)) + (template_literal) + (template_for_end + (template_directive_start) + (template_directive_end)))) + (quoted_template_end))))))) + +================================================================================ +escaped template for directive 2 +================================================================================ + +foo = "%%{ for a in b } %%{ endfor }" + +-------------------------------------------------------------------------------- + +(config_file + (body + (attribute + (identifier) + (expression + (literal_value + (string_lit + (quoted_template_start) + (template_literal) + (quoted_template_end))))))) + +================================================================================ +template for directive with weird whitespace +================================================================================ + +foo = "%{ for a in b } %{ endfor }" + +-------------------------------------------------------------------------------- + +(config_file + (body + (attribute + (identifier) + (expression + (template_expr + (quoted_template + (quoted_template_start) + (template_directive + (template_for + (template_for_start + (template_directive_start) + (identifier) + (expression + (variable_expr + (identifier))) + (template_directive_end)) + (template_for_end + (template_directive_start) + (template_directive_end)))) + (quoted_template_end))))))) + +================================================================================ +template for expression in heredoc template +================================================================================ + +foo = <