From 640445e16309fe82c7df763cbfa874485b5ca885 Mon Sep 17 00:00:00 2001 From: Martin Atkins Date: Fri, 3 May 2019 14:00:54 -0700 Subject: [PATCH] hcl/hclsyntax: Correct scanning of literal $ and % before quotes The TemplateStringLiteral production was not quite right, causing a literal $ or % immediately followed by " to consume the quotes and any following characters on the line if there were any more characters on the line. Now we match things more precisely, but at the expense of generating some redundant extra tokens when escapes and literal dollar/percent signs are present. Those extra tokens don't matter in practice because the resulting strings get concatenated together anyway, which is proven by the fact that this changeset includes changes only to the scanner and parser tests, and not to any of the expression result tests. While here, I also improved the error message for when the user attempts to split a quoted string over multiple lines. Previously it was just using the generic "invalid character" message, which isn't particularly actionable. Now we'll give the user a couple options of what to do instead. --- go.mod | 8 +- go.sum | 23 +- hcl/hclsyntax/expression_test.go | 12 + hcl/hclsyntax/parser_template.go | 2 +- hcl/hclsyntax/parser_test.go | 83 +- hcl/hclsyntax/scan_tokens.go | 3633 ++++++++++++++-------------- hcl/hclsyntax/scan_tokens.rl | 34 +- hcl/hclsyntax/scan_tokens_test.go | 409 +++- hcl/hclsyntax/token.go | 30 +- hcl/hclsyntax/token_type_string.go | 69 +- 10 files changed, 2395 insertions(+), 1908 deletions(-) diff --git a/go.mod b/go.mod index fe3d44d..4a6e75a 100644 --- a/go.mod +++ b/go.mod @@ -22,9 +22,11 @@ require ( github.com/spf13/pflag v1.0.2 github.com/stretchr/testify v1.2.2 // indirect github.com/zclconf/go-cty v0.0.0-20190426224007-b18a157db9e2 - golang.org/x/crypto v0.0.0-20180816225734-aabede6cba87 - golang.org/x/net v0.0.0-20181129055619-fae4c4e3ad76 // indirect - golang.org/x/sync v0.0.0-20181108010431-42b317875d0f // indirect + golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734 + golang.org/x/net v0.0.0-20190502183928-7f726cade0ab // indirect + golang.org/x/sync v0.0.0-20190423024810-112230192c58 // indirect + golang.org/x/sys v0.0.0-20190502175342-a43fa875dd82 // indirect + golang.org/x/text v0.3.2 // indirect gopkg.in/yaml.v2 v2.2.2 howett.net/plist v0.0.0-20181124034731-591f970eefbb ) diff --git a/go.sum b/go.sum index ab8dc98..9aa1389 100644 --- a/go.sum +++ b/go.sum @@ -47,23 +47,30 @@ github.com/spf13/pflag v1.0.2/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnIn github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= -github.com/zclconf/go-cty v0.0.0-20190124225737-a385d646c1e9 h1:hHCAGde+QfwbqXSAqOmBd4NlOrJ6nmjWp+Nu408ezD4= -github.com/zclconf/go-cty v0.0.0-20190124225737-a385d646c1e9/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s= github.com/zclconf/go-cty v0.0.0-20190426224007-b18a157db9e2 h1:Ai1LhlYNEqE39zGU07qHDNJ41iZVPZfZr1dSCoXrp1w= github.com/zclconf/go-cty v0.0.0-20190426224007-b18a157db9e2/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s= -golang.org/x/crypto v0.0.0-20180816225734-aabede6cba87 h1:gCHhzI+1R9peHIMyiWVxoVaWlk1cYK7VThX5ptLtbXY= -golang.org/x/crypto v0.0.0-20180816225734-aabede6cba87/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734 h1:p/H982KKEjUnLJkM3tt/LemDnOc1GiZL5FCVlORJ5zo= +golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/net v0.0.0-20180811021610-c39426892332/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181129055619-fae4c4e3ad76 h1:xx5MUFyRQRbPk6VjWjIE1epE/K5AoDD8QUN116NCy8k= -golang.org/x/net v0.0.0-20181129055619-fae4c4e3ad76/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190502183928-7f726cade0ab h1:9RfW3ktsOZxgo9YNbBAjq1FWzc/igwEcUzZz8IXgSbk= +golang.org/x/net v0.0.0-20190502183928-7f726cade0ab/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f h1:Bl/8QSvNqXvPGPGXa2z5xUTmV7VDcZyvRZ+QQXkXTZQ= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58 h1:8gQV6CLnAEikrhgkHFbMAEhagSSnXWGV915qUMm9mrU= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e h1:o3PsSEY8E4eXWkXrIP9YJALUkVZqzHJT5DOasTyn8Vs= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502175342-a43fa875dd82 h1:vsphBvatvfbhlb4PO1BYSr9dzugGxJ/SQHoNufZJq1w= +golang.org/x/sys v0.0.0-20190502175342-a43fa875dd82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= diff --git a/hcl/hclsyntax/expression_test.go b/hcl/hclsyntax/expression_test.go index 30379f8..a3c8a70 100644 --- a/hcl/hclsyntax/expression_test.go +++ b/hcl/hclsyntax/expression_test.go @@ -236,6 +236,18 @@ func TestExpressionParseAndValue(t *testing.T) { cty.StringVal("hello $$nonescape"), 0, }, + { + `"$"`, + nil, + cty.StringVal("$"), + 0, + }, + { + `"%"`, + nil, + cty.StringVal("%"), + 0, + }, { `upper("foo")`, &hcl.EvalContext{ diff --git a/hcl/hclsyntax/parser_template.go b/hcl/hclsyntax/parser_template.go index e158bd8..a141626 100644 --- a/hcl/hclsyntax/parser_template.go +++ b/hcl/hclsyntax/parser_template.go @@ -2,10 +2,10 @@ package hclsyntax import ( "fmt" - "github.com/apparentlymart/go-textseg/textseg" "strings" "unicode" + "github.com/apparentlymart/go-textseg/textseg" "github.com/hashicorp/hcl2/hcl" "github.com/zclconf/go-cty/cty" ) diff --git a/hcl/hclsyntax/parser_test.go b/hcl/hclsyntax/parser_test.go index 99ffc5e..5ec30f2 100644 --- a/hcl/hclsyntax/parser_test.go +++ b/hcl/hclsyntax/parser_test.go @@ -693,10 +693,26 @@ block "valid" {} Expr: &TemplateExpr{ Parts: []Expression{ &LiteralValueExpr{ - Val: cty.StringVal("hello ${true}"), + Val: cty.StringVal("hello "), SrcRange: hcl.Range{ Start: hcl.Pos{Line: 1, Column: 6, Byte: 5}, + End: hcl.Pos{Line: 1, Column: 12, Byte: 11}, + }, + }, + &LiteralValueExpr{ + Val: cty.StringVal("${"), + + SrcRange: hcl.Range{ + Start: hcl.Pos{Line: 1, Column: 12, Byte: 11}, + End: hcl.Pos{Line: 1, Column: 15, Byte: 14}, + }, + }, + &LiteralValueExpr{ + Val: cty.StringVal("true}"), + + SrcRange: hcl.Range{ + Start: hcl.Pos{Line: 1, Column: 15, Byte: 14}, End: hcl.Pos{Line: 1, Column: 20, Byte: 19}, }, }, @@ -743,10 +759,26 @@ block "valid" {} Expr: &TemplateExpr{ Parts: []Expression{ &LiteralValueExpr{ - Val: cty.StringVal("hello %{true}"), + Val: cty.StringVal("hello "), SrcRange: hcl.Range{ Start: hcl.Pos{Line: 1, Column: 6, Byte: 5}, + End: hcl.Pos{Line: 1, Column: 12, Byte: 11}, + }, + }, + &LiteralValueExpr{ + Val: cty.StringVal("%{"), + + SrcRange: hcl.Range{ + Start: hcl.Pos{Line: 1, Column: 12, Byte: 11}, + End: hcl.Pos{Line: 1, Column: 15, Byte: 14}, + }, + }, + &LiteralValueExpr{ + Val: cty.StringVal("true}"), + + SrcRange: hcl.Range{ + Start: hcl.Pos{Line: 1, Column: 15, Byte: 14}, End: hcl.Pos{Line: 1, Column: 20, Byte: 19}, }, }, @@ -793,11 +825,11 @@ block "valid" {} Expr: &TemplateExpr{ Parts: []Expression{ &LiteralValueExpr{ - Val: cty.StringVal("hello $"), + Val: cty.StringVal("hello "), SrcRange: hcl.Range{ Start: hcl.Pos{Line: 1, Column: 6, Byte: 5}, - End: hcl.Pos{Line: 1, Column: 13, Byte: 12}, + End: hcl.Pos{Line: 1, Column: 12, Byte: 11}, }, }, // This parses oddly due to how the scanner @@ -806,6 +838,14 @@ block "valid" {} &LiteralValueExpr{ Val: cty.StringVal("$"), + SrcRange: hcl.Range{ + Start: hcl.Pos{Line: 1, Column: 12, Byte: 11}, + End: hcl.Pos{Line: 1, Column: 13, Byte: 12}, + }, + }, + &LiteralValueExpr{ + Val: cty.StringVal("$"), + SrcRange: hcl.Range{ Start: hcl.Pos{Line: 1, Column: 13, Byte: 12}, End: hcl.Pos{Line: 1, Column: 14, Byte: 13}, @@ -854,10 +894,18 @@ block "valid" {} Expr: &TemplateExpr{ Parts: []Expression{ &LiteralValueExpr{ - Val: cty.StringVal("hello $"), + Val: cty.StringVal("hello "), SrcRange: hcl.Range{ Start: hcl.Pos{Line: 1, Column: 6, Byte: 5}, + End: hcl.Pos{Line: 1, Column: 12, Byte: 11}, + }, + }, + &LiteralValueExpr{ + Val: cty.StringVal("$"), + + SrcRange: hcl.Range{ + Start: hcl.Pos{Line: 1, Column: 12, Byte: 11}, End: hcl.Pos{Line: 1, Column: 13, Byte: 12}, }, }, @@ -904,19 +952,27 @@ block "valid" {} Expr: &TemplateExpr{ Parts: []Expression{ &LiteralValueExpr{ - Val: cty.StringVal("hello %"), + Val: cty.StringVal("hello "), SrcRange: hcl.Range{ Start: hcl.Pos{Line: 1, Column: 6, Byte: 5}, - End: hcl.Pos{Line: 1, Column: 13, Byte: 12}, + End: hcl.Pos{Line: 1, Column: 12, Byte: 11}, }, }, // This parses oddly due to how the scanner - // handles escaping of the $ sequence, but it's + // handles escaping of the % sequence, but it's // functionally equivalent to a single literal. &LiteralValueExpr{ Val: cty.StringVal("%"), + SrcRange: hcl.Range{ + Start: hcl.Pos{Line: 1, Column: 12, Byte: 11}, + End: hcl.Pos{Line: 1, Column: 13, Byte: 12}, + }, + }, + &LiteralValueExpr{ + Val: cty.StringVal("%"), + SrcRange: hcl.Range{ Start: hcl.Pos{Line: 1, Column: 13, Byte: 12}, End: hcl.Pos{Line: 1, Column: 14, Byte: 13}, @@ -965,10 +1021,18 @@ block "valid" {} Expr: &TemplateExpr{ Parts: []Expression{ &LiteralValueExpr{ - Val: cty.StringVal("hello %"), + Val: cty.StringVal("hello "), SrcRange: hcl.Range{ Start: hcl.Pos{Line: 1, Column: 6, Byte: 5}, + End: hcl.Pos{Line: 1, Column: 12, Byte: 11}, + }, + }, + &LiteralValueExpr{ + Val: cty.StringVal("%"), + + SrcRange: hcl.Range{ + Start: hcl.Pos{Line: 1, Column: 12, Byte: 11}, End: hcl.Pos{Line: 1, Column: 13, Byte: 12}, }, }, @@ -2285,6 +2349,7 @@ block "valid" {} for _, test := range tests { t.Run(test.input, func(t *testing.T) { + t.Logf("\n%s", test.input) file, diags := ParseConfig([]byte(test.input), "", hcl.Pos{Byte: 0, Line: 1, Column: 1}) if len(diags) != test.diagCount { t.Errorf("wrong number of diagnostics %d; want %d", len(diags), test.diagCount) diff --git a/hcl/hclsyntax/scan_tokens.go b/hcl/hclsyntax/scan_tokens.go index 30a0836..f612f53 100644 --- a/hcl/hclsyntax/scan_tokens.go +++ b/hcl/hclsyntax/scan_tokens.go @@ -12,33 +12,32 @@ import ( //line scan_tokens.go:15 var _hcltok_actions []byte = []byte{ - 0, 1, 0, 1, 1, 1, 2, 1, 3, - 1, 4, 1, 6, 1, 7, 1, 8, - 1, 9, 1, 10, 1, 11, 1, 12, - 1, 13, 1, 14, 1, 15, 1, 16, - 1, 17, 1, 18, 1, 19, 1, 22, - 1, 23, 1, 24, 1, 25, 1, 26, - 1, 27, 1, 28, 1, 29, 1, 30, - 1, 31, 1, 34, 1, 35, 1, 36, - 1, 37, 1, 38, 1, 39, 1, 40, - 1, 41, 1, 42, 1, 43, 1, 46, - 1, 47, 1, 48, 1, 49, 1, 50, - 1, 51, 1, 52, 1, 57, 1, 58, - 1, 59, 1, 60, 1, 61, 1, 62, - 1, 63, 1, 64, 1, 65, 1, 66, - 1, 67, 1, 68, 1, 69, 1, 70, - 1, 71, 1, 72, 1, 73, 1, 74, - 1, 75, 1, 76, 1, 77, 1, 78, - 1, 79, 1, 80, 1, 81, 1, 82, - 1, 83, 1, 84, 1, 85, 2, 0, - 15, 2, 1, 15, 2, 2, 24, 2, - 2, 28, 2, 3, 24, 2, 3, 28, - 2, 4, 5, 2, 7, 0, 2, 7, - 1, 2, 7, 20, 2, 7, 21, 2, - 7, 32, 2, 7, 33, 2, 7, 44, - 2, 7, 45, 2, 7, 53, 2, 7, - 54, 2, 7, 55, 2, 7, 56, 3, - 7, 2, 20, 3, 7, 3, 20, + 0, 1, 0, 1, 1, 1, 3, 1, 4, + 1, 7, 1, 8, 1, 9, 1, 10, + 1, 11, 1, 12, 1, 13, 1, 14, + 1, 15, 1, 16, 1, 17, 1, 18, + 1, 19, 1, 20, 1, 23, 1, 24, + 1, 25, 1, 26, 1, 27, 1, 28, + 1, 29, 1, 30, 1, 31, 1, 32, + 1, 35, 1, 36, 1, 37, 1, 38, + 1, 39, 1, 40, 1, 41, 1, 42, + 1, 43, 1, 44, 1, 47, 1, 48, + 1, 49, 1, 50, 1, 51, 1, 52, + 1, 53, 1, 58, 1, 59, 1, 60, + 1, 61, 1, 62, 1, 63, 1, 64, + 1, 65, 1, 66, 1, 67, 1, 68, + 1, 69, 1, 70, 1, 71, 1, 72, + 1, 73, 1, 74, 1, 75, 1, 76, + 1, 77, 1, 78, 1, 79, 1, 80, + 1, 81, 1, 82, 1, 83, 1, 84, + 1, 85, 1, 86, 2, 0, 14, 2, + 0, 25, 2, 0, 29, 2, 0, 37, + 2, 0, 41, 2, 1, 2, 2, 4, + 5, 2, 4, 6, 2, 4, 21, 2, + 4, 22, 2, 4, 33, 2, 4, 34, + 2, 4, 45, 2, 4, 46, 2, 4, + 54, 2, 4, 55, 2, 4, 56, 2, + 4, 57, } var _hcltok_key_offsets []int16 = []int16{ @@ -158,90 +157,88 @@ var _hcltok_key_offsets []int16 = []int16{ 5793, 5803, 5804, 5813, 5821, 5823, 5826, 5828, 5830, 5832, 5837, 5850, 5854, 5869, 5898, 5909, 5911, 5915, 5919, 5924, 5928, 5930, 5937, 5941, - 5949, 5953, 5954, 5955, 5957, 5959, 5961, 5963, - 5965, 5966, 5967, 5968, 5970, 5972, 5974, 5975, - 5976, 5977, 5978, 5980, 5982, 5984, 5985, 5986, - 5990, 5996, 5996, 5998, 6000, 6009, 6015, 6022, - 6023, 6026, 6027, 6031, 6036, 6045, 6049, 6053, - 6061, 6063, 6065, 6067, 6070, 6102, 6104, 6106, - 6110, 6114, 6117, 6128, 6141, 6160, 6173, 6189, - 6201, 6217, 6232, 6253, 6263, 6275, 6286, 6300, - 6315, 6325, 6337, 6346, 6358, 6360, 6364, 6385, - 6394, 6404, 6410, 6416, 6417, 6466, 6468, 6472, - 6474, 6480, 6487, 6495, 6502, 6505, 6511, 6515, - 6519, 6521, 6525, 6529, 6533, 6539, 6547, 6555, - 6561, 6563, 6567, 6569, 6575, 6579, 6583, 6587, - 6591, 6596, 6603, 6609, 6611, 6613, 6617, 6619, - 6625, 6629, 6633, 6643, 6648, 6662, 6677, 6679, - 6687, 6689, 6694, 6708, 6713, 6715, 6719, 6720, - 6724, 6730, 6736, 6746, 6756, 6767, 6775, 6778, - 6781, 6785, 6789, 6791, 6794, 6794, 6797, 6799, - 6829, 6831, 6833, 6837, 6842, 6846, 6851, 6853, - 6855, 6857, 6866, 6870, 6874, 6880, 6882, 6890, - 6898, 6910, 6913, 6919, 6923, 6925, 6929, 6949, - 6951, 6953, 6964, 6970, 6972, 6974, 6976, 6980, - 6986, 6992, 6994, 6999, 7003, 7005, 7013, 7031, - 7071, 7081, 7085, 7087, 7089, 7090, 7094, 7098, - 7102, 7106, 7110, 7115, 7119, 7123, 7127, 7129, - 7131, 7135, 7145, 7149, 7151, 7155, 7159, 7163, - 7176, 7178, 7180, 7184, 7186, 7190, 7192, 7194, - 7224, 7228, 7232, 7236, 7239, 7246, 7251, 7262, - 7266, 7282, 7296, 7300, 7305, 7309, 7313, 7319, - 7321, 7327, 7329, 7333, 7335, 7341, 7346, 7351, - 7361, 7363, 7365, 7369, 7373, 7375, 7388, 7390, - 7394, 7398, 7406, 7408, 7412, 7414, 7415, 7418, - 7423, 7425, 7427, 7431, 7433, 7437, 7443, 7463, - 7469, 7475, 7477, 7478, 7488, 7489, 7497, 7504, - 7506, 7509, 7511, 7513, 7515, 7520, 7524, 7528, - 7533, 7543, 7553, 7557, 7561, 7575, 7601, 7611, - 7613, 7615, 7618, 7620, 7623, 7625, 7629, 7631, - 7632, 7636, 7638, 7640, 7647, 7651, 7658, 7665, - 7674, 7690, 7702, 7720, 7731, 7743, 7751, 7769, - 7777, 7807, 7810, 7820, 7830, 7842, 7853, 7862, - 7875, 7887, 7891, 7897, 7924, 7933, 7936, 7941, - 7947, 7952, 7973, 7977, 7983, 7983, 7990, 7999, - 8007, 8010, 8014, 8020, 8026, 8029, 8033, 8040, - 8046, 8055, 8064, 8068, 8072, 8076, 8080, 8087, - 8091, 8095, 8105, 8111, 8115, 8121, 8125, 8128, - 8134, 8140, 8152, 8156, 8160, 8170, 8174, 8185, - 8187, 8189, 8193, 8205, 8210, 8234, 8238, 8244, - 8266, 8275, 8279, 8282, 8283, 8291, 8299, 8305, - 8315, 8322, 8340, 8343, 8346, 8354, 8360, 8364, - 8368, 8372, 8378, 8386, 8391, 8397, 8401, 8409, - 8416, 8420, 8427, 8433, 8441, 8449, 8455, 8461, - 8472, 8476, 8488, 8497, 8514, 8531, 8534, 8538, - 8540, 8546, 8548, 8552, 8567, 8571, 8575, 8579, - 8583, 8587, 8589, 8595, 8600, 8604, 8610, 8617, - 8620, 8638, 8640, 8685, 8691, 8697, 8701, 8705, - 8711, 8715, 8721, 8727, 8734, 8736, 8742, 8748, - 8752, 8756, 8764, 8777, 8783, 8790, 8798, 8804, - 8813, 8819, 8823, 8828, 8832, 8840, 8844, 8848, - 8878, 8884, 8890, 8896, 8902, 8909, 8915, 8922, - 8927, 8937, 8941, 8948, 8954, 8958, 8965, 8969, - 8975, 8978, 8982, 8986, 8990, 8994, 8999, 9004, - 9008, 9019, 9023, 9027, 9033, 9041, 9045, 9062, - 9066, 9072, 9082, 9088, 9094, 9097, 9102, 9111, - 9115, 9119, 9125, 9129, 9135, 9143, 9161, 9162, - 9172, 9173, 9182, 9190, 9192, 9195, 9197, 9199, - 9201, 9206, 9219, 9223, 9238, 9267, 9278, 9280, - 9284, 9288, 9293, 9297, 9299, 9306, 9310, 9318, - 9322, 9397, 9399, 9400, 9401, 9402, 9403, 9404, - 9406, 9411, 9413, 9415, 9416, 9460, 9461, 9462, - 9464, 9469, 9473, 9473, 9475, 9477, 9488, 9498, - 9506, 9507, 9509, 9510, 9514, 9518, 9528, 9532, - 9539, 9550, 9557, 9561, 9567, 9578, 9610, 9659, - 9674, 9689, 9694, 9696, 9701, 9733, 9741, 9743, - 9765, 9787, 9789, 9805, 9821, 9837, 9853, 9868, - 9878, 9895, 9912, 9929, 9945, 9955, 9972, 9988, - 10004, 10020, 10036, 10052, 10068, 10084, 10085, 10086, - 10087, 10088, 10090, 10092, 10094, 10108, 10122, 10136, - 10150, 10151, 10152, 10154, 10156, 10158, 10172, 10186, - 10187, 10188, 10190, 10192, 10194, 10243, 10287, 10289, - 10294, 10298, 10298, 10300, 10302, 10313, 10323, 10331, - 10332, 10334, 10335, 10339, 10343, 10353, 10357, 10364, - 10375, 10382, 10386, 10392, 10403, 10435, 10484, 10499, - 10514, 10519, 10521, 10526, 10558, 10566, 10568, 10590, - 10612, + 5949, 5953, 5965, 5967, 5969, 5971, 5973, 5975, + 5976, 5978, 5980, 5982, 5984, 5986, 5987, 5989, + 5991, 5993, 5995, 5997, 6001, 6007, 6007, 6009, + 6011, 6020, 6026, 6033, 6034, 6037, 6038, 6042, + 6047, 6056, 6060, 6064, 6072, 6074, 6076, 6078, + 6081, 6113, 6115, 6117, 6121, 6125, 6128, 6139, + 6152, 6171, 6184, 6200, 6212, 6228, 6243, 6264, + 6274, 6286, 6297, 6311, 6326, 6336, 6348, 6357, + 6369, 6371, 6375, 6396, 6405, 6415, 6421, 6427, + 6428, 6477, 6479, 6483, 6485, 6491, 6498, 6506, + 6513, 6516, 6522, 6526, 6530, 6532, 6536, 6540, + 6544, 6550, 6558, 6566, 6572, 6574, 6578, 6580, + 6586, 6590, 6594, 6598, 6602, 6607, 6614, 6620, + 6622, 6624, 6628, 6630, 6636, 6640, 6644, 6654, + 6659, 6673, 6688, 6690, 6698, 6700, 6705, 6719, + 6724, 6726, 6730, 6731, 6735, 6741, 6747, 6757, + 6767, 6778, 6786, 6789, 6792, 6796, 6800, 6802, + 6805, 6805, 6808, 6810, 6840, 6842, 6844, 6848, + 6853, 6857, 6862, 6864, 6866, 6868, 6877, 6881, + 6885, 6891, 6893, 6901, 6909, 6921, 6924, 6930, + 6934, 6936, 6940, 6960, 6962, 6964, 6975, 6981, + 6983, 6985, 6987, 6991, 6997, 7003, 7005, 7010, + 7014, 7016, 7024, 7042, 7082, 7092, 7096, 7098, + 7100, 7101, 7105, 7109, 7113, 7117, 7121, 7126, + 7130, 7134, 7138, 7140, 7142, 7146, 7156, 7160, + 7162, 7166, 7170, 7174, 7187, 7189, 7191, 7195, + 7197, 7201, 7203, 7205, 7235, 7239, 7243, 7247, + 7250, 7257, 7262, 7273, 7277, 7293, 7307, 7311, + 7316, 7320, 7324, 7330, 7332, 7338, 7340, 7344, + 7346, 7352, 7357, 7362, 7372, 7374, 7376, 7380, + 7384, 7386, 7399, 7401, 7405, 7409, 7417, 7419, + 7423, 7425, 7426, 7429, 7434, 7436, 7438, 7442, + 7444, 7448, 7454, 7474, 7480, 7486, 7488, 7489, + 7499, 7500, 7508, 7515, 7517, 7520, 7522, 7524, + 7526, 7531, 7535, 7539, 7544, 7554, 7564, 7568, + 7572, 7586, 7612, 7622, 7624, 7626, 7629, 7631, + 7634, 7636, 7640, 7642, 7643, 7647, 7649, 7651, + 7658, 7662, 7669, 7676, 7685, 7701, 7713, 7731, + 7742, 7754, 7762, 7780, 7788, 7818, 7821, 7831, + 7841, 7853, 7864, 7873, 7886, 7898, 7902, 7908, + 7935, 7944, 7947, 7952, 7958, 7963, 7984, 7988, + 7994, 7994, 8001, 8010, 8018, 8021, 8025, 8031, + 8037, 8040, 8044, 8051, 8057, 8066, 8075, 8079, + 8083, 8087, 8091, 8098, 8102, 8106, 8116, 8122, + 8126, 8132, 8136, 8139, 8145, 8151, 8163, 8167, + 8171, 8181, 8185, 8196, 8198, 8200, 8204, 8216, + 8221, 8245, 8249, 8255, 8277, 8286, 8290, 8293, + 8294, 8302, 8310, 8316, 8326, 8333, 8351, 8354, + 8357, 8365, 8371, 8375, 8379, 8383, 8389, 8397, + 8402, 8408, 8412, 8420, 8427, 8431, 8438, 8444, + 8452, 8460, 8466, 8472, 8483, 8487, 8499, 8508, + 8525, 8542, 8545, 8549, 8551, 8557, 8559, 8563, + 8578, 8582, 8586, 8590, 8594, 8598, 8600, 8606, + 8611, 8615, 8621, 8628, 8631, 8649, 8651, 8696, + 8702, 8708, 8712, 8716, 8722, 8726, 8732, 8738, + 8745, 8747, 8753, 8759, 8763, 8767, 8775, 8788, + 8794, 8801, 8809, 8815, 8824, 8830, 8834, 8839, + 8843, 8851, 8855, 8859, 8889, 8895, 8901, 8907, + 8913, 8920, 8926, 8933, 8938, 8948, 8952, 8959, + 8965, 8969, 8976, 8980, 8986, 8989, 8993, 8997, + 9001, 9005, 9010, 9015, 9019, 9030, 9034, 9038, + 9044, 9052, 9056, 9073, 9077, 9083, 9093, 9099, + 9105, 9108, 9113, 9122, 9126, 9130, 9136, 9140, + 9146, 9154, 9172, 9173, 9183, 9184, 9193, 9201, + 9203, 9206, 9208, 9210, 9212, 9217, 9230, 9234, + 9249, 9278, 9289, 9291, 9295, 9299, 9304, 9308, + 9310, 9317, 9321, 9329, 9333, 9408, 9410, 9411, + 9412, 9413, 9414, 9415, 9417, 9422, 9424, 9426, + 9427, 9471, 9472, 9473, 9475, 9480, 9484, 9484, + 9486, 9488, 9499, 9509, 9517, 9518, 9520, 9521, + 9525, 9529, 9539, 9543, 9550, 9561, 9568, 9572, + 9578, 9589, 9621, 9670, 9685, 9700, 9705, 9707, + 9712, 9744, 9752, 9754, 9776, 9798, 9800, 9816, + 9832, 9834, 9836, 9836, 9837, 9838, 9839, 9841, + 9842, 9854, 9856, 9858, 9860, 9874, 9888, 9890, + 9893, 9896, 9898, 9899, 9900, 9902, 9904, 9906, + 9920, 9934, 9936, 9939, 9942, 9944, 9945, 9946, + 9948, 9950, 9952, 10001, 10045, 10047, 10052, 10056, + 10056, 10058, 10060, 10071, 10081, 10089, 10090, 10092, + 10093, 10097, 10101, 10111, 10115, 10122, 10133, 10140, + 10144, 10150, 10161, 10193, 10242, 10257, 10272, 10277, + 10279, 10284, 10316, 10324, 10326, 10348, 10370, } var _hcltok_trans_keys []byte = []byte{ @@ -847,7 +844,7 @@ var _hcltok_trans_keys []byte = []byte{ 140, 141, 143, 144, 153, 154, 189, 190, 191, 128, 136, 137, 191, 173, 128, 168, 169, 177, 178, 180, 181, 182, 183, 191, - 128, 255, 192, 255, 150, 151, 158, 159, + 0, 127, 192, 255, 150, 151, 158, 159, 152, 154, 156, 158, 134, 135, 142, 143, 190, 191, 192, 255, 181, 189, 191, 128, 190, 133, 181, 128, 129, 130, 140, 141, @@ -989,589 +986,559 @@ var _hcltok_trans_keys []byte = []byte{ 158, 159, 186, 128, 185, 187, 191, 192, 255, 162, 191, 192, 255, 160, 168, 128, 159, 161, 167, 169, 191, 158, 191, 192, - 255, 123, 123, 128, 191, 128, 191, 128, - 191, 128, 191, 128, 191, 10, 123, 123, - 128, 191, 128, 191, 128, 191, 123, 123, - 10, 123, 128, 191, 128, 191, 128, 191, - 123, 123, 170, 181, 183, 186, 128, 150, - 152, 182, 184, 255, 192, 255, 128, 255, - 173, 130, 133, 146, 159, 165, 171, 175, - 255, 181, 190, 184, 185, 192, 255, 140, - 134, 138, 142, 161, 163, 255, 182, 130, - 136, 137, 176, 151, 152, 154, 160, 190, - 136, 144, 192, 255, 135, 129, 130, 132, - 133, 144, 170, 176, 178, 144, 154, 160, - 191, 128, 169, 174, 255, 148, 169, 157, - 158, 189, 190, 192, 255, 144, 255, 139, - 140, 178, 255, 186, 128, 181, 160, 161, - 162, 163, 164, 165, 166, 167, 168, 169, - 170, 171, 172, 173, 174, 175, 176, 177, - 178, 179, 180, 181, 182, 183, 184, 185, - 186, 187, 188, 189, 190, 191, 128, 173, - 128, 155, 160, 180, 182, 189, 148, 161, - 163, 255, 176, 164, 165, 132, 169, 177, - 141, 142, 145, 146, 179, 181, 186, 187, - 158, 133, 134, 137, 138, 143, 150, 152, - 155, 164, 165, 178, 255, 188, 129, 131, - 133, 138, 143, 144, 147, 168, 170, 176, - 178, 179, 181, 182, 184, 185, 190, 255, - 157, 131, 134, 137, 138, 142, 144, 146, - 152, 159, 165, 182, 255, 129, 131, 133, - 141, 143, 145, 147, 168, 170, 176, 178, - 179, 181, 185, 188, 255, 134, 138, 142, - 143, 145, 159, 164, 165, 176, 184, 186, - 255, 129, 131, 133, 140, 143, 144, 147, - 168, 170, 176, 178, 179, 181, 185, 188, - 191, 177, 128, 132, 135, 136, 139, 141, - 150, 151, 156, 157, 159, 163, 166, 175, - 156, 130, 131, 133, 138, 142, 144, 146, - 149, 153, 154, 158, 159, 163, 164, 168, - 170, 174, 185, 190, 191, 144, 151, 128, - 130, 134, 136, 138, 141, 166, 175, 128, - 131, 133, 140, 142, 144, 146, 168, 170, - 185, 189, 255, 133, 137, 151, 142, 148, - 155, 159, 164, 165, 176, 255, 128, 131, - 133, 140, 142, 144, 146, 168, 170, 179, - 181, 185, 188, 191, 158, 128, 132, 134, - 136, 138, 141, 149, 150, 160, 163, 166, - 175, 177, 178, 129, 131, 133, 140, 142, - 144, 146, 186, 189, 255, 133, 137, 143, - 147, 152, 158, 164, 165, 176, 185, 192, - 255, 189, 130, 131, 133, 150, 154, 177, - 179, 187, 138, 150, 128, 134, 143, 148, - 152, 159, 166, 175, 178, 179, 129, 186, - 128, 142, 144, 153, 132, 138, 141, 165, - 167, 129, 130, 135, 136, 148, 151, 153, - 159, 161, 163, 170, 171, 173, 185, 187, - 189, 134, 128, 132, 136, 141, 144, 153, - 156, 159, 128, 181, 183, 185, 152, 153, - 160, 169, 190, 191, 128, 135, 137, 172, - 177, 191, 128, 132, 134, 151, 153, 188, - 134, 128, 129, 130, 131, 137, 138, 139, - 140, 141, 142, 143, 144, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 168, 169, 170, 173, - 175, 176, 177, 178, 179, 181, 182, 183, - 188, 189, 190, 191, 132, 152, 172, 184, - 185, 187, 128, 191, 128, 137, 144, 255, - 158, 159, 134, 187, 136, 140, 142, 143, - 137, 151, 153, 142, 143, 158, 159, 137, - 177, 142, 143, 182, 183, 191, 255, 128, - 130, 133, 136, 150, 152, 255, 145, 150, - 151, 155, 156, 160, 168, 178, 255, 128, - 143, 160, 255, 182, 183, 190, 255, 129, - 255, 173, 174, 192, 255, 129, 154, 160, - 255, 171, 173, 185, 255, 128, 140, 142, - 148, 160, 180, 128, 147, 160, 172, 174, - 176, 178, 179, 148, 150, 152, 155, 158, - 159, 170, 255, 139, 141, 144, 153, 160, - 255, 184, 255, 128, 170, 176, 255, 182, - 255, 128, 158, 160, 171, 176, 187, 134, - 173, 176, 180, 128, 171, 176, 255, 138, - 143, 155, 255, 128, 155, 160, 255, 159, - 189, 190, 192, 255, 167, 128, 137, 144, - 153, 176, 189, 140, 143, 154, 170, 180, - 255, 180, 255, 128, 183, 128, 137, 141, - 189, 128, 136, 144, 146, 148, 182, 184, - 185, 128, 181, 187, 191, 150, 151, 158, - 159, 152, 154, 156, 158, 134, 135, 142, - 143, 190, 255, 190, 128, 180, 182, 188, - 130, 132, 134, 140, 144, 147, 150, 155, - 160, 172, 178, 180, 182, 188, 128, 129, - 130, 131, 132, 133, 134, 176, 177, 178, - 179, 180, 181, 182, 183, 191, 255, 129, - 147, 149, 176, 178, 190, 192, 255, 144, - 156, 161, 144, 156, 165, 176, 130, 135, - 149, 164, 166, 168, 138, 147, 152, 157, - 170, 185, 188, 191, 142, 133, 137, 160, - 255, 137, 255, 128, 174, 176, 255, 159, - 165, 170, 180, 255, 167, 173, 128, 165, - 176, 255, 168, 174, 176, 190, 192, 255, - 128, 150, 160, 166, 168, 174, 176, 182, - 184, 190, 128, 134, 136, 142, 144, 150, - 152, 158, 160, 191, 128, 129, 130, 131, - 132, 133, 134, 135, 144, 145, 255, 133, - 135, 161, 175, 177, 181, 184, 188, 160, - 151, 152, 187, 192, 255, 133, 173, 177, - 255, 143, 159, 187, 255, 176, 191, 182, - 183, 184, 191, 192, 255, 150, 255, 128, - 146, 147, 148, 152, 153, 154, 155, 156, - 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 168, 169, 170, 171, 172, 173, - 174, 175, 176, 129, 255, 141, 255, 144, - 189, 141, 143, 172, 255, 191, 128, 175, - 180, 189, 151, 159, 162, 255, 175, 137, - 138, 184, 255, 183, 255, 168, 255, 128, - 179, 188, 134, 143, 154, 159, 184, 186, - 190, 255, 128, 173, 176, 255, 148, 159, - 189, 255, 129, 142, 154, 159, 191, 255, - 128, 182, 128, 141, 144, 153, 160, 182, - 186, 255, 128, 130, 155, 157, 160, 175, - 178, 182, 129, 134, 137, 142, 145, 150, - 160, 166, 168, 174, 176, 255, 155, 166, - 175, 128, 170, 172, 173, 176, 185, 158, - 159, 160, 255, 164, 175, 135, 138, 188, - 255, 164, 169, 171, 172, 173, 174, 175, - 180, 181, 182, 183, 184, 185, 187, 188, - 189, 190, 191, 165, 186, 174, 175, 154, - 255, 190, 128, 134, 147, 151, 157, 168, - 170, 182, 184, 188, 128, 129, 131, 132, - 134, 255, 147, 255, 190, 255, 144, 145, - 136, 175, 188, 255, 128, 143, 160, 175, - 179, 180, 141, 143, 176, 180, 182, 255, - 189, 255, 191, 144, 153, 161, 186, 129, - 154, 166, 255, 191, 255, 130, 135, 138, - 143, 146, 151, 154, 156, 144, 145, 146, - 147, 148, 150, 151, 152, 155, 157, 158, - 160, 170, 171, 172, 175, 161, 169, 128, - 129, 130, 131, 133, 135, 138, 139, 140, - 141, 142, 143, 144, 145, 146, 147, 148, - 149, 152, 156, 157, 160, 161, 162, 163, - 164, 166, 168, 169, 170, 171, 172, 173, - 174, 176, 177, 153, 155, 178, 179, 128, - 139, 141, 166, 168, 186, 188, 189, 191, - 255, 142, 143, 158, 255, 187, 255, 128, - 180, 189, 128, 156, 160, 255, 145, 159, - 161, 255, 128, 159, 176, 255, 139, 143, - 187, 255, 128, 157, 160, 255, 144, 132, - 135, 150, 255, 158, 159, 170, 175, 148, - 151, 188, 255, 128, 167, 176, 255, 164, - 255, 183, 255, 128, 149, 160, 167, 136, - 188, 128, 133, 138, 181, 183, 184, 191, - 255, 150, 159, 183, 255, 128, 158, 160, - 178, 180, 181, 128, 149, 160, 185, 128, - 183, 190, 191, 191, 128, 131, 133, 134, - 140, 147, 149, 151, 153, 179, 184, 186, - 160, 188, 128, 156, 128, 135, 137, 166, - 128, 181, 128, 149, 160, 178, 128, 145, - 128, 178, 129, 130, 131, 132, 133, 135, - 136, 138, 139, 140, 141, 144, 145, 146, - 147, 150, 151, 152, 153, 154, 155, 156, - 162, 163, 171, 176, 177, 178, 128, 134, - 135, 165, 176, 190, 144, 168, 176, 185, - 128, 180, 182, 191, 182, 144, 179, 155, - 133, 137, 141, 143, 157, 255, 190, 128, - 145, 147, 183, 136, 128, 134, 138, 141, - 143, 157, 159, 168, 176, 255, 171, 175, - 186, 255, 128, 131, 133, 140, 143, 144, - 147, 168, 170, 176, 178, 179, 181, 185, - 188, 191, 144, 151, 128, 132, 135, 136, - 139, 141, 157, 163, 166, 172, 176, 180, - 128, 138, 144, 153, 134, 136, 143, 154, - 255, 128, 181, 184, 255, 129, 151, 158, - 255, 129, 131, 133, 143, 154, 255, 128, - 137, 128, 153, 157, 171, 176, 185, 160, - 255, 170, 190, 192, 255, 128, 184, 128, - 136, 138, 182, 184, 191, 128, 144, 153, - 178, 255, 168, 144, 145, 183, 255, 128, - 142, 145, 149, 129, 141, 144, 146, 147, - 148, 175, 255, 132, 255, 128, 144, 129, - 143, 144, 153, 145, 152, 135, 255, 160, - 168, 169, 171, 172, 173, 174, 188, 189, - 190, 191, 161, 167, 185, 255, 128, 158, - 160, 169, 144, 173, 176, 180, 128, 131, - 144, 153, 163, 183, 189, 255, 144, 255, - 133, 143, 191, 255, 143, 159, 160, 128, - 129, 255, 159, 160, 171, 172, 255, 173, - 255, 179, 255, 128, 176, 177, 178, 128, - 129, 171, 175, 189, 255, 128, 136, 144, - 153, 157, 158, 133, 134, 137, 144, 145, - 146, 147, 148, 149, 154, 155, 156, 157, - 158, 159, 168, 169, 170, 150, 153, 165, - 169, 173, 178, 187, 255, 131, 132, 140, - 169, 174, 255, 130, 132, 149, 157, 173, - 186, 188, 160, 161, 163, 164, 167, 168, - 132, 134, 149, 157, 186, 139, 140, 191, - 255, 134, 128, 132, 138, 144, 146, 255, - 166, 167, 129, 155, 187, 149, 181, 143, - 175, 137, 169, 131, 140, 141, 192, 255, - 128, 182, 187, 255, 173, 180, 182, 255, - 132, 155, 159, 161, 175, 128, 160, 163, - 164, 165, 184, 185, 186, 161, 162, 128, - 134, 136, 152, 155, 161, 163, 164, 166, - 170, 133, 143, 151, 255, 139, 143, 154, - 255, 164, 167, 185, 187, 128, 131, 133, - 159, 161, 162, 169, 178, 180, 183, 130, - 135, 137, 139, 148, 151, 153, 155, 157, - 159, 164, 190, 141, 143, 145, 146, 161, - 162, 167, 170, 172, 178, 180, 183, 185, - 188, 128, 137, 139, 155, 161, 163, 165, - 169, 171, 187, 155, 156, 151, 255, 156, - 157, 160, 181, 255, 186, 187, 255, 162, - 255, 160, 168, 161, 167, 158, 255, 160, - 132, 135, 133, 134, 176, 255, 128, 191, - 154, 164, 168, 128, 149, 150, 191, 128, - 152, 153, 191, 181, 128, 159, 160, 189, - 190, 191, 189, 128, 131, 132, 185, 186, - 191, 144, 128, 151, 152, 161, 162, 176, - 177, 255, 169, 177, 129, 132, 141, 142, - 145, 146, 179, 181, 186, 188, 190, 191, - 192, 255, 142, 158, 128, 155, 156, 161, - 162, 175, 176, 177, 178, 191, 169, 177, - 180, 183, 128, 132, 133, 138, 139, 142, - 143, 144, 145, 146, 147, 185, 186, 191, - 157, 128, 152, 153, 158, 159, 177, 178, - 180, 181, 191, 142, 146, 169, 177, 180, - 189, 128, 132, 133, 185, 186, 191, 144, - 185, 128, 159, 160, 161, 162, 191, 169, - 177, 180, 189, 128, 132, 133, 140, 141, - 142, 143, 144, 145, 146, 147, 185, 186, - 191, 158, 177, 128, 155, 156, 161, 162, - 191, 131, 145, 155, 157, 128, 132, 133, - 138, 139, 141, 142, 149, 150, 152, 153, - 159, 160, 162, 163, 164, 165, 167, 168, - 170, 171, 173, 174, 185, 186, 191, 144, - 128, 191, 141, 145, 169, 189, 128, 132, - 133, 185, 186, 191, 128, 151, 152, 154, - 155, 159, 160, 161, 162, 191, 128, 141, - 145, 169, 180, 189, 129, 132, 133, 185, - 186, 191, 158, 128, 159, 160, 161, 162, - 176, 177, 178, 179, 191, 141, 145, 189, - 128, 132, 133, 186, 187, 191, 142, 128, - 147, 148, 150, 151, 158, 159, 161, 162, - 185, 186, 191, 178, 188, 128, 132, 133, - 150, 151, 153, 154, 189, 190, 191, 128, - 134, 135, 191, 128, 177, 129, 179, 180, - 191, 128, 131, 137, 141, 152, 160, 164, - 166, 172, 177, 189, 129, 132, 133, 134, - 135, 138, 139, 147, 148, 167, 168, 169, - 170, 179, 180, 191, 133, 128, 134, 135, - 155, 156, 159, 160, 191, 128, 129, 191, - 136, 128, 172, 173, 191, 128, 135, 136, - 140, 141, 191, 191, 128, 170, 171, 190, - 161, 128, 143, 144, 149, 150, 153, 154, - 157, 158, 164, 165, 166, 167, 173, 174, - 176, 177, 180, 181, 255, 130, 141, 143, - 159, 134, 187, 136, 140, 142, 143, 137, - 151, 153, 142, 143, 158, 159, 137, 177, - 191, 142, 143, 182, 183, 192, 255, 129, - 151, 128, 133, 134, 135, 136, 255, 145, - 150, 151, 155, 191, 192, 255, 128, 143, - 144, 159, 160, 255, 182, 183, 190, 191, - 192, 255, 128, 129, 255, 173, 174, 192, - 255, 128, 129, 154, 155, 159, 160, 255, - 171, 173, 185, 191, 192, 255, 141, 128, - 145, 146, 159, 160, 177, 178, 191, 173, - 128, 145, 146, 159, 160, 176, 177, 191, - 128, 179, 180, 191, 151, 156, 128, 191, - 128, 159, 160, 255, 184, 191, 192, 255, - 169, 128, 170, 171, 175, 176, 255, 182, - 191, 192, 255, 128, 158, 159, 191, 128, - 143, 144, 173, 174, 175, 176, 180, 181, - 191, 128, 171, 172, 175, 176, 255, 138, - 191, 192, 255, 128, 150, 151, 159, 160, - 255, 149, 191, 192, 255, 167, 128, 191, - 128, 132, 133, 179, 180, 191, 128, 132, - 133, 139, 140, 191, 128, 130, 131, 160, - 161, 173, 174, 175, 176, 185, 186, 255, - 166, 191, 192, 255, 128, 163, 164, 191, - 128, 140, 141, 143, 144, 153, 154, 189, - 190, 191, 128, 136, 137, 191, 173, 128, - 168, 169, 177, 178, 180, 181, 182, 183, - 191, 128, 255, 192, 255, 150, 151, 158, - 159, 152, 154, 156, 158, 134, 135, 142, - 143, 190, 191, 192, 255, 181, 189, 191, - 128, 190, 133, 181, 128, 129, 130, 140, - 141, 143, 144, 147, 148, 149, 150, 155, - 156, 159, 160, 172, 173, 177, 178, 188, - 189, 191, 177, 191, 128, 190, 128, 143, - 144, 156, 157, 191, 130, 135, 148, 164, - 166, 168, 128, 137, 138, 149, 150, 151, - 152, 157, 158, 169, 170, 185, 186, 187, - 188, 191, 142, 128, 132, 133, 137, 138, - 159, 160, 255, 137, 191, 192, 255, 175, - 128, 255, 159, 165, 170, 175, 177, 180, - 191, 192, 255, 166, 173, 128, 167, 168, - 175, 176, 255, 168, 174, 176, 191, 192, - 255, 167, 175, 183, 191, 128, 150, 151, - 159, 160, 190, 135, 143, 151, 128, 158, - 159, 191, 128, 132, 133, 135, 136, 160, - 161, 169, 170, 176, 177, 181, 182, 183, - 184, 188, 189, 191, 160, 151, 154, 187, - 192, 255, 128, 132, 133, 173, 174, 176, - 177, 255, 143, 159, 187, 191, 192, 255, - 128, 175, 176, 191, 150, 191, 192, 255, - 141, 191, 192, 255, 128, 143, 144, 189, - 190, 191, 141, 143, 160, 169, 172, 191, - 192, 255, 191, 128, 174, 175, 190, 128, - 157, 158, 159, 160, 255, 176, 191, 192, - 255, 128, 150, 151, 159, 160, 161, 162, - 255, 175, 137, 138, 184, 191, 192, 255, - 128, 182, 183, 255, 130, 134, 139, 163, - 191, 192, 255, 128, 129, 130, 179, 180, - 191, 187, 189, 128, 177, 178, 183, 184, - 191, 128, 137, 138, 165, 166, 175, 176, - 255, 135, 159, 189, 191, 192, 255, 128, - 131, 132, 178, 179, 191, 143, 165, 191, - 128, 159, 160, 175, 176, 185, 186, 190, - 128, 168, 169, 191, 131, 186, 128, 139, - 140, 159, 160, 182, 183, 189, 190, 255, - 176, 178, 180, 183, 184, 190, 191, 192, - 255, 129, 128, 130, 131, 154, 155, 157, - 158, 159, 160, 170, 171, 177, 178, 180, - 181, 191, 128, 167, 175, 129, 134, 135, - 136, 137, 142, 143, 144, 145, 150, 151, - 159, 160, 255, 155, 166, 175, 128, 162, - 163, 191, 164, 175, 135, 138, 188, 191, - 192, 255, 174, 175, 154, 191, 192, 255, - 157, 169, 183, 189, 191, 128, 134, 135, - 146, 147, 151, 152, 158, 159, 190, 130, - 133, 128, 255, 178, 191, 192, 255, 128, - 146, 147, 255, 190, 191, 192, 255, 128, - 143, 144, 255, 144, 145, 136, 175, 188, - 191, 192, 255, 181, 128, 175, 176, 255, - 189, 191, 192, 255, 128, 160, 161, 186, - 187, 191, 128, 129, 154, 155, 165, 166, - 255, 191, 192, 255, 128, 129, 130, 135, - 136, 137, 138, 143, 144, 145, 146, 151, - 152, 153, 154, 156, 157, 191, 128, 191, - 128, 129, 130, 131, 133, 138, 139, 140, - 141, 142, 143, 144, 145, 146, 147, 148, - 149, 152, 156, 157, 160, 161, 162, 163, - 164, 166, 168, 169, 170, 171, 172, 173, - 174, 176, 177, 132, 151, 153, 155, 158, - 175, 178, 179, 180, 191, 140, 167, 187, - 190, 128, 255, 142, 143, 158, 191, 192, - 255, 187, 191, 192, 255, 128, 180, 181, - 191, 128, 156, 157, 159, 160, 255, 145, - 191, 192, 255, 128, 159, 160, 175, 176, - 255, 139, 143, 182, 191, 192, 255, 144, - 132, 135, 150, 191, 192, 255, 158, 175, - 148, 151, 188, 191, 192, 255, 128, 167, - 168, 175, 176, 255, 164, 191, 192, 255, - 183, 191, 192, 255, 128, 149, 150, 159, - 160, 167, 168, 191, 136, 182, 188, 128, - 133, 134, 137, 138, 184, 185, 190, 191, - 255, 150, 159, 183, 191, 192, 255, 179, - 128, 159, 160, 181, 182, 191, 128, 149, - 150, 159, 160, 185, 186, 191, 128, 183, - 184, 189, 190, 191, 128, 148, 152, 129, - 143, 144, 179, 180, 191, 128, 159, 160, - 188, 189, 191, 128, 156, 157, 191, 136, - 128, 164, 165, 191, 128, 181, 182, 191, - 128, 149, 150, 159, 160, 178, 179, 191, - 128, 145, 146, 191, 128, 178, 179, 191, - 128, 130, 131, 132, 133, 134, 135, 136, - 138, 139, 140, 141, 144, 145, 146, 147, - 150, 151, 152, 153, 154, 156, 162, 163, - 171, 176, 177, 178, 129, 191, 128, 130, - 131, 183, 184, 191, 128, 130, 131, 175, - 176, 191, 128, 143, 144, 168, 169, 191, - 128, 130, 131, 166, 167, 191, 182, 128, - 143, 144, 178, 179, 191, 128, 130, 131, - 178, 179, 191, 128, 154, 156, 129, 132, - 133, 191, 146, 128, 171, 172, 191, 135, - 137, 142, 158, 128, 168, 169, 175, 176, - 255, 159, 191, 192, 255, 144, 128, 156, - 157, 161, 162, 191, 128, 134, 135, 138, - 139, 191, 128, 175, 176, 191, 134, 128, - 131, 132, 135, 136, 191, 128, 174, 175, - 191, 128, 151, 152, 155, 156, 191, 132, - 128, 191, 128, 170, 171, 191, 128, 153, - 154, 191, 160, 190, 192, 255, 128, 184, - 185, 191, 137, 128, 174, 175, 191, 128, - 129, 177, 178, 255, 144, 191, 192, 255, - 128, 142, 143, 144, 145, 146, 149, 129, - 148, 150, 191, 175, 191, 192, 255, 132, - 191, 192, 255, 128, 144, 129, 143, 145, - 191, 144, 153, 128, 143, 145, 152, 154, - 191, 135, 191, 192, 255, 160, 168, 169, - 171, 172, 173, 174, 188, 189, 190, 191, - 128, 159, 161, 167, 170, 187, 185, 191, - 192, 255, 128, 143, 144, 173, 174, 191, - 128, 131, 132, 162, 163, 183, 184, 188, - 189, 255, 133, 143, 145, 191, 192, 255, - 128, 146, 147, 159, 160, 191, 160, 128, - 191, 128, 129, 191, 192, 255, 159, 160, - 171, 128, 170, 172, 191, 192, 255, 173, - 191, 192, 255, 179, 191, 192, 255, 128, - 176, 177, 178, 129, 191, 128, 129, 130, - 191, 171, 175, 189, 191, 192, 255, 128, - 136, 137, 143, 144, 153, 154, 191, 144, - 145, 146, 147, 148, 149, 154, 155, 156, - 157, 158, 159, 128, 143, 150, 153, 160, - 191, 149, 157, 173, 186, 188, 160, 161, - 163, 164, 167, 168, 132, 134, 149, 157, - 186, 191, 139, 140, 192, 255, 133, 145, - 128, 134, 135, 137, 138, 255, 166, 167, - 129, 155, 187, 149, 181, 143, 175, 137, - 169, 131, 140, 191, 192, 255, 160, 163, - 164, 165, 184, 185, 186, 128, 159, 161, - 162, 166, 191, 133, 191, 192, 255, 132, - 160, 163, 167, 179, 184, 186, 128, 164, - 165, 168, 169, 187, 188, 191, 130, 135, - 137, 139, 144, 147, 151, 153, 155, 157, - 159, 163, 171, 179, 184, 189, 191, 128, - 140, 141, 148, 149, 160, 161, 164, 165, - 166, 167, 190, 138, 164, 170, 128, 155, - 156, 160, 161, 187, 188, 191, 128, 191, - 155, 156, 128, 191, 151, 191, 192, 255, - 156, 157, 160, 128, 191, 181, 191, 192, - 255, 158, 159, 186, 128, 185, 187, 191, - 192, 255, 162, 191, 192, 255, 160, 168, - 128, 159, 161, 167, 169, 191, 158, 191, - 192, 255, 9, 10, 13, 32, 33, 34, - 35, 38, 46, 47, 60, 61, 62, 64, - 92, 95, 123, 124, 125, 126, 127, 194, - 195, 198, 199, 203, 204, 205, 206, 207, - 210, 212, 213, 214, 215, 216, 217, 219, - 220, 221, 222, 223, 224, 225, 226, 227, - 228, 233, 234, 237, 238, 239, 240, 0, - 36, 37, 45, 48, 57, 58, 63, 65, - 90, 91, 96, 97, 122, 192, 193, 196, - 218, 229, 236, 241, 247, 9, 32, 10, - 61, 10, 38, 46, 42, 47, 46, 69, - 101, 48, 57, 60, 61, 61, 62, 61, - 45, 95, 194, 195, 198, 199, 203, 204, - 205, 206, 207, 210, 212, 213, 214, 215, - 216, 217, 219, 220, 221, 222, 223, 224, - 225, 226, 227, 228, 233, 234, 237, 239, - 240, 243, 48, 57, 65, 90, 97, 122, - 196, 218, 229, 236, 124, 125, 128, 191, - 170, 181, 186, 128, 191, 151, 183, 128, - 255, 192, 255, 0, 127, 173, 130, 133, - 146, 159, 165, 171, 175, 191, 192, 255, - 181, 190, 128, 175, 176, 183, 184, 185, - 186, 191, 134, 139, 141, 162, 128, 135, - 136, 255, 182, 130, 137, 176, 151, 152, - 154, 160, 136, 191, 192, 255, 128, 143, - 144, 170, 171, 175, 176, 178, 179, 191, - 128, 159, 160, 191, 176, 128, 138, 139, - 173, 174, 255, 148, 150, 164, 167, 173, - 176, 185, 189, 190, 192, 255, 144, 128, - 145, 146, 175, 176, 191, 128, 140, 141, - 255, 166, 176, 178, 191, 192, 255, 186, - 128, 137, 138, 170, 171, 179, 180, 181, - 182, 191, 160, 161, 162, 164, 165, 166, + 255, 10, 13, 128, 191, 192, 223, 224, + 239, 240, 247, 248, 255, 128, 191, 128, + 191, 128, 191, 128, 191, 128, 191, 10, + 128, 191, 128, 191, 128, 191, 36, 123, + 37, 123, 10, 128, 191, 128, 191, 128, + 191, 36, 123, 37, 123, 170, 181, 183, + 186, 128, 150, 152, 182, 184, 255, 192, + 255, 128, 255, 173, 130, 133, 146, 159, + 165, 171, 175, 255, 181, 190, 184, 185, + 192, 255, 140, 134, 138, 142, 161, 163, + 255, 182, 130, 136, 137, 176, 151, 152, + 154, 160, 190, 136, 144, 192, 255, 135, + 129, 130, 132, 133, 144, 170, 176, 178, + 144, 154, 160, 191, 128, 169, 174, 255, + 148, 169, 157, 158, 189, 190, 192, 255, + 144, 255, 139, 140, 178, 255, 186, 128, + 181, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, - 128, 191, 128, 129, 130, 131, 137, 138, - 139, 140, 141, 142, 143, 144, 153, 154, - 155, 156, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, 173, 174, 175, 176, 177, 178, - 179, 180, 182, 183, 184, 188, 189, 190, - 191, 132, 187, 129, 130, 132, 133, 134, + 191, 128, 173, 128, 155, 160, 180, 182, + 189, 148, 161, 163, 255, 176, 164, 165, + 132, 169, 177, 141, 142, 145, 146, 179, + 181, 186, 187, 158, 133, 134, 137, 138, + 143, 150, 152, 155, 164, 165, 178, 255, + 188, 129, 131, 133, 138, 143, 144, 147, + 168, 170, 176, 178, 179, 181, 182, 184, + 185, 190, 255, 157, 131, 134, 137, 138, + 142, 144, 146, 152, 159, 165, 182, 255, + 129, 131, 133, 141, 143, 145, 147, 168, + 170, 176, 178, 179, 181, 185, 188, 255, + 134, 138, 142, 143, 145, 159, 164, 165, + 176, 184, 186, 255, 129, 131, 133, 140, + 143, 144, 147, 168, 170, 176, 178, 179, + 181, 185, 188, 191, 177, 128, 132, 135, + 136, 139, 141, 150, 151, 156, 157, 159, + 163, 166, 175, 156, 130, 131, 133, 138, + 142, 144, 146, 149, 153, 154, 158, 159, + 163, 164, 168, 170, 174, 185, 190, 191, + 144, 151, 128, 130, 134, 136, 138, 141, + 166, 175, 128, 131, 133, 140, 142, 144, + 146, 168, 170, 185, 189, 255, 133, 137, + 151, 142, 148, 155, 159, 164, 165, 176, + 255, 128, 131, 133, 140, 142, 144, 146, + 168, 170, 179, 181, 185, 188, 191, 158, + 128, 132, 134, 136, 138, 141, 149, 150, + 160, 163, 166, 175, 177, 178, 129, 131, + 133, 140, 142, 144, 146, 186, 189, 255, + 133, 137, 143, 147, 152, 158, 164, 165, + 176, 185, 192, 255, 189, 130, 131, 133, + 150, 154, 177, 179, 187, 138, 150, 128, + 134, 143, 148, 152, 159, 166, 175, 178, + 179, 129, 186, 128, 142, 144, 153, 132, + 138, 141, 165, 167, 129, 130, 135, 136, + 148, 151, 153, 159, 161, 163, 170, 171, + 173, 185, 187, 189, 134, 128, 132, 136, + 141, 144, 153, 156, 159, 128, 181, 183, + 185, 152, 153, 160, 169, 190, 191, 128, + 135, 137, 172, 177, 191, 128, 132, 134, + 151, 153, 188, 134, 128, 129, 130, 131, + 137, 138, 139, 140, 141, 142, 143, 144, + 153, 154, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 173, 175, 176, 177, 178, 179, + 181, 182, 183, 188, 189, 190, 191, 132, + 152, 172, 184, 185, 187, 128, 191, 128, + 137, 144, 255, 158, 159, 134, 187, 136, + 140, 142, 143, 137, 151, 153, 142, 143, + 158, 159, 137, 177, 142, 143, 182, 183, + 191, 255, 128, 130, 133, 136, 150, 152, + 255, 145, 150, 151, 155, 156, 160, 168, + 178, 255, 128, 143, 160, 255, 182, 183, + 190, 255, 129, 255, 173, 174, 192, 255, + 129, 154, 160, 255, 171, 173, 185, 255, + 128, 140, 142, 148, 160, 180, 128, 147, + 160, 172, 174, 176, 178, 179, 148, 150, + 152, 155, 158, 159, 170, 255, 139, 141, + 144, 153, 160, 255, 184, 255, 128, 170, + 176, 255, 182, 255, 128, 158, 160, 171, + 176, 187, 134, 173, 176, 180, 128, 171, + 176, 255, 138, 143, 155, 255, 128, 155, + 160, 255, 159, 189, 190, 192, 255, 167, + 128, 137, 144, 153, 176, 189, 140, 143, + 154, 170, 180, 255, 180, 255, 128, 183, + 128, 137, 141, 189, 128, 136, 144, 146, + 148, 182, 184, 185, 128, 181, 187, 191, + 150, 151, 158, 159, 152, 154, 156, 158, + 134, 135, 142, 143, 190, 255, 190, 128, + 180, 182, 188, 130, 132, 134, 140, 144, + 147, 150, 155, 160, 172, 178, 180, 182, + 188, 128, 129, 130, 131, 132, 133, 134, 176, 177, 178, 179, 180, 181, 182, 183, - 128, 191, 128, 129, 130, 131, 132, 133, - 134, 135, 144, 136, 143, 145, 191, 192, - 255, 182, 183, 184, 128, 191, 128, 191, - 191, 128, 190, 192, 255, 128, 146, 147, - 148, 152, 153, 154, 155, 156, 158, 159, - 160, 161, 162, 163, 164, 165, 166, 167, - 168, 169, 170, 171, 172, 173, 174, 175, - 176, 129, 191, 192, 255, 158, 159, 128, - 157, 160, 191, 192, 255, 128, 191, 164, - 169, 171, 172, 173, 174, 175, 180, 181, - 182, 183, 184, 185, 187, 188, 189, 190, - 191, 128, 163, 165, 186, 144, 145, 146, - 147, 148, 150, 151, 152, 155, 157, 158, - 160, 170, 171, 172, 175, 128, 159, 161, - 169, 173, 191, 128, 191, 10, 13, 34, - 36, 37, 92, 128, 191, 192, 223, 224, - 239, 240, 247, 248, 255, 10, 13, 34, - 36, 37, 92, 128, 191, 192, 223, 224, - 239, 240, 247, 248, 255, 10, 13, 34, - 36, 37, 92, 128, 191, 192, 223, 224, - 239, 240, 247, 248, 255, 10, 13, 34, - 36, 37, 92, 128, 191, 192, 223, 224, - 239, 240, 247, 248, 255, 10, 13, 36, - 37, 92, 128, 191, 192, 223, 224, 239, - 240, 247, 248, 255, 36, 37, 92, 123, - 192, 223, 224, 239, 240, 247, 10, 13, - 34, 36, 37, 92, 123, 128, 191, 192, - 223, 224, 239, 240, 247, 248, 255, 10, - 13, 34, 36, 37, 92, 123, 128, 191, - 192, 223, 224, 239, 240, 247, 248, 255, - 10, 13, 34, 36, 37, 92, 123, 128, - 191, 192, 223, 224, 239, 240, 247, 248, - 255, 10, 13, 34, 36, 37, 92, 128, - 191, 192, 223, 224, 239, 240, 247, 248, - 255, 36, 37, 92, 123, 192, 223, 224, - 239, 240, 247, 10, 13, 34, 36, 37, - 92, 123, 128, 191, 192, 223, 224, 239, - 240, 247, 248, 255, 10, 13, 34, 36, - 37, 92, 128, 191, 192, 223, 224, 239, - 240, 247, 248, 255, 10, 13, 34, 36, - 37, 92, 128, 191, 192, 223, 224, 239, - 240, 247, 248, 255, 10, 13, 34, 36, - 37, 92, 128, 191, 192, 223, 224, 239, - 240, 247, 248, 255, 10, 13, 34, 36, - 37, 92, 128, 191, 192, 223, 224, 239, - 240, 247, 248, 255, 10, 13, 34, 36, - 37, 92, 128, 191, 192, 223, 224, 239, - 240, 247, 248, 255, 10, 13, 34, 36, - 37, 92, 128, 191, 192, 223, 224, 239, - 240, 247, 248, 255, 10, 13, 34, 36, - 37, 92, 128, 191, 192, 223, 224, 239, - 240, 247, 248, 255, 123, 126, 123, 126, - 128, 191, 128, 191, 128, 191, 10, 13, - 36, 37, 128, 191, 192, 223, 224, 239, - 240, 247, 248, 255, 10, 13, 36, 37, - 128, 191, 192, 223, 224, 239, 240, 247, - 248, 255, 10, 13, 36, 37, 128, 191, - 192, 223, 224, 239, 240, 247, 248, 255, - 10, 13, 36, 37, 128, 191, 192, 223, - 224, 239, 240, 247, 248, 255, 126, 126, - 128, 191, 128, 191, 128, 191, 10, 13, - 36, 37, 128, 191, 192, 223, 224, 239, - 240, 247, 248, 255, 10, 13, 36, 37, - 128, 191, 192, 223, 224, 239, 240, 247, - 248, 255, 126, 126, 128, 191, 128, 191, - 128, 191, 95, 194, 195, 198, 199, 203, - 204, 205, 206, 207, 210, 212, 213, 214, - 215, 216, 217, 219, 220, 221, 222, 223, - 224, 225, 226, 227, 228, 233, 234, 237, - 238, 239, 240, 65, 90, 97, 122, 128, - 191, 192, 193, 196, 218, 229, 236, 241, - 247, 248, 255, 45, 95, 194, 195, 198, + 191, 255, 129, 147, 149, 176, 178, 190, + 192, 255, 144, 156, 161, 144, 156, 165, + 176, 130, 135, 149, 164, 166, 168, 138, + 147, 152, 157, 170, 185, 188, 191, 142, + 133, 137, 160, 255, 137, 255, 128, 174, + 176, 255, 159, 165, 170, 180, 255, 167, + 173, 128, 165, 176, 255, 168, 174, 176, + 190, 192, 255, 128, 150, 160, 166, 168, + 174, 176, 182, 184, 190, 128, 134, 136, + 142, 144, 150, 152, 158, 160, 191, 128, + 129, 130, 131, 132, 133, 134, 135, 144, + 145, 255, 133, 135, 161, 175, 177, 181, + 184, 188, 160, 151, 152, 187, 192, 255, + 133, 173, 177, 255, 143, 159, 187, 255, + 176, 191, 182, 183, 184, 191, 192, 255, + 150, 255, 128, 146, 147, 148, 152, 153, + 154, 155, 156, 158, 159, 160, 161, 162, + 163, 164, 165, 166, 167, 168, 169, 170, + 171, 172, 173, 174, 175, 176, 129, 255, + 141, 255, 144, 189, 141, 143, 172, 255, + 191, 128, 175, 180, 189, 151, 159, 162, + 255, 175, 137, 138, 184, 255, 183, 255, + 168, 255, 128, 179, 188, 134, 143, 154, + 159, 184, 186, 190, 255, 128, 173, 176, + 255, 148, 159, 189, 255, 129, 142, 154, + 159, 191, 255, 128, 182, 128, 141, 144, + 153, 160, 182, 186, 255, 128, 130, 155, + 157, 160, 175, 178, 182, 129, 134, 137, + 142, 145, 150, 160, 166, 168, 174, 176, + 255, 155, 166, 175, 128, 170, 172, 173, + 176, 185, 158, 159, 160, 255, 164, 175, + 135, 138, 188, 255, 164, 169, 171, 172, + 173, 174, 175, 180, 181, 182, 183, 184, + 185, 187, 188, 189, 190, 191, 165, 186, + 174, 175, 154, 255, 190, 128, 134, 147, + 151, 157, 168, 170, 182, 184, 188, 128, + 129, 131, 132, 134, 255, 147, 255, 190, + 255, 144, 145, 136, 175, 188, 255, 128, + 143, 160, 175, 179, 180, 141, 143, 176, + 180, 182, 255, 189, 255, 191, 144, 153, + 161, 186, 129, 154, 166, 255, 191, 255, + 130, 135, 138, 143, 146, 151, 154, 156, + 144, 145, 146, 147, 148, 150, 151, 152, + 155, 157, 158, 160, 170, 171, 172, 175, + 161, 169, 128, 129, 130, 131, 133, 135, + 138, 139, 140, 141, 142, 143, 144, 145, + 146, 147, 148, 149, 152, 156, 157, 160, + 161, 162, 163, 164, 166, 168, 169, 170, + 171, 172, 173, 174, 176, 177, 153, 155, + 178, 179, 128, 139, 141, 166, 168, 186, + 188, 189, 191, 255, 142, 143, 158, 255, + 187, 255, 128, 180, 189, 128, 156, 160, + 255, 145, 159, 161, 255, 128, 159, 176, + 255, 139, 143, 187, 255, 128, 157, 160, + 255, 144, 132, 135, 150, 255, 158, 159, + 170, 175, 148, 151, 188, 255, 128, 167, + 176, 255, 164, 255, 183, 255, 128, 149, + 160, 167, 136, 188, 128, 133, 138, 181, + 183, 184, 191, 255, 150, 159, 183, 255, + 128, 158, 160, 178, 180, 181, 128, 149, + 160, 185, 128, 183, 190, 191, 191, 128, + 131, 133, 134, 140, 147, 149, 151, 153, + 179, 184, 186, 160, 188, 128, 156, 128, + 135, 137, 166, 128, 181, 128, 149, 160, + 178, 128, 145, 128, 178, 129, 130, 131, + 132, 133, 135, 136, 138, 139, 140, 141, + 144, 145, 146, 147, 150, 151, 152, 153, + 154, 155, 156, 162, 163, 171, 176, 177, + 178, 128, 134, 135, 165, 176, 190, 144, + 168, 176, 185, 128, 180, 182, 191, 182, + 144, 179, 155, 133, 137, 141, 143, 157, + 255, 190, 128, 145, 147, 183, 136, 128, + 134, 138, 141, 143, 157, 159, 168, 176, + 255, 171, 175, 186, 255, 128, 131, 133, + 140, 143, 144, 147, 168, 170, 176, 178, + 179, 181, 185, 188, 191, 144, 151, 128, + 132, 135, 136, 139, 141, 157, 163, 166, + 172, 176, 180, 128, 138, 144, 153, 134, + 136, 143, 154, 255, 128, 181, 184, 255, + 129, 151, 158, 255, 129, 131, 133, 143, + 154, 255, 128, 137, 128, 153, 157, 171, + 176, 185, 160, 255, 170, 190, 192, 255, + 128, 184, 128, 136, 138, 182, 184, 191, + 128, 144, 153, 178, 255, 168, 144, 145, + 183, 255, 128, 142, 145, 149, 129, 141, + 144, 146, 147, 148, 175, 255, 132, 255, + 128, 144, 129, 143, 144, 153, 145, 152, + 135, 255, 160, 168, 169, 171, 172, 173, + 174, 188, 189, 190, 191, 161, 167, 185, + 255, 128, 158, 160, 169, 144, 173, 176, + 180, 128, 131, 144, 153, 163, 183, 189, + 255, 144, 255, 133, 143, 191, 255, 143, + 159, 160, 128, 129, 255, 159, 160, 171, + 172, 255, 173, 255, 179, 255, 128, 176, + 177, 178, 128, 129, 171, 175, 189, 255, + 128, 136, 144, 153, 157, 158, 133, 134, + 137, 144, 145, 146, 147, 148, 149, 154, + 155, 156, 157, 158, 159, 168, 169, 170, + 150, 153, 165, 169, 173, 178, 187, 255, + 131, 132, 140, 169, 174, 255, 130, 132, + 149, 157, 173, 186, 188, 160, 161, 163, + 164, 167, 168, 132, 134, 149, 157, 186, + 139, 140, 191, 255, 134, 128, 132, 138, + 144, 146, 255, 166, 167, 129, 155, 187, + 149, 181, 143, 175, 137, 169, 131, 140, + 141, 192, 255, 128, 182, 187, 255, 173, + 180, 182, 255, 132, 155, 159, 161, 175, + 128, 160, 163, 164, 165, 184, 185, 186, + 161, 162, 128, 134, 136, 152, 155, 161, + 163, 164, 166, 170, 133, 143, 151, 255, + 139, 143, 154, 255, 164, 167, 185, 187, + 128, 131, 133, 159, 161, 162, 169, 178, + 180, 183, 130, 135, 137, 139, 148, 151, + 153, 155, 157, 159, 164, 190, 141, 143, + 145, 146, 161, 162, 167, 170, 172, 178, + 180, 183, 185, 188, 128, 137, 139, 155, + 161, 163, 165, 169, 171, 187, 155, 156, + 151, 255, 156, 157, 160, 181, 255, 186, + 187, 255, 162, 255, 160, 168, 161, 167, + 158, 255, 160, 132, 135, 133, 134, 176, + 255, 128, 191, 154, 164, 168, 128, 149, + 150, 191, 128, 152, 153, 191, 181, 128, + 159, 160, 189, 190, 191, 189, 128, 131, + 132, 185, 186, 191, 144, 128, 151, 152, + 161, 162, 176, 177, 255, 169, 177, 129, + 132, 141, 142, 145, 146, 179, 181, 186, + 188, 190, 191, 192, 255, 142, 158, 128, + 155, 156, 161, 162, 175, 176, 177, 178, + 191, 169, 177, 180, 183, 128, 132, 133, + 138, 139, 142, 143, 144, 145, 146, 147, + 185, 186, 191, 157, 128, 152, 153, 158, + 159, 177, 178, 180, 181, 191, 142, 146, + 169, 177, 180, 189, 128, 132, 133, 185, + 186, 191, 144, 185, 128, 159, 160, 161, + 162, 191, 169, 177, 180, 189, 128, 132, + 133, 140, 141, 142, 143, 144, 145, 146, + 147, 185, 186, 191, 158, 177, 128, 155, + 156, 161, 162, 191, 131, 145, 155, 157, + 128, 132, 133, 138, 139, 141, 142, 149, + 150, 152, 153, 159, 160, 162, 163, 164, + 165, 167, 168, 170, 171, 173, 174, 185, + 186, 191, 144, 128, 191, 141, 145, 169, + 189, 128, 132, 133, 185, 186, 191, 128, + 151, 152, 154, 155, 159, 160, 161, 162, + 191, 128, 141, 145, 169, 180, 189, 129, + 132, 133, 185, 186, 191, 158, 128, 159, + 160, 161, 162, 176, 177, 178, 179, 191, + 141, 145, 189, 128, 132, 133, 186, 187, + 191, 142, 128, 147, 148, 150, 151, 158, + 159, 161, 162, 185, 186, 191, 178, 188, + 128, 132, 133, 150, 151, 153, 154, 189, + 190, 191, 128, 134, 135, 191, 128, 177, + 129, 179, 180, 191, 128, 131, 137, 141, + 152, 160, 164, 166, 172, 177, 189, 129, + 132, 133, 134, 135, 138, 139, 147, 148, + 167, 168, 169, 170, 179, 180, 191, 133, + 128, 134, 135, 155, 156, 159, 160, 191, + 128, 129, 191, 136, 128, 172, 173, 191, + 128, 135, 136, 140, 141, 191, 191, 128, + 170, 171, 190, 161, 128, 143, 144, 149, + 150, 153, 154, 157, 158, 164, 165, 166, + 167, 173, 174, 176, 177, 180, 181, 255, + 130, 141, 143, 159, 134, 187, 136, 140, + 142, 143, 137, 151, 153, 142, 143, 158, + 159, 137, 177, 191, 142, 143, 182, 183, + 192, 255, 129, 151, 128, 133, 134, 135, + 136, 255, 145, 150, 151, 155, 191, 192, + 255, 128, 143, 144, 159, 160, 255, 182, + 183, 190, 191, 192, 255, 128, 129, 255, + 173, 174, 192, 255, 128, 129, 154, 155, + 159, 160, 255, 171, 173, 185, 191, 192, + 255, 141, 128, 145, 146, 159, 160, 177, + 178, 191, 173, 128, 145, 146, 159, 160, + 176, 177, 191, 128, 179, 180, 191, 151, + 156, 128, 191, 128, 159, 160, 255, 184, + 191, 192, 255, 169, 128, 170, 171, 175, + 176, 255, 182, 191, 192, 255, 128, 158, + 159, 191, 128, 143, 144, 173, 174, 175, + 176, 180, 181, 191, 128, 171, 172, 175, + 176, 255, 138, 191, 192, 255, 128, 150, + 151, 159, 160, 255, 149, 191, 192, 255, + 167, 128, 191, 128, 132, 133, 179, 180, + 191, 128, 132, 133, 139, 140, 191, 128, + 130, 131, 160, 161, 173, 174, 175, 176, + 185, 186, 255, 166, 191, 192, 255, 128, + 163, 164, 191, 128, 140, 141, 143, 144, + 153, 154, 189, 190, 191, 128, 136, 137, + 191, 173, 128, 168, 169, 177, 178, 180, + 181, 182, 183, 191, 0, 127, 192, 255, + 150, 151, 158, 159, 152, 154, 156, 158, + 134, 135, 142, 143, 190, 191, 192, 255, + 181, 189, 191, 128, 190, 133, 181, 128, + 129, 130, 140, 141, 143, 144, 147, 148, + 149, 150, 155, 156, 159, 160, 172, 173, + 177, 178, 188, 189, 191, 177, 191, 128, + 190, 128, 143, 144, 156, 157, 191, 130, + 135, 148, 164, 166, 168, 128, 137, 138, + 149, 150, 151, 152, 157, 158, 169, 170, + 185, 186, 187, 188, 191, 142, 128, 132, + 133, 137, 138, 159, 160, 255, 137, 191, + 192, 255, 175, 128, 255, 159, 165, 170, + 175, 177, 180, 191, 192, 255, 166, 173, + 128, 167, 168, 175, 176, 255, 168, 174, + 176, 191, 192, 255, 167, 175, 183, 191, + 128, 150, 151, 159, 160, 190, 135, 143, + 151, 128, 158, 159, 191, 128, 132, 133, + 135, 136, 160, 161, 169, 170, 176, 177, + 181, 182, 183, 184, 188, 189, 191, 160, + 151, 154, 187, 192, 255, 128, 132, 133, + 173, 174, 176, 177, 255, 143, 159, 187, + 191, 192, 255, 128, 175, 176, 191, 150, + 191, 192, 255, 141, 191, 192, 255, 128, + 143, 144, 189, 190, 191, 141, 143, 160, + 169, 172, 191, 192, 255, 191, 128, 174, + 175, 190, 128, 157, 158, 159, 160, 255, + 176, 191, 192, 255, 128, 150, 151, 159, + 160, 161, 162, 255, 175, 137, 138, 184, + 191, 192, 255, 128, 182, 183, 255, 130, + 134, 139, 163, 191, 192, 255, 128, 129, + 130, 179, 180, 191, 187, 189, 128, 177, + 178, 183, 184, 191, 128, 137, 138, 165, + 166, 175, 176, 255, 135, 159, 189, 191, + 192, 255, 128, 131, 132, 178, 179, 191, + 143, 165, 191, 128, 159, 160, 175, 176, + 185, 186, 190, 128, 168, 169, 191, 131, + 186, 128, 139, 140, 159, 160, 182, 183, + 189, 190, 255, 176, 178, 180, 183, 184, + 190, 191, 192, 255, 129, 128, 130, 131, + 154, 155, 157, 158, 159, 160, 170, 171, + 177, 178, 180, 181, 191, 128, 167, 175, + 129, 134, 135, 136, 137, 142, 143, 144, + 145, 150, 151, 159, 160, 255, 155, 166, + 175, 128, 162, 163, 191, 164, 175, 135, + 138, 188, 191, 192, 255, 174, 175, 154, + 191, 192, 255, 157, 169, 183, 189, 191, + 128, 134, 135, 146, 147, 151, 152, 158, + 159, 190, 130, 133, 128, 255, 178, 191, + 192, 255, 128, 146, 147, 255, 190, 191, + 192, 255, 128, 143, 144, 255, 144, 145, + 136, 175, 188, 191, 192, 255, 181, 128, + 175, 176, 255, 189, 191, 192, 255, 128, + 160, 161, 186, 187, 191, 128, 129, 154, + 155, 165, 166, 255, 191, 192, 255, 128, + 129, 130, 135, 136, 137, 138, 143, 144, + 145, 146, 151, 152, 153, 154, 156, 157, + 191, 128, 191, 128, 129, 130, 131, 133, + 138, 139, 140, 141, 142, 143, 144, 145, + 146, 147, 148, 149, 152, 156, 157, 160, + 161, 162, 163, 164, 166, 168, 169, 170, + 171, 172, 173, 174, 176, 177, 132, 151, + 153, 155, 158, 175, 178, 179, 180, 191, + 140, 167, 187, 190, 128, 255, 142, 143, + 158, 191, 192, 255, 187, 191, 192, 255, + 128, 180, 181, 191, 128, 156, 157, 159, + 160, 255, 145, 191, 192, 255, 128, 159, + 160, 175, 176, 255, 139, 143, 182, 191, + 192, 255, 144, 132, 135, 150, 191, 192, + 255, 158, 175, 148, 151, 188, 191, 192, + 255, 128, 167, 168, 175, 176, 255, 164, + 191, 192, 255, 183, 191, 192, 255, 128, + 149, 150, 159, 160, 167, 168, 191, 136, + 182, 188, 128, 133, 134, 137, 138, 184, + 185, 190, 191, 255, 150, 159, 183, 191, + 192, 255, 179, 128, 159, 160, 181, 182, + 191, 128, 149, 150, 159, 160, 185, 186, + 191, 128, 183, 184, 189, 190, 191, 128, + 148, 152, 129, 143, 144, 179, 180, 191, + 128, 159, 160, 188, 189, 191, 128, 156, + 157, 191, 136, 128, 164, 165, 191, 128, + 181, 182, 191, 128, 149, 150, 159, 160, + 178, 179, 191, 128, 145, 146, 191, 128, + 178, 179, 191, 128, 130, 131, 132, 133, + 134, 135, 136, 138, 139, 140, 141, 144, + 145, 146, 147, 150, 151, 152, 153, 154, + 156, 162, 163, 171, 176, 177, 178, 129, + 191, 128, 130, 131, 183, 184, 191, 128, + 130, 131, 175, 176, 191, 128, 143, 144, + 168, 169, 191, 128, 130, 131, 166, 167, + 191, 182, 128, 143, 144, 178, 179, 191, + 128, 130, 131, 178, 179, 191, 128, 154, + 156, 129, 132, 133, 191, 146, 128, 171, + 172, 191, 135, 137, 142, 158, 128, 168, + 169, 175, 176, 255, 159, 191, 192, 255, + 144, 128, 156, 157, 161, 162, 191, 128, + 134, 135, 138, 139, 191, 128, 175, 176, + 191, 134, 128, 131, 132, 135, 136, 191, + 128, 174, 175, 191, 128, 151, 152, 155, + 156, 191, 132, 128, 191, 128, 170, 171, + 191, 128, 153, 154, 191, 160, 190, 192, + 255, 128, 184, 185, 191, 137, 128, 174, + 175, 191, 128, 129, 177, 178, 255, 144, + 191, 192, 255, 128, 142, 143, 144, 145, + 146, 149, 129, 148, 150, 191, 175, 191, + 192, 255, 132, 191, 192, 255, 128, 144, + 129, 143, 145, 191, 144, 153, 128, 143, + 145, 152, 154, 191, 135, 191, 192, 255, + 160, 168, 169, 171, 172, 173, 174, 188, + 189, 190, 191, 128, 159, 161, 167, 170, + 187, 185, 191, 192, 255, 128, 143, 144, + 173, 174, 191, 128, 131, 132, 162, 163, + 183, 184, 188, 189, 255, 133, 143, 145, + 191, 192, 255, 128, 146, 147, 159, 160, + 191, 160, 128, 191, 128, 129, 191, 192, + 255, 159, 160, 171, 128, 170, 172, 191, + 192, 255, 173, 191, 192, 255, 179, 191, + 192, 255, 128, 176, 177, 178, 129, 191, + 128, 129, 130, 191, 171, 175, 189, 191, + 192, 255, 128, 136, 137, 143, 144, 153, + 154, 191, 144, 145, 146, 147, 148, 149, + 154, 155, 156, 157, 158, 159, 128, 143, + 150, 153, 160, 191, 149, 157, 173, 186, + 188, 160, 161, 163, 164, 167, 168, 132, + 134, 149, 157, 186, 191, 139, 140, 192, + 255, 133, 145, 128, 134, 135, 137, 138, + 255, 166, 167, 129, 155, 187, 149, 181, + 143, 175, 137, 169, 131, 140, 191, 192, + 255, 160, 163, 164, 165, 184, 185, 186, + 128, 159, 161, 162, 166, 191, 133, 191, + 192, 255, 132, 160, 163, 167, 179, 184, + 186, 128, 164, 165, 168, 169, 187, 188, + 191, 130, 135, 137, 139, 144, 147, 151, + 153, 155, 157, 159, 163, 171, 179, 184, + 189, 191, 128, 140, 141, 148, 149, 160, + 161, 164, 165, 166, 167, 190, 138, 164, + 170, 128, 155, 156, 160, 161, 187, 188, + 191, 128, 191, 155, 156, 128, 191, 151, + 191, 192, 255, 156, 157, 160, 128, 191, + 181, 191, 192, 255, 158, 159, 186, 128, + 185, 187, 191, 192, 255, 162, 191, 192, + 255, 160, 168, 128, 159, 161, 167, 169, + 191, 158, 191, 192, 255, 9, 10, 13, + 32, 33, 34, 35, 38, 46, 47, 60, + 61, 62, 64, 92, 95, 123, 124, 125, + 126, 127, 194, 195, 198, 199, 203, 204, + 205, 206, 207, 210, 212, 213, 214, 215, + 216, 217, 219, 220, 221, 222, 223, 224, + 225, 226, 227, 228, 233, 234, 237, 238, + 239, 240, 0, 36, 37, 45, 48, 57, + 58, 63, 65, 90, 91, 96, 97, 122, + 192, 193, 196, 218, 229, 236, 241, 247, + 9, 32, 10, 61, 10, 38, 46, 42, + 47, 46, 69, 101, 48, 57, 60, 61, + 61, 62, 61, 45, 95, 194, 195, 198, 199, 203, 204, 205, 206, 207, 210, 212, 213, 214, 215, 216, 217, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 233, 234, 237, 239, 240, 243, 48, 57, 65, - 90, 97, 122, 196, 218, 229, 236, 128, - 191, 170, 181, 186, 128, 191, 151, 183, - 128, 255, 192, 255, 0, 127, 173, 130, - 133, 146, 159, 165, 171, 175, 191, 192, - 255, 181, 190, 128, 175, 176, 183, 184, - 185, 186, 191, 134, 139, 141, 162, 128, - 135, 136, 255, 182, 130, 137, 176, 151, - 152, 154, 160, 136, 191, 192, 255, 128, - 143, 144, 170, 171, 175, 176, 178, 179, - 191, 128, 159, 160, 191, 176, 128, 138, - 139, 173, 174, 255, 148, 150, 164, 167, - 173, 176, 185, 189, 190, 192, 255, 144, - 128, 145, 146, 175, 176, 191, 128, 140, - 141, 255, 166, 176, 178, 191, 192, 255, - 186, 128, 137, 138, 170, 171, 179, 180, - 181, 182, 191, 160, 161, 162, 164, 165, - 166, 167, 168, 169, 170, 171, 172, 173, - 174, 175, 176, 177, 178, 179, 180, 181, - 182, 183, 184, 185, 186, 187, 188, 189, - 190, 128, 191, 128, 129, 130, 131, 137, - 138, 139, 140, 141, 142, 143, 144, 153, - 154, 155, 156, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, 168, 169, - 170, 171, 172, 173, 174, 175, 176, 177, - 178, 179, 180, 182, 183, 184, 188, 189, - 190, 191, 132, 187, 129, 130, 132, 133, - 134, 176, 177, 178, 179, 180, 181, 182, - 183, 128, 191, 128, 129, 130, 131, 132, - 133, 134, 135, 144, 136, 143, 145, 191, - 192, 255, 182, 183, 184, 128, 191, 128, - 191, 191, 128, 190, 192, 255, 128, 146, - 147, 148, 152, 153, 154, 155, 156, 158, - 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 171, 172, 173, 174, - 175, 176, 129, 191, 192, 255, 158, 159, - 128, 157, 160, 191, 192, 255, 128, 191, - 164, 169, 171, 172, 173, 174, 175, 180, - 181, 182, 183, 184, 185, 187, 188, 189, - 190, 191, 128, 163, 165, 186, 144, 145, - 146, 147, 148, 150, 151, 152, 155, 157, - 158, 160, 170, 171, 172, 175, 128, 159, - 161, 169, 173, 191, 128, 191, + 90, 97, 122, 196, 218, 229, 236, 124, + 125, 128, 191, 170, 181, 186, 128, 191, + 151, 183, 128, 255, 192, 255, 0, 127, + 173, 130, 133, 146, 159, 165, 171, 175, + 191, 192, 255, 181, 190, 128, 175, 176, + 183, 184, 185, 186, 191, 134, 139, 141, + 162, 128, 135, 136, 255, 182, 130, 137, + 176, 151, 152, 154, 160, 136, 191, 192, + 255, 128, 143, 144, 170, 171, 175, 176, + 178, 179, 191, 128, 159, 160, 191, 176, + 128, 138, 139, 173, 174, 255, 148, 150, + 164, 167, 173, 176, 185, 189, 190, 192, + 255, 144, 128, 145, 146, 175, 176, 191, + 128, 140, 141, 255, 166, 176, 178, 191, + 192, 255, 186, 128, 137, 138, 170, 171, + 179, 180, 181, 182, 191, 160, 161, 162, + 164, 165, 166, 167, 168, 169, 170, 171, + 172, 173, 174, 175, 176, 177, 178, 179, + 180, 181, 182, 183, 184, 185, 186, 187, + 188, 189, 190, 128, 191, 128, 129, 130, + 131, 137, 138, 139, 140, 141, 142, 143, + 144, 153, 154, 155, 156, 157, 158, 159, + 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, 173, 174, 175, + 176, 177, 178, 179, 180, 182, 183, 184, + 188, 189, 190, 191, 132, 187, 129, 130, + 132, 133, 134, 176, 177, 178, 179, 180, + 181, 182, 183, 128, 191, 128, 129, 130, + 131, 132, 133, 134, 135, 144, 136, 143, + 145, 191, 192, 255, 182, 183, 184, 128, + 191, 128, 191, 191, 128, 190, 192, 255, + 128, 146, 147, 148, 152, 153, 154, 155, + 156, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, + 173, 174, 175, 176, 129, 191, 192, 255, + 158, 159, 128, 157, 160, 191, 192, 255, + 128, 191, 164, 169, 171, 172, 173, 174, + 175, 180, 181, 182, 183, 184, 185, 187, + 188, 189, 190, 191, 128, 163, 165, 186, + 144, 145, 146, 147, 148, 150, 151, 152, + 155, 157, 158, 160, 170, 171, 172, 175, + 128, 159, 161, 169, 173, 191, 128, 191, + 10, 13, 34, 36, 37, 92, 128, 191, + 192, 223, 224, 239, 240, 247, 248, 255, + 10, 13, 34, 92, 36, 37, 128, 191, + 192, 223, 224, 239, 240, 247, 248, 255, + 10, 13, 36, 123, 123, 126, 126, 37, + 123, 126, 10, 13, 128, 191, 192, 223, + 224, 239, 240, 247, 248, 255, 128, 191, + 128, 191, 128, 191, 10, 13, 36, 37, + 128, 191, 192, 223, 224, 239, 240, 247, + 248, 255, 10, 13, 36, 37, 128, 191, + 192, 223, 224, 239, 240, 247, 248, 255, + 10, 13, 10, 13, 123, 10, 13, 126, + 10, 13, 126, 126, 128, 191, 128, 191, + 128, 191, 10, 13, 36, 37, 128, 191, + 192, 223, 224, 239, 240, 247, 248, 255, + 10, 13, 36, 37, 128, 191, 192, 223, + 224, 239, 240, 247, 248, 255, 10, 13, + 10, 13, 123, 10, 13, 126, 10, 13, + 126, 126, 128, 191, 128, 191, 128, 191, + 95, 194, 195, 198, 199, 203, 204, 205, + 206, 207, 210, 212, 213, 214, 215, 216, + 217, 219, 220, 221, 222, 223, 224, 225, + 226, 227, 228, 233, 234, 237, 238, 239, + 240, 65, 90, 97, 122, 128, 191, 192, + 193, 196, 218, 229, 236, 241, 247, 248, + 255, 45, 95, 194, 195, 198, 199, 203, + 204, 205, 206, 207, 210, 212, 213, 214, + 215, 216, 217, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 228, 233, 234, 237, + 239, 240, 243, 48, 57, 65, 90, 97, + 122, 196, 218, 229, 236, 128, 191, 170, + 181, 186, 128, 191, 151, 183, 128, 255, + 192, 255, 0, 127, 173, 130, 133, 146, + 159, 165, 171, 175, 191, 192, 255, 181, + 190, 128, 175, 176, 183, 184, 185, 186, + 191, 134, 139, 141, 162, 128, 135, 136, + 255, 182, 130, 137, 176, 151, 152, 154, + 160, 136, 191, 192, 255, 128, 143, 144, + 170, 171, 175, 176, 178, 179, 191, 128, + 159, 160, 191, 176, 128, 138, 139, 173, + 174, 255, 148, 150, 164, 167, 173, 176, + 185, 189, 190, 192, 255, 144, 128, 145, + 146, 175, 176, 191, 128, 140, 141, 255, + 166, 176, 178, 191, 192, 255, 186, 128, + 137, 138, 170, 171, 179, 180, 181, 182, + 191, 160, 161, 162, 164, 165, 166, 167, + 168, 169, 170, 171, 172, 173, 174, 175, + 176, 177, 178, 179, 180, 181, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 128, + 191, 128, 129, 130, 131, 137, 138, 139, + 140, 141, 142, 143, 144, 153, 154, 155, + 156, 157, 158, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, + 172, 173, 174, 175, 176, 177, 178, 179, + 180, 182, 183, 184, 188, 189, 190, 191, + 132, 187, 129, 130, 132, 133, 134, 176, + 177, 178, 179, 180, 181, 182, 183, 128, + 191, 128, 129, 130, 131, 132, 133, 134, + 135, 144, 136, 143, 145, 191, 192, 255, + 182, 183, 184, 128, 191, 128, 191, 191, + 128, 190, 192, 255, 128, 146, 147, 148, + 152, 153, 154, 155, 156, 158, 159, 160, + 161, 162, 163, 164, 165, 166, 167, 168, + 169, 170, 171, 172, 173, 174, 175, 176, + 129, 191, 192, 255, 158, 159, 128, 157, + 160, 191, 192, 255, 128, 191, 164, 169, + 171, 172, 173, 174, 175, 180, 181, 182, + 183, 184, 185, 187, 188, 189, 190, 191, + 128, 163, 165, 186, 144, 145, 146, 147, + 148, 150, 151, 152, 155, 157, 158, 160, + 170, 171, 172, 175, 128, 159, 161, 169, + 173, 191, 128, 191, } var _hcltok_single_lengths []byte = []byte{ @@ -1691,90 +1658,88 @@ var _hcltok_single_lengths []byte = []byte{ 4, 1, 5, 2, 0, 3, 2, 2, 2, 1, 7, 0, 7, 17, 3, 0, 2, 0, 3, 0, 0, 1, 0, 2, - 0, 1, 1, 0, 0, 0, 0, 0, - 1, 1, 1, 0, 0, 0, 1, 1, - 1, 1, 0, 0, 0, 1, 1, 4, - 0, 0, 0, 0, 1, 2, 1, 1, - 1, 1, 0, 1, 1, 0, 0, 2, - 0, 0, 0, 1, 32, 0, 0, 0, - 0, 1, 3, 1, 1, 1, 0, 2, - 0, 1, 1, 2, 0, 3, 0, 1, - 0, 2, 1, 2, 0, 0, 5, 1, - 4, 0, 0, 1, 43, 0, 0, 0, - 2, 3, 2, 1, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 1, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 4, 1, 0, 15, 0, 0, - 0, 1, 6, 1, 0, 0, 1, 0, - 2, 0, 0, 0, 9, 0, 1, 1, - 0, 0, 0, 3, 0, 1, 0, 28, - 0, 0, 0, 1, 0, 1, 0, 0, - 0, 1, 0, 0, 0, 0, 0, 0, - 0, 1, 0, 2, 0, 0, 18, 0, - 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 16, 36, - 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 28, - 0, 0, 0, 1, 1, 1, 1, 0, - 0, 2, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 1, 4, - 0, 0, 2, 2, 0, 11, 0, 0, - 0, 0, 0, 0, 0, 1, 1, 3, - 0, 0, 4, 0, 0, 0, 18, 0, - 0, 0, 1, 4, 1, 4, 1, 0, - 3, 2, 2, 2, 1, 0, 0, 1, - 8, 0, 0, 0, 4, 12, 0, 2, - 0, 3, 0, 1, 0, 2, 0, 1, - 2, 0, 0, 3, 0, 1, 1, 1, - 2, 2, 4, 1, 6, 2, 4, 2, - 4, 1, 4, 0, 6, 1, 3, 1, - 2, 0, 2, 11, 1, 1, 1, 0, - 1, 1, 0, 2, 0, 3, 3, 2, - 1, 0, 0, 0, 1, 0, 1, 0, - 1, 1, 0, 2, 0, 0, 1, 0, + 0, 0, 0, 2, 2, 1, 0, 0, + 0, 2, 2, 4, 0, 0, 0, 0, + 1, 2, 1, 1, 1, 1, 0, 1, + 1, 0, 0, 2, 0, 0, 0, 1, + 32, 0, 0, 0, 0, 1, 3, 1, + 1, 1, 0, 2, 0, 1, 1, 2, + 0, 3, 0, 1, 0, 2, 1, 2, + 0, 0, 5, 1, 4, 0, 0, 1, + 43, 0, 0, 0, 2, 3, 2, 1, + 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 4, 1, + 0, 15, 0, 0, 0, 1, 6, 1, + 0, 0, 1, 0, 2, 0, 0, 0, + 9, 0, 1, 1, 0, 0, 0, 3, + 0, 1, 0, 28, 0, 0, 0, 1, + 0, 1, 0, 0, 0, 1, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 2, + 0, 0, 18, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 4, 3, 2, 2, 0, 6, - 1, 0, 1, 1, 0, 2, 0, 4, - 3, 0, 1, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 1, - 0, 3, 0, 2, 0, 0, 0, 3, - 0, 2, 1, 1, 3, 1, 0, 0, - 0, 0, 0, 5, 2, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 1, 1, - 0, 0, 35, 4, 0, 0, 0, 0, + 0, 0, 16, 36, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 0, 1, 0, + 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 3, 0, 1, 0, 0, 3, - 0, 0, 1, 0, 0, 0, 0, 28, - 0, 0, 0, 0, 1, 0, 3, 1, - 4, 0, 1, 0, 0, 1, 0, 0, - 1, 0, 0, 0, 0, 1, 1, 0, - 7, 0, 0, 2, 2, 0, 11, 0, - 0, 0, 0, 0, 1, 1, 3, 0, - 0, 4, 0, 0, 0, 12, 1, 4, - 1, 5, 2, 0, 3, 2, 2, 2, - 1, 7, 0, 7, 17, 3, 0, 2, - 0, 3, 0, 0, 1, 0, 2, 0, - 53, 2, 1, 1, 1, 1, 1, 2, - 3, 2, 2, 1, 34, 1, 1, 0, - 3, 2, 0, 0, 0, 1, 2, 4, - 1, 0, 1, 0, 0, 0, 0, 1, - 1, 1, 0, 0, 1, 30, 47, 13, - 9, 3, 0, 1, 28, 2, 0, 18, - 16, 0, 6, 6, 6, 6, 5, 4, - 7, 7, 7, 6, 4, 7, 6, 6, - 6, 6, 6, 6, 6, 1, 1, 1, - 1, 0, 0, 0, 4, 4, 4, 4, - 1, 1, 0, 0, 0, 4, 2, 1, - 1, 0, 0, 0, 33, 34, 0, 3, - 2, 0, 0, 0, 1, 2, 4, 1, - 0, 1, 0, 0, 0, 0, 1, 1, - 1, 0, 0, 1, 30, 47, 13, 9, - 3, 0, 1, 28, 2, 0, 18, 16, - 0, + 0, 0, 0, 28, 0, 0, 0, 1, + 1, 1, 1, 0, 0, 2, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 1, 4, 0, 0, 2, 2, + 0, 11, 0, 0, 0, 0, 0, 0, + 0, 1, 1, 3, 0, 0, 4, 0, + 0, 0, 18, 0, 0, 0, 1, 4, + 1, 4, 1, 0, 3, 2, 2, 2, + 1, 0, 0, 1, 8, 0, 0, 0, + 4, 12, 0, 2, 0, 3, 0, 1, + 0, 2, 0, 1, 2, 0, 0, 3, + 0, 1, 1, 1, 2, 2, 4, 1, + 6, 2, 4, 2, 4, 1, 4, 0, + 6, 1, 3, 1, 2, 0, 2, 11, + 1, 1, 1, 0, 1, 1, 0, 2, + 0, 3, 3, 2, 1, 0, 0, 0, + 1, 0, 1, 0, 1, 1, 0, 2, + 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 4, 3, + 2, 2, 0, 6, 1, 0, 1, 1, + 0, 2, 0, 4, 3, 0, 1, 1, + 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 1, 0, 3, 0, 2, + 0, 0, 0, 3, 0, 2, 1, 1, + 3, 1, 0, 0, 0, 0, 0, 5, + 2, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 1, 1, 0, 0, 35, 4, + 0, 0, 0, 0, 0, 0, 0, 1, + 0, 0, 0, 0, 0, 0, 3, 0, + 1, 0, 0, 3, 0, 0, 1, 0, + 0, 0, 0, 28, 0, 0, 0, 0, + 1, 0, 3, 1, 4, 0, 1, 0, + 0, 1, 0, 0, 1, 0, 0, 0, + 0, 1, 1, 0, 7, 0, 0, 2, + 2, 0, 11, 0, 0, 0, 0, 0, + 1, 1, 3, 0, 0, 4, 0, 0, + 0, 12, 1, 4, 1, 5, 2, 0, + 3, 2, 2, 2, 1, 7, 0, 7, + 17, 3, 0, 2, 0, 3, 0, 0, + 1, 0, 2, 0, 53, 2, 1, 1, + 1, 1, 1, 2, 3, 2, 2, 1, + 34, 1, 1, 0, 3, 2, 0, 0, + 0, 1, 2, 4, 1, 0, 1, 0, + 0, 0, 0, 1, 1, 1, 0, 0, + 1, 30, 47, 13, 9, 3, 0, 1, + 28, 2, 0, 18, 16, 0, 6, 4, + 2, 2, 0, 1, 1, 1, 2, 1, + 2, 0, 0, 0, 4, 2, 2, 3, + 3, 2, 1, 1, 0, 0, 0, 4, + 2, 2, 3, 3, 2, 1, 1, 0, + 0, 0, 33, 34, 0, 3, 2, 0, + 0, 0, 1, 2, 4, 1, 0, 1, + 0, 0, 0, 0, 1, 1, 1, 0, + 0, 1, 30, 47, 13, 9, 3, 0, + 1, 28, 2, 0, 18, 16, 0, } var _hcltok_range_lengths []byte = []byte{ @@ -1894,90 +1859,88 @@ var _hcltok_range_lengths []byte = []byte{ 3, 0, 2, 3, 1, 0, 0, 0, 0, 2, 3, 2, 4, 6, 4, 1, 1, 2, 1, 2, 1, 3, 2, 3, - 2, 0, 0, 1, 1, 1, 1, 1, - 0, 0, 0, 1, 1, 1, 0, 0, - 0, 0, 1, 1, 1, 0, 0, 0, - 3, 0, 1, 1, 4, 2, 3, 0, - 1, 0, 2, 2, 4, 2, 2, 3, - 1, 1, 1, 1, 0, 1, 1, 2, - 2, 1, 4, 6, 9, 6, 8, 5, - 8, 7, 10, 4, 6, 4, 7, 7, - 5, 5, 4, 5, 1, 2, 8, 4, - 3, 3, 3, 0, 3, 1, 2, 1, - 2, 2, 3, 3, 1, 3, 2, 2, - 1, 2, 2, 2, 3, 4, 4, 3, - 1, 2, 1, 3, 2, 2, 2, 2, - 2, 3, 3, 1, 1, 2, 1, 3, - 2, 2, 3, 2, 7, 0, 1, 4, - 1, 2, 4, 2, 1, 2, 0, 2, - 2, 3, 5, 5, 1, 4, 1, 1, - 2, 2, 1, 0, 0, 1, 1, 1, - 1, 1, 2, 2, 2, 2, 1, 1, - 1, 4, 2, 2, 3, 1, 4, 4, - 6, 1, 3, 1, 1, 2, 1, 1, - 1, 5, 3, 1, 1, 1, 2, 3, - 3, 1, 2, 2, 1, 4, 1, 2, - 5, 2, 1, 1, 0, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 1, 1, - 2, 4, 2, 1, 2, 2, 2, 6, - 1, 1, 2, 1, 2, 1, 1, 1, - 2, 2, 2, 1, 3, 2, 5, 2, - 8, 6, 2, 2, 2, 2, 3, 1, - 3, 1, 2, 1, 3, 2, 2, 3, - 1, 1, 1, 1, 1, 1, 1, 2, - 2, 4, 1, 2, 1, 0, 1, 1, - 1, 1, 0, 1, 2, 3, 1, 3, - 3, 1, 0, 3, 0, 2, 3, 1, - 0, 0, 0, 0, 2, 2, 2, 2, - 1, 5, 2, 2, 5, 7, 5, 0, - 1, 0, 1, 1, 1, 1, 1, 0, - 1, 1, 1, 2, 2, 3, 3, 4, - 7, 5, 7, 5, 3, 3, 7, 3, - 13, 1, 3, 5, 3, 5, 3, 6, - 5, 2, 2, 8, 4, 1, 2, 3, - 2, 10, 2, 2, 0, 2, 3, 3, - 1, 2, 3, 3, 1, 2, 3, 3, - 4, 4, 2, 1, 2, 2, 3, 2, - 2, 5, 3, 2, 3, 2, 1, 3, - 3, 6, 2, 2, 5, 2, 5, 1, - 1, 2, 4, 1, 11, 1, 3, 8, - 4, 2, 1, 0, 4, 3, 3, 3, - 2, 9, 1, 1, 4, 3, 2, 2, - 2, 3, 4, 2, 3, 2, 4, 3, - 2, 2, 3, 3, 4, 3, 3, 4, - 2, 5, 4, 8, 7, 1, 2, 1, - 3, 1, 2, 5, 1, 2, 2, 2, - 2, 1, 3, 2, 2, 3, 3, 1, - 9, 1, 5, 1, 3, 2, 2, 3, - 2, 3, 3, 3, 1, 3, 3, 2, - 2, 4, 5, 3, 3, 4, 3, 3, - 3, 2, 2, 2, 4, 2, 2, 1, - 3, 3, 3, 3, 3, 3, 2, 2, - 3, 2, 3, 3, 2, 3, 2, 3, - 1, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 3, 2, 3, 2, - 3, 5, 3, 3, 1, 2, 3, 2, - 2, 1, 2, 3, 4, 3, 0, 3, + 2, 5, 1, 1, 1, 1, 1, 0, + 1, 1, 1, 0, 0, 0, 1, 1, + 1, 0, 0, 0, 3, 0, 1, 1, + 4, 2, 3, 0, 1, 0, 2, 2, + 4, 2, 2, 3, 1, 1, 1, 1, + 0, 1, 1, 2, 2, 1, 4, 6, + 9, 6, 8, 5, 8, 7, 10, 4, + 6, 4, 7, 7, 5, 5, 4, 5, + 1, 2, 8, 4, 3, 3, 3, 0, + 3, 1, 2, 1, 2, 2, 3, 3, + 1, 3, 2, 2, 1, 2, 2, 2, + 3, 4, 4, 3, 1, 2, 1, 3, + 2, 2, 2, 2, 2, 3, 3, 1, + 1, 2, 1, 3, 2, 2, 3, 2, + 7, 0, 1, 4, 1, 2, 4, 2, + 1, 2, 0, 2, 2, 3, 5, 5, + 1, 4, 1, 1, 2, 2, 1, 0, + 0, 1, 1, 1, 1, 1, 2, 2, + 2, 2, 1, 1, 1, 4, 2, 2, + 3, 1, 4, 4, 6, 1, 3, 1, + 1, 2, 1, 1, 1, 5, 3, 1, + 1, 1, 2, 3, 3, 1, 2, 2, + 1, 4, 1, 2, 5, 2, 1, 1, + 0, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 1, 1, 2, 4, 2, 1, + 2, 2, 2, 6, 1, 1, 2, 1, + 2, 1, 1, 1, 2, 2, 2, 1, + 3, 2, 5, 2, 8, 6, 2, 2, + 2, 2, 3, 1, 3, 1, 2, 1, + 3, 2, 2, 3, 1, 1, 1, 1, + 1, 1, 1, 2, 2, 4, 1, 2, + 1, 0, 1, 1, 1, 1, 0, 1, + 2, 3, 1, 3, 3, 1, 0, 3, 0, 2, 3, 1, 0, 0, 0, 0, - 2, 3, 2, 4, 6, 4, 1, 1, - 2, 1, 2, 1, 3, 2, 3, 2, - 11, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 5, 0, 0, 1, - 1, 1, 0, 1, 1, 5, 4, 2, - 0, 1, 0, 2, 2, 5, 2, 3, - 5, 3, 2, 3, 5, 1, 1, 1, - 3, 1, 1, 2, 2, 3, 1, 2, - 3, 1, 5, 5, 5, 5, 5, 3, - 5, 5, 5, 5, 3, 5, 5, 5, - 5, 5, 5, 5, 5, 0, 0, 0, - 0, 1, 1, 1, 5, 5, 5, 5, - 0, 0, 1, 1, 1, 5, 6, 0, - 0, 1, 1, 1, 8, 5, 1, 1, - 1, 0, 1, 1, 5, 4, 2, 0, - 1, 0, 2, 2, 5, 2, 3, 5, - 3, 2, 3, 5, 1, 1, 1, 3, - 1, 1, 2, 2, 3, 1, 2, 3, - 1, + 2, 2, 2, 2, 1, 5, 2, 2, + 5, 7, 5, 0, 1, 0, 1, 1, + 1, 1, 1, 0, 1, 1, 1, 2, + 2, 3, 3, 4, 7, 5, 7, 5, + 3, 3, 7, 3, 13, 1, 3, 5, + 3, 5, 3, 6, 5, 2, 2, 8, + 4, 1, 2, 3, 2, 10, 2, 2, + 0, 2, 3, 3, 1, 2, 3, 3, + 1, 2, 3, 3, 4, 4, 2, 1, + 2, 2, 3, 2, 2, 5, 3, 2, + 3, 2, 1, 3, 3, 6, 2, 2, + 5, 2, 5, 1, 1, 2, 4, 1, + 11, 1, 3, 8, 4, 2, 1, 0, + 4, 3, 3, 3, 2, 9, 1, 1, + 4, 3, 2, 2, 2, 3, 4, 2, + 3, 2, 4, 3, 2, 2, 3, 3, + 4, 3, 3, 4, 2, 5, 4, 8, + 7, 1, 2, 1, 3, 1, 2, 5, + 1, 2, 2, 2, 2, 1, 3, 2, + 2, 3, 3, 1, 9, 1, 5, 1, + 3, 2, 2, 3, 2, 3, 3, 3, + 1, 3, 3, 2, 2, 4, 5, 3, + 3, 4, 3, 3, 3, 2, 2, 2, + 4, 2, 2, 1, 3, 3, 3, 3, + 3, 3, 2, 2, 3, 2, 3, 3, + 2, 3, 2, 3, 1, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, + 3, 2, 3, 2, 3, 5, 3, 3, + 1, 2, 3, 2, 2, 1, 2, 3, + 4, 3, 0, 3, 0, 2, 3, 1, + 0, 0, 0, 0, 2, 3, 2, 4, + 6, 4, 1, 1, 2, 1, 2, 1, + 3, 2, 3, 2, 11, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, + 5, 0, 0, 1, 1, 1, 0, 1, + 1, 5, 4, 2, 0, 1, 0, 2, + 2, 5, 2, 3, 5, 3, 2, 3, + 5, 1, 1, 1, 3, 1, 1, 2, + 2, 3, 1, 2, 3, 1, 5, 6, + 0, 0, 0, 0, 0, 0, 0, 0, + 5, 1, 1, 1, 5, 6, 0, 0, + 0, 0, 0, 0, 1, 1, 1, 5, + 6, 0, 0, 0, 0, 0, 0, 1, + 1, 1, 8, 5, 1, 1, 1, 0, + 1, 1, 5, 4, 2, 0, 1, 0, + 2, 2, 5, 2, 3, 5, 3, 2, + 3, 5, 1, 1, 1, 3, 1, 1, + 2, 2, 3, 1, 2, 3, 1, } var _hcltok_index_offsets []int16 = []int16{ @@ -2097,90 +2060,88 @@ var _hcltok_index_offsets []int16 = []int16{ 4591, 4599, 4601, 4609, 4615, 4617, 4621, 4624, 4627, 4630, 4634, 4645, 4648, 4660, 4684, 4692, 4694, 4698, 4701, 4706, 4709, 4711, 4716, 4719, - 4725, 4728, 4730, 4732, 4734, 4736, 4738, 4740, - 4742, 4744, 4746, 4748, 4750, 4752, 4754, 4756, - 4758, 4760, 4762, 4764, 4766, 4768, 4770, 4772, - 4777, 4781, 4782, 4784, 4786, 4792, 4797, 4802, - 4804, 4807, 4809, 4812, 4816, 4822, 4825, 4828, - 4834, 4836, 4838, 4840, 4843, 4876, 4878, 4880, - 4883, 4886, 4889, 4897, 4905, 4916, 4924, 4933, - 4941, 4950, 4959, 4971, 4978, 4985, 4993, 5001, - 5010, 5016, 5024, 5030, 5038, 5040, 5043, 5057, - 5063, 5071, 5075, 5079, 5081, 5128, 5130, 5133, - 5135, 5140, 5146, 5152, 5157, 5160, 5164, 5167, - 5170, 5172, 5175, 5178, 5181, 5185, 5190, 5195, - 5199, 5201, 5204, 5206, 5210, 5213, 5216, 5219, - 5222, 5226, 5231, 5235, 5237, 5239, 5242, 5244, - 5248, 5251, 5254, 5262, 5266, 5274, 5290, 5292, - 5297, 5299, 5303, 5314, 5318, 5320, 5323, 5325, - 5328, 5333, 5337, 5343, 5349, 5360, 5365, 5368, - 5371, 5374, 5377, 5379, 5383, 5384, 5387, 5389, - 5419, 5421, 5423, 5426, 5430, 5433, 5437, 5439, - 5441, 5443, 5449, 5452, 5455, 5459, 5461, 5466, - 5471, 5478, 5481, 5485, 5489, 5491, 5494, 5514, - 5516, 5518, 5525, 5529, 5531, 5533, 5535, 5538, - 5542, 5546, 5548, 5552, 5555, 5557, 5562, 5580, - 5619, 5625, 5628, 5630, 5632, 5634, 5637, 5640, - 5643, 5646, 5649, 5653, 5656, 5659, 5662, 5664, - 5666, 5669, 5676, 5679, 5681, 5684, 5687, 5690, - 5698, 5700, 5702, 5705, 5707, 5710, 5712, 5714, - 5744, 5747, 5750, 5753, 5756, 5761, 5765, 5772, - 5775, 5784, 5793, 5796, 5800, 5803, 5806, 5810, - 5812, 5816, 5818, 5821, 5823, 5827, 5831, 5835, - 5843, 5845, 5847, 5851, 5855, 5857, 5870, 5872, - 5875, 5878, 5883, 5885, 5888, 5890, 5892, 5895, - 5900, 5902, 5904, 5909, 5911, 5914, 5918, 5938, - 5942, 5946, 5948, 5950, 5958, 5960, 5967, 5972, - 5974, 5978, 5981, 5984, 5987, 5991, 5994, 5997, - 6001, 6011, 6017, 6020, 6023, 6033, 6053, 6059, - 6062, 6064, 6068, 6070, 6073, 6075, 6079, 6081, - 6083, 6087, 6089, 6091, 6097, 6100, 6105, 6110, - 6116, 6126, 6134, 6146, 6153, 6163, 6169, 6181, - 6187, 6205, 6208, 6216, 6222, 6232, 6239, 6246, - 6254, 6262, 6265, 6270, 6290, 6296, 6299, 6303, - 6307, 6311, 6323, 6326, 6331, 6332, 6338, 6345, - 6351, 6354, 6357, 6361, 6365, 6368, 6371, 6376, - 6380, 6386, 6392, 6395, 6399, 6402, 6405, 6410, - 6413, 6416, 6422, 6426, 6429, 6433, 6436, 6439, - 6443, 6447, 6454, 6457, 6460, 6466, 6469, 6476, - 6478, 6480, 6483, 6492, 6497, 6511, 6515, 6519, - 6534, 6540, 6543, 6546, 6548, 6553, 6559, 6563, - 6571, 6577, 6587, 6590, 6593, 6598, 6602, 6605, - 6608, 6611, 6615, 6620, 6624, 6628, 6631, 6636, - 6641, 6644, 6650, 6654, 6660, 6665, 6669, 6673, - 6681, 6684, 6692, 6698, 6708, 6719, 6722, 6725, - 6727, 6731, 6733, 6736, 6747, 6751, 6754, 6757, - 6760, 6763, 6765, 6769, 6773, 6776, 6780, 6785, - 6788, 6798, 6800, 6841, 6847, 6851, 6854, 6857, - 6861, 6864, 6868, 6872, 6877, 6879, 6883, 6887, - 6890, 6893, 6898, 6907, 6911, 6916, 6921, 6925, - 6932, 6936, 6939, 6943, 6946, 6951, 6954, 6957, - 6987, 6991, 6995, 6999, 7003, 7008, 7012, 7018, - 7022, 7030, 7033, 7038, 7042, 7045, 7050, 7053, - 7057, 7060, 7063, 7066, 7069, 7072, 7076, 7080, - 7083, 7093, 7096, 7099, 7104, 7110, 7113, 7128, - 7131, 7135, 7141, 7145, 7149, 7152, 7156, 7163, - 7166, 7169, 7175, 7178, 7182, 7187, 7203, 7205, - 7213, 7215, 7223, 7229, 7231, 7235, 7238, 7241, - 7244, 7248, 7259, 7262, 7274, 7298, 7306, 7308, - 7312, 7315, 7320, 7323, 7325, 7330, 7333, 7339, - 7342, 7407, 7410, 7412, 7414, 7416, 7418, 7420, - 7423, 7428, 7431, 7434, 7436, 7476, 7478, 7480, - 7482, 7487, 7491, 7492, 7494, 7496, 7503, 7510, - 7517, 7519, 7521, 7523, 7526, 7529, 7535, 7538, - 7543, 7550, 7555, 7558, 7562, 7569, 7601, 7650, - 7665, 7678, 7683, 7685, 7689, 7720, 7726, 7728, - 7749, 7769, 7771, 7783, 7795, 7807, 7819, 7830, - 7838, 7851, 7864, 7877, 7889, 7897, 7910, 7922, - 7934, 7946, 7958, 7970, 7982, 7994, 7996, 7998, - 8000, 8002, 8004, 8006, 8008, 8018, 8028, 8038, - 8048, 8050, 8052, 8054, 8056, 8058, 8068, 8077, - 8079, 8081, 8083, 8085, 8087, 8129, 8169, 8171, - 8176, 8180, 8181, 8183, 8185, 8192, 8199, 8206, - 8208, 8210, 8212, 8215, 8218, 8224, 8227, 8232, - 8239, 8244, 8247, 8251, 8258, 8290, 8339, 8354, - 8367, 8372, 8374, 8378, 8409, 8415, 8417, 8438, - 8458, + 4725, 4728, 4736, 4738, 4740, 4742, 4744, 4746, + 4748, 4750, 4752, 4754, 4757, 4760, 4762, 4764, + 4766, 4768, 4771, 4774, 4779, 4783, 4784, 4786, + 4788, 4794, 4799, 4804, 4806, 4809, 4811, 4814, + 4818, 4824, 4827, 4830, 4836, 4838, 4840, 4842, + 4845, 4878, 4880, 4882, 4885, 4888, 4891, 4899, + 4907, 4918, 4926, 4935, 4943, 4952, 4961, 4973, + 4980, 4987, 4995, 5003, 5012, 5018, 5026, 5032, + 5040, 5042, 5045, 5059, 5065, 5073, 5077, 5081, + 5083, 5130, 5132, 5135, 5137, 5142, 5148, 5154, + 5159, 5162, 5166, 5169, 5172, 5174, 5177, 5180, + 5183, 5187, 5192, 5197, 5201, 5203, 5206, 5208, + 5212, 5215, 5218, 5221, 5224, 5228, 5233, 5237, + 5239, 5241, 5244, 5246, 5250, 5253, 5256, 5264, + 5268, 5276, 5292, 5294, 5299, 5301, 5305, 5316, + 5320, 5322, 5325, 5327, 5330, 5335, 5339, 5345, + 5351, 5362, 5367, 5370, 5373, 5376, 5379, 5381, + 5385, 5386, 5389, 5391, 5421, 5423, 5425, 5428, + 5432, 5435, 5439, 5441, 5443, 5445, 5451, 5454, + 5457, 5461, 5463, 5468, 5473, 5480, 5483, 5487, + 5491, 5493, 5496, 5516, 5518, 5520, 5527, 5531, + 5533, 5535, 5537, 5540, 5544, 5548, 5550, 5554, + 5557, 5559, 5564, 5582, 5621, 5627, 5630, 5632, + 5634, 5636, 5639, 5642, 5645, 5648, 5651, 5655, + 5658, 5661, 5664, 5666, 5668, 5671, 5678, 5681, + 5683, 5686, 5689, 5692, 5700, 5702, 5704, 5707, + 5709, 5712, 5714, 5716, 5746, 5749, 5752, 5755, + 5758, 5763, 5767, 5774, 5777, 5786, 5795, 5798, + 5802, 5805, 5808, 5812, 5814, 5818, 5820, 5823, + 5825, 5829, 5833, 5837, 5845, 5847, 5849, 5853, + 5857, 5859, 5872, 5874, 5877, 5880, 5885, 5887, + 5890, 5892, 5894, 5897, 5902, 5904, 5906, 5911, + 5913, 5916, 5920, 5940, 5944, 5948, 5950, 5952, + 5960, 5962, 5969, 5974, 5976, 5980, 5983, 5986, + 5989, 5993, 5996, 5999, 6003, 6013, 6019, 6022, + 6025, 6035, 6055, 6061, 6064, 6066, 6070, 6072, + 6075, 6077, 6081, 6083, 6085, 6089, 6091, 6093, + 6099, 6102, 6107, 6112, 6118, 6128, 6136, 6148, + 6155, 6165, 6171, 6183, 6189, 6207, 6210, 6218, + 6224, 6234, 6241, 6248, 6256, 6264, 6267, 6272, + 6292, 6298, 6301, 6305, 6309, 6313, 6325, 6328, + 6333, 6334, 6340, 6347, 6353, 6356, 6359, 6363, + 6367, 6370, 6373, 6378, 6382, 6388, 6394, 6397, + 6401, 6404, 6407, 6412, 6415, 6418, 6424, 6428, + 6431, 6435, 6438, 6441, 6445, 6449, 6456, 6459, + 6462, 6468, 6471, 6478, 6480, 6482, 6485, 6494, + 6499, 6513, 6517, 6521, 6536, 6542, 6545, 6548, + 6550, 6555, 6561, 6565, 6573, 6579, 6589, 6592, + 6595, 6600, 6604, 6607, 6610, 6613, 6617, 6622, + 6626, 6630, 6633, 6638, 6643, 6646, 6652, 6656, + 6662, 6667, 6671, 6675, 6683, 6686, 6694, 6700, + 6710, 6721, 6724, 6727, 6729, 6733, 6735, 6738, + 6749, 6753, 6756, 6759, 6762, 6765, 6767, 6771, + 6775, 6778, 6782, 6787, 6790, 6800, 6802, 6843, + 6849, 6853, 6856, 6859, 6863, 6866, 6870, 6874, + 6879, 6881, 6885, 6889, 6892, 6895, 6900, 6909, + 6913, 6918, 6923, 6927, 6934, 6938, 6941, 6945, + 6948, 6953, 6956, 6959, 6989, 6993, 6997, 7001, + 7005, 7010, 7014, 7020, 7024, 7032, 7035, 7040, + 7044, 7047, 7052, 7055, 7059, 7062, 7065, 7068, + 7071, 7074, 7078, 7082, 7085, 7095, 7098, 7101, + 7106, 7112, 7115, 7130, 7133, 7137, 7143, 7147, + 7151, 7154, 7158, 7165, 7168, 7171, 7177, 7180, + 7184, 7189, 7205, 7207, 7215, 7217, 7225, 7231, + 7233, 7237, 7240, 7243, 7246, 7250, 7261, 7264, + 7276, 7300, 7308, 7310, 7314, 7317, 7322, 7325, + 7327, 7332, 7335, 7341, 7344, 7409, 7412, 7414, + 7416, 7418, 7420, 7422, 7425, 7430, 7433, 7436, + 7438, 7478, 7480, 7482, 7484, 7489, 7493, 7494, + 7496, 7498, 7505, 7512, 7519, 7521, 7523, 7525, + 7528, 7531, 7537, 7540, 7545, 7552, 7557, 7560, + 7564, 7571, 7603, 7652, 7667, 7680, 7685, 7687, + 7691, 7722, 7728, 7730, 7751, 7771, 7773, 7785, + 7796, 7799, 7802, 7803, 7805, 7807, 7809, 7812, + 7814, 7822, 7824, 7826, 7828, 7838, 7847, 7850, + 7854, 7858, 7861, 7863, 7865, 7867, 7869, 7871, + 7881, 7890, 7893, 7897, 7901, 7904, 7906, 7908, + 7910, 7912, 7914, 7956, 7996, 7998, 8003, 8007, + 8008, 8010, 8012, 8019, 8026, 8033, 8035, 8037, + 8039, 8042, 8045, 8051, 8054, 8059, 8066, 8071, + 8074, 8078, 8085, 8117, 8166, 8181, 8194, 8199, + 8201, 8205, 8236, 8242, 8244, 8265, 8285, } var _hcltok_indicies []int16 = []int16{ @@ -2666,7 +2627,7 @@ var _hcltok_indicies []int16 = []int16{ 670, 671, 421, 671, 421, 671, 421, 670, 671, 670, 421, 421, 671, 670, 671, 421, 671, 421, 671, 670, 421, 671, 670, 671, - 671, 421, 671, 421, 671, 670, 421, 670, + 671, 421, 671, 421, 671, 670, 670, 421, 670, 421, 671, 671, 421, 671, 671, 671, 671, 671, 671, 671, 670, 421, 671, 671, 671, 421, 670, 671, 671, 671, 421, 671, @@ -2775,482 +2736,460 @@ var _hcltok_indicies []int16 = []int16{ 684, 426, 671, 670, 421, 671, 421, 765, 684, 672, 670, 426, 671, 670, 421, 675, 766, 672, 684, 672, 670, 671, 670, 421, - 767, 768, 767, 769, 770, 767, 771, 767, - 772, 767, 770, 773, 774, 773, 776, 775, - 777, 778, 777, 779, 780, 775, 781, 775, - 782, 777, 783, 778, 784, 779, 786, 785, - 787, 788, 788, 785, 789, 785, 790, 787, - 791, 788, 792, 788, 794, 794, 794, 794, - 793, 794, 794, 794, 793, 794, 793, 794, - 794, 793, 793, 793, 793, 793, 793, 794, - 793, 793, 793, 793, 794, 794, 794, 794, - 794, 793, 793, 794, 793, 793, 794, 793, - 794, 793, 793, 794, 793, 793, 793, 794, - 794, 794, 794, 794, 794, 793, 794, 794, - 793, 794, 794, 793, 793, 793, 793, 793, - 793, 794, 794, 793, 793, 794, 793, 794, - 794, 794, 793, 796, 797, 798, 799, 800, + 767, 767, 767, 769, 770, 771, 767, 768, + 768, 772, 769, 772, 770, 772, 768, 773, + 774, 773, 776, 775, 777, 775, 778, 775, + 780, 779, 782, 783, 781, 782, 784, 781, + 786, 785, 787, 785, 788, 785, 790, 789, + 792, 793, 791, 792, 794, 791, 796, 796, + 796, 796, 795, 796, 796, 796, 795, 796, + 795, 796, 796, 795, 795, 795, 795, 795, + 795, 796, 795, 795, 795, 795, 796, 796, + 796, 796, 796, 795, 795, 796, 795, 795, + 796, 795, 796, 795, 795, 796, 795, 795, + 795, 796, 796, 796, 796, 796, 796, 795, + 796, 796, 795, 796, 796, 795, 795, 795, + 795, 795, 795, 796, 796, 795, 795, 796, + 795, 796, 796, 796, 795, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, - 825, 826, 827, 793, 794, 793, 794, 793, - 794, 794, 793, 794, 794, 793, 793, 793, - 794, 793, 793, 793, 793, 793, 793, 793, - 794, 793, 793, 793, 793, 793, 793, 793, - 794, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 794, 793, 793, 793, 793, 793, - 793, 793, 793, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 793, 793, 793, 793, - 793, 793, 793, 793, 794, 794, 794, 794, - 794, 794, 794, 794, 794, 793, 794, 794, - 794, 794, 794, 794, 794, 794, 793, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 793, 794, 794, 794, 794, 794, - 794, 793, 794, 794, 794, 794, 794, 794, - 793, 793, 793, 793, 793, 793, 793, 793, - 794, 794, 794, 794, 794, 794, 794, 794, - 793, 794, 794, 794, 794, 794, 794, 794, - 794, 793, 794, 794, 794, 794, 794, 793, - 793, 793, 793, 793, 793, 793, 793, 794, - 794, 794, 794, 794, 794, 793, 794, 794, - 794, 794, 794, 794, 794, 793, 794, 793, - 794, 794, 793, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 793, 794, 794, 794, 794, 794, 793, 794, - 794, 794, 794, 794, 794, 794, 793, 794, - 794, 794, 793, 794, 794, 794, 793, 794, - 793, 828, 829, 830, 831, 832, 833, 834, + 825, 826, 827, 828, 829, 795, 796, 795, + 796, 795, 796, 796, 795, 796, 796, 795, + 795, 795, 796, 795, 795, 795, 795, 795, + 795, 795, 796, 795, 795, 795, 795, 795, + 795, 795, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 795, 795, 795, + 795, 795, 795, 795, 795, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 795, 795, + 795, 795, 795, 795, 795, 795, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 795, + 796, 796, 796, 796, 796, 796, 796, 796, + 795, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 795, 796, 796, 796, + 796, 796, 796, 795, 796, 796, 796, 796, + 796, 796, 795, 795, 795, 795, 795, 795, + 795, 795, 796, 796, 796, 796, 796, 796, + 796, 796, 795, 796, 796, 796, 796, 796, + 796, 796, 796, 795, 796, 796, 796, 796, + 796, 795, 795, 795, 795, 795, 795, 795, + 795, 796, 796, 796, 796, 796, 796, 795, + 796, 796, 796, 796, 796, 796, 796, 795, + 796, 795, 796, 796, 795, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 795, 796, 796, 796, 796, 796, + 795, 796, 796, 796, 796, 796, 796, 796, + 795, 796, 796, 796, 795, 796, 796, 796, + 795, 796, 795, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, - 859, 860, 861, 862, 863, 800, 864, 865, - 866, 867, 868, 869, 800, 845, 800, 793, - 794, 793, 794, 794, 793, 793, 794, 793, - 793, 793, 793, 794, 793, 793, 793, 793, - 793, 794, 793, 793, 793, 793, 793, 794, - 794, 794, 794, 794, 793, 793, 793, 794, - 793, 793, 793, 794, 794, 794, 793, 793, - 793, 794, 794, 793, 793, 793, 794, 794, - 794, 793, 793, 793, 794, 794, 794, 794, - 793, 794, 794, 794, 794, 793, 793, 793, - 793, 793, 794, 794, 794, 794, 793, 793, - 794, 794, 794, 793, 793, 794, 794, 794, - 794, 793, 794, 794, 793, 794, 794, 793, - 793, 793, 794, 794, 794, 793, 793, 793, - 793, 794, 794, 794, 794, 794, 793, 793, - 793, 793, 794, 793, 794, 794, 793, 794, - 794, 793, 794, 793, 794, 794, 794, 793, - 794, 794, 793, 793, 793, 794, 793, 793, - 793, 793, 793, 793, 793, 794, 794, 794, - 794, 793, 794, 794, 794, 794, 794, 794, - 794, 793, 870, 871, 872, 873, 874, 875, - 876, 877, 878, 800, 879, 880, 881, 882, - 883, 793, 794, 793, 793, 793, 793, 793, - 794, 794, 793, 794, 794, 794, 793, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 794, 793, 794, 794, 794, 793, 793, 794, - 794, 794, 793, 793, 794, 793, 793, 794, - 794, 794, 794, 794, 793, 793, 793, 793, - 794, 794, 794, 794, 794, 794, 793, 794, - 794, 794, 794, 794, 793, 884, 839, 885, - 886, 887, 800, 888, 889, 845, 800, 793, - 794, 794, 794, 794, 793, 793, 793, 794, - 793, 793, 794, 794, 794, 793, 793, 793, - 794, 794, 793, 850, 793, 845, 800, 800, - 890, 793, 800, 793, 794, 845, 891, 892, - 845, 893, 894, 845, 895, 896, 897, 898, - 899, 900, 845, 901, 902, 903, 845, 904, - 905, 906, 864, 907, 908, 909, 864, 910, - 845, 800, 793, 793, 794, 794, 793, 793, - 793, 794, 794, 794, 794, 793, 794, 794, - 793, 793, 793, 793, 794, 794, 793, 793, - 794, 794, 793, 793, 793, 793, 793, 793, - 794, 794, 794, 793, 793, 793, 794, 793, - 793, 793, 794, 794, 793, 794, 794, 794, - 794, 793, 794, 794, 794, 794, 793, 794, - 794, 794, 794, 794, 794, 793, 793, 793, - 794, 794, 794, 794, 793, 911, 912, 793, - 800, 793, 794, 793, 793, 794, 845, 913, - 914, 915, 916, 895, 917, 918, 919, 920, + 859, 860, 861, 862, 863, 864, 865, 802, + 866, 867, 868, 869, 870, 871, 802, 847, + 802, 795, 796, 795, 796, 796, 795, 795, + 796, 795, 795, 795, 795, 796, 795, 795, + 795, 795, 795, 796, 795, 795, 795, 795, + 795, 796, 796, 796, 796, 796, 795, 795, + 795, 796, 795, 795, 795, 796, 796, 796, + 795, 795, 795, 796, 796, 795, 795, 795, + 796, 796, 796, 795, 795, 795, 796, 796, + 796, 796, 795, 796, 796, 796, 796, 795, + 795, 795, 795, 795, 796, 796, 796, 796, + 795, 795, 796, 796, 796, 795, 795, 796, + 796, 796, 796, 795, 796, 796, 795, 796, + 796, 795, 795, 795, 796, 796, 796, 795, + 795, 795, 795, 796, 796, 796, 796, 796, + 795, 795, 795, 795, 796, 795, 796, 796, + 795, 796, 796, 795, 796, 795, 796, 796, + 796, 795, 796, 796, 795, 795, 795, 796, + 795, 795, 795, 795, 795, 795, 795, 796, + 796, 796, 796, 795, 796, 796, 796, 796, + 796, 796, 796, 795, 872, 873, 874, 875, + 876, 877, 878, 879, 880, 802, 881, 882, + 883, 884, 885, 795, 796, 795, 795, 795, + 795, 795, 796, 796, 795, 796, 796, 796, + 795, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 795, 796, 796, 796, 795, + 795, 796, 796, 796, 795, 795, 796, 795, + 795, 796, 796, 796, 796, 796, 795, 795, + 795, 795, 796, 796, 796, 796, 796, 796, + 795, 796, 796, 796, 796, 796, 795, 886, + 841, 887, 888, 889, 802, 890, 891, 847, + 802, 795, 796, 796, 796, 796, 795, 795, + 795, 796, 795, 795, 796, 796, 796, 795, + 795, 795, 796, 796, 795, 852, 795, 847, + 802, 802, 892, 795, 802, 795, 796, 847, + 893, 894, 847, 895, 896, 847, 897, 898, + 899, 900, 901, 902, 847, 903, 904, 905, + 847, 906, 907, 908, 866, 909, 910, 911, + 866, 912, 847, 802, 795, 795, 796, 796, + 795, 795, 795, 796, 796, 796, 796, 795, + 796, 796, 795, 795, 795, 795, 796, 796, + 795, 795, 796, 796, 795, 795, 795, 795, + 795, 795, 796, 796, 796, 795, 795, 795, + 796, 795, 795, 795, 796, 796, 795, 796, + 796, 796, 796, 795, 796, 796, 796, 796, + 795, 796, 796, 796, 796, 796, 796, 795, + 795, 795, 796, 796, 796, 796, 795, 913, + 914, 795, 802, 795, 796, 795, 795, 796, + 847, 915, 916, 917, 918, 897, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, - 800, 793, 793, 794, 793, 794, 794, 794, - 794, 794, 794, 794, 793, 794, 794, 794, - 793, 794, 793, 793, 794, 793, 794, 793, - 793, 794, 794, 794, 794, 793, 794, 794, - 794, 793, 793, 794, 794, 794, 794, 793, - 794, 794, 793, 793, 794, 794, 794, 794, - 794, 793, 929, 930, 931, 932, 933, 934, - 935, 936, 937, 938, 939, 935, 941, 942, - 943, 944, 940, 793, 945, 946, 845, 947, - 948, 949, 950, 951, 952, 953, 954, 955, - 845, 800, 956, 957, 958, 959, 845, 960, - 961, 962, 963, 964, 965, 966, 967, 968, - 969, 970, 971, 972, 973, 974, 845, 876, - 800, 975, 793, 794, 794, 794, 794, 794, - 793, 793, 793, 794, 793, 794, 794, 793, - 794, 793, 794, 794, 793, 793, 793, 794, - 794, 794, 793, 793, 793, 794, 794, 794, - 793, 793, 793, 793, 794, 793, 793, 794, - 793, 793, 794, 794, 794, 793, 793, 794, - 793, 794, 794, 794, 793, 794, 794, 794, - 794, 794, 794, 793, 793, 793, 794, 794, - 793, 794, 794, 793, 794, 794, 793, 794, - 794, 793, 794, 794, 794, 794, 794, 794, - 794, 793, 794, 793, 794, 793, 794, 794, - 793, 794, 793, 794, 794, 793, 794, 793, - 794, 793, 976, 947, 977, 978, 979, 980, - 981, 982, 983, 984, 985, 828, 986, 845, - 987, 988, 989, 845, 990, 860, 991, 992, - 993, 994, 995, 996, 997, 998, 845, 793, - 793, 793, 794, 794, 794, 793, 794, 794, - 793, 794, 794, 793, 793, 793, 793, 793, - 794, 794, 794, 794, 793, 794, 794, 794, - 794, 794, 794, 793, 793, 793, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 793, - 794, 794, 794, 794, 794, 794, 794, 794, - 793, 794, 794, 793, 793, 793, 793, 794, - 794, 794, 793, 793, 793, 794, 793, 793, - 793, 794, 794, 793, 794, 794, 794, 793, - 794, 793, 793, 793, 794, 794, 793, 794, - 794, 794, 793, 794, 794, 794, 793, 793, - 793, 793, 794, 845, 914, 999, 1000, 800, - 845, 800, 793, 793, 794, 793, 794, 845, - 999, 800, 793, 845, 1001, 800, 793, 793, - 794, 845, 1002, 1003, 1004, 905, 1005, 1006, - 845, 1007, 1008, 1009, 800, 793, 793, 794, - 794, 794, 793, 794, 794, 793, 794, 794, - 794, 794, 793, 793, 794, 793, 793, 794, - 794, 793, 794, 793, 845, 800, 793, 1010, - 845, 1011, 793, 800, 793, 794, 793, 794, - 1012, 845, 1013, 1014, 793, 794, 793, 793, - 793, 794, 794, 794, 794, 793, 1015, 1016, - 1017, 845, 1018, 1019, 1020, 1021, 1022, 1023, + 929, 930, 802, 795, 795, 796, 795, 796, + 796, 796, 796, 796, 796, 796, 795, 796, + 796, 796, 795, 796, 795, 795, 796, 795, + 796, 795, 795, 796, 796, 796, 796, 795, + 796, 796, 796, 795, 795, 796, 796, 796, + 796, 795, 796, 796, 795, 795, 796, 796, + 796, 796, 796, 795, 931, 932, 933, 934, + 935, 936, 937, 938, 939, 940, 941, 937, + 943, 944, 945, 946, 942, 795, 947, 948, + 847, 949, 950, 951, 952, 953, 954, 955, + 956, 957, 847, 802, 958, 959, 960, 961, + 847, 962, 963, 964, 965, 966, 967, 968, + 969, 970, 971, 972, 973, 974, 975, 976, + 847, 878, 802, 977, 795, 796, 796, 796, + 796, 796, 795, 795, 795, 796, 795, 796, + 796, 795, 796, 795, 796, 796, 795, 795, + 795, 796, 796, 796, 795, 795, 795, 796, + 796, 796, 795, 795, 795, 795, 796, 795, + 795, 796, 795, 795, 796, 796, 796, 795, + 795, 796, 795, 796, 796, 796, 795, 796, + 796, 796, 796, 796, 796, 795, 795, 795, + 796, 796, 795, 796, 796, 795, 796, 796, + 795, 796, 796, 795, 796, 796, 796, 796, + 796, 796, 796, 795, 796, 795, 796, 795, + 796, 796, 795, 796, 795, 796, 796, 795, + 796, 795, 796, 795, 978, 949, 979, 980, + 981, 982, 983, 984, 985, 986, 987, 830, + 988, 847, 989, 990, 991, 847, 992, 862, + 993, 994, 995, 996, 997, 998, 999, 1000, + 847, 795, 795, 795, 796, 796, 796, 795, + 796, 796, 795, 796, 796, 795, 795, 795, + 795, 795, 796, 796, 796, 796, 795, 796, + 796, 796, 796, 796, 796, 795, 795, 795, + 796, 796, 796, 796, 796, 796, 796, 796, + 796, 795, 796, 796, 796, 796, 796, 796, + 796, 796, 795, 796, 796, 795, 795, 795, + 795, 796, 796, 796, 795, 795, 795, 796, + 795, 795, 795, 796, 796, 795, 796, 796, + 796, 795, 796, 795, 795, 795, 796, 796, + 795, 796, 796, 796, 795, 796, 796, 796, + 795, 795, 795, 795, 796, 847, 916, 1001, + 1002, 802, 847, 802, 795, 795, 796, 795, + 796, 847, 1001, 802, 795, 847, 1003, 802, + 795, 795, 796, 847, 1004, 1005, 1006, 907, + 1007, 1008, 847, 1009, 1010, 1011, 802, 795, + 795, 796, 796, 796, 795, 796, 796, 795, + 796, 796, 796, 796, 795, 795, 796, 795, + 795, 796, 796, 795, 796, 795, 847, 802, + 795, 1012, 847, 1013, 795, 802, 795, 796, + 795, 796, 1014, 847, 1015, 1016, 795, 796, + 795, 795, 795, 796, 796, 796, 796, 795, + 1017, 1018, 1019, 847, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, - 800, 793, 794, 794, 794, 793, 793, 793, - 793, 794, 794, 793, 793, 794, 793, 793, - 793, 793, 793, 793, 793, 794, 793, 794, - 793, 793, 793, 793, 793, 793, 794, 794, - 794, 794, 794, 793, 793, 794, 793, 793, - 793, 794, 793, 793, 794, 793, 793, 794, - 793, 793, 794, 793, 793, 793, 794, 794, - 794, 793, 793, 793, 794, 794, 794, 794, - 793, 1032, 845, 1033, 845, 1034, 1035, 1036, - 1037, 800, 793, 794, 794, 794, 794, 794, - 793, 793, 793, 794, 793, 793, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 793, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 793, 794, 794, 794, - 794, 794, 793, 1038, 845, 800, 793, 794, - 1039, 845, 830, 800, 793, 794, 1040, 793, - 800, 793, 794, 845, 1041, 800, 793, 793, - 794, 1042, 793, 845, 1043, 800, 793, 793, - 794, 1045, 1044, 794, 794, 794, 794, 1045, - 1044, 794, 1045, 1044, 1045, 1045, 794, 1045, - 1044, 794, 1045, 794, 1045, 1044, 794, 1045, - 794, 1045, 794, 1044, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1044, 794, 794, 1045, - 1045, 794, 1045, 794, 1045, 1044, 1045, 1045, - 1045, 1045, 1045, 794, 1045, 794, 1045, 794, - 1045, 1044, 1045, 1045, 794, 1045, 794, 1045, - 1044, 1045, 1045, 1045, 1045, 1045, 794, 1045, - 794, 1045, 1044, 794, 794, 1045, 794, 1045, - 1044, 1045, 1045, 1045, 794, 1045, 794, 1045, - 794, 1045, 794, 1045, 1044, 1045, 794, 1045, - 794, 1045, 1044, 794, 1045, 1045, 1045, 1045, - 794, 1045, 794, 1045, 794, 1045, 794, 1045, - 794, 1045, 794, 1045, 1044, 794, 1045, 1044, - 1045, 1045, 1045, 794, 1045, 794, 1045, 1044, - 1045, 794, 1045, 794, 1045, 1044, 794, 1045, - 1045, 1045, 1045, 794, 1045, 794, 1045, 1044, - 794, 1045, 794, 1045, 794, 1045, 1044, 1045, - 1045, 794, 1045, 794, 1045, 1044, 794, 1045, - 794, 1045, 794, 1045, 794, 1044, 1045, 1045, - 1045, 794, 1045, 794, 1045, 1044, 794, 1045, - 1044, 1045, 1045, 794, 1045, 1044, 1045, 1045, - 1045, 794, 1045, 1045, 1045, 1045, 1045, 1045, - 794, 794, 1045, 794, 1045, 794, 1045, 794, - 1045, 1044, 1045, 794, 1045, 794, 1045, 1044, - 794, 1045, 1044, 1045, 794, 1045, 1044, 1045, - 794, 1045, 1044, 794, 794, 1045, 1044, 794, - 1045, 794, 1045, 794, 1045, 794, 1045, 794, - 1045, 794, 1044, 1045, 1045, 794, 1045, 1045, - 1045, 1045, 794, 794, 1045, 1045, 1045, 1045, - 1045, 794, 1045, 1045, 1045, 1045, 1045, 1044, - 794, 1045, 1045, 794, 1045, 794, 1044, 1045, - 1045, 794, 1045, 1044, 794, 794, 1045, 794, - 1044, 1045, 1045, 1044, 794, 1045, 794, 1044, - 1045, 1044, 794, 1045, 794, 1045, 794, 1044, - 1045, 1045, 1044, 794, 1045, 794, 1045, 794, - 1045, 1044, 1045, 794, 1045, 794, 1045, 1044, - 794, 1045, 1044, 794, 794, 1045, 1044, 1045, - 794, 1044, 1045, 1044, 794, 1045, 794, 1045, - 794, 1044, 1045, 1044, 794, 794, 1045, 1044, - 1045, 794, 1045, 794, 1045, 1044, 794, 1045, - 794, 1044, 1045, 1044, 794, 794, 1045, 794, - 1044, 1045, 1044, 794, 794, 1045, 1044, 1045, - 794, 1045, 1044, 1045, 794, 1045, 1044, 1045, - 794, 1045, 794, 1045, 794, 1044, 1045, 1044, - 794, 794, 1045, 1044, 1045, 794, 1045, 794, - 1045, 1044, 794, 1045, 1044, 1045, 1045, 794, - 1045, 794, 1045, 1044, 794, 1044, 1044, 794, - 1045, 1045, 794, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1044, 794, 1045, 1045, 1045, 794, - 1044, 1045, 1045, 1045, 794, 1045, 794, 1045, - 794, 1045, 794, 1045, 794, 1045, 1044, 794, - 794, 1045, 1044, 1045, 794, 1045, 1044, 794, - 794, 1045, 794, 794, 794, 1045, 794, 1045, - 794, 1045, 794, 1045, 794, 1044, 794, 1045, - 794, 1045, 794, 1044, 1045, 1044, 794, 1045, - 794, 1044, 1045, 794, 1045, 1045, 1045, 1044, - 794, 1045, 794, 794, 1045, 794, 1044, 1045, - 1045, 1044, 794, 1045, 1045, 1045, 1045, 794, - 1045, 794, 1044, 1045, 1045, 1045, 794, 1045, - 1044, 1045, 794, 1045, 794, 1045, 794, 1045, - 794, 1045, 1044, 1045, 1045, 794, 1045, 1044, - 794, 1045, 794, 1045, 794, 1044, 1045, 1045, - 1044, 794, 1045, 794, 1044, 1045, 1044, 794, - 1045, 1044, 794, 1045, 794, 1045, 1044, 1045, - 1045, 1045, 1044, 794, 794, 794, 1045, 1044, - 794, 1045, 794, 1044, 1045, 1044, 794, 1045, - 794, 1045, 794, 1044, 1045, 1045, 1045, 1044, - 794, 1045, 794, 1044, 1045, 1045, 1045, 1045, - 1044, 794, 1045, 794, 1045, 1044, 794, 794, - 1045, 794, 1045, 1044, 1045, 794, 1045, 794, - 1044, 1045, 1045, 1044, 794, 1045, 794, 1045, - 1044, 794, 1045, 1045, 1045, 794, 1045, 794, - 1044, 794, 1045, 1044, 1045, 794, 794, 1045, - 794, 1045, 794, 1044, 1045, 1045, 1045, 1045, - 1044, 794, 1045, 794, 1045, 794, 1045, 794, - 1045, 794, 1045, 1044, 1045, 1045, 1045, 794, - 1045, 794, 1045, 794, 1045, 794, 1044, 1045, - 1045, 794, 794, 1045, 1044, 1045, 794, 1045, - 1045, 1044, 794, 1045, 794, 1045, 1044, 794, - 794, 1045, 1045, 1045, 1045, 794, 1045, 794, - 1045, 794, 1044, 1045, 1045, 794, 1044, 1045, - 1044, 794, 1045, 794, 1044, 1045, 1044, 794, - 1045, 794, 1044, 1045, 794, 1045, 1045, 1044, - 794, 1045, 1045, 794, 1044, 1045, 1044, 794, - 1045, 794, 1045, 1044, 1045, 794, 1045, 794, - 1044, 1045, 1044, 794, 1045, 794, 1045, 794, - 1045, 794, 1045, 794, 1045, 1044, 1046, 1044, - 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, - 1055, 1056, 1057, 1049, 1058, 1059, 1060, 1061, - 1062, 1049, 1063, 1064, 1065, 1066, 1067, 1068, + 1032, 1033, 802, 795, 796, 796, 796, 795, + 795, 795, 795, 796, 796, 795, 795, 796, + 795, 795, 795, 795, 795, 795, 795, 796, + 795, 796, 795, 795, 795, 795, 795, 795, + 796, 796, 796, 796, 796, 795, 795, 796, + 795, 795, 795, 796, 795, 795, 796, 795, + 795, 796, 795, 795, 796, 795, 795, 795, + 796, 796, 796, 795, 795, 795, 796, 796, + 796, 796, 795, 1034, 847, 1035, 847, 1036, + 1037, 1038, 1039, 802, 795, 796, 796, 796, + 796, 796, 795, 795, 795, 796, 795, 795, + 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 795, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 795, 796, + 796, 796, 796, 796, 795, 1040, 847, 802, + 795, 796, 1041, 847, 832, 802, 795, 796, + 1042, 795, 802, 795, 796, 847, 1043, 802, + 795, 795, 796, 1044, 795, 847, 1045, 802, + 795, 795, 796, 1047, 1046, 796, 796, 796, + 796, 1047, 1046, 796, 1047, 1046, 1047, 1047, + 796, 1047, 1046, 796, 1047, 796, 1047, 1046, + 796, 1047, 796, 1047, 796, 1046, 1047, 1047, + 1047, 1047, 1047, 1047, 1047, 1047, 1046, 796, + 796, 1047, 1047, 796, 1047, 796, 1047, 1046, + 1047, 1047, 1047, 1047, 1047, 796, 1047, 796, + 1047, 796, 1047, 1046, 1047, 1047, 796, 1047, + 796, 1047, 1046, 1047, 1047, 1047, 1047, 1047, + 796, 1047, 796, 1047, 1046, 796, 796, 1047, + 796, 1047, 1046, 1047, 1047, 1047, 796, 1047, + 796, 1047, 796, 1047, 796, 1047, 1046, 1047, + 796, 1047, 796, 1047, 1046, 796, 1047, 1047, + 1047, 1047, 796, 1047, 796, 1047, 796, 1047, + 796, 1047, 796, 1047, 796, 1047, 1046, 796, + 1047, 1046, 1047, 1047, 1047, 796, 1047, 796, + 1047, 1046, 1047, 796, 1047, 796, 1047, 1046, + 796, 1047, 1047, 1047, 1047, 796, 1047, 796, + 1047, 1046, 796, 1047, 796, 1047, 796, 1047, + 1046, 1047, 1047, 796, 1047, 796, 1047, 1046, + 796, 1047, 796, 1047, 796, 1047, 796, 1046, + 1047, 1047, 1047, 796, 1047, 796, 1047, 1046, + 796, 1047, 1046, 1047, 1047, 796, 1047, 1046, + 1047, 1047, 1047, 796, 1047, 1047, 1047, 1047, + 1047, 1047, 796, 796, 1047, 796, 1047, 796, + 1047, 796, 1047, 1046, 1047, 796, 1047, 796, + 1047, 1046, 796, 1047, 1046, 1047, 796, 1047, + 1046, 1047, 796, 1047, 1046, 796, 796, 1047, + 1046, 796, 1047, 796, 1047, 796, 1047, 796, + 1047, 796, 1047, 796, 1046, 1047, 1047, 796, + 1047, 1047, 1047, 1047, 796, 796, 1047, 1047, + 1047, 1047, 1047, 796, 1047, 1047, 1047, 1047, + 1047, 1046, 796, 1047, 1047, 796, 1047, 796, + 1046, 1047, 1047, 796, 1047, 1046, 796, 796, + 1047, 796, 1046, 1047, 1047, 1046, 796, 1047, + 796, 1046, 1047, 1046, 796, 1047, 796, 1047, + 796, 1046, 1047, 1047, 1046, 796, 1047, 796, + 1047, 796, 1047, 1046, 1047, 796, 1047, 796, + 1047, 1046, 796, 1047, 1046, 796, 796, 1047, + 1046, 1047, 796, 1046, 1047, 1046, 796, 1047, + 796, 1047, 796, 1046, 1047, 1046, 796, 796, + 1047, 1046, 1047, 796, 1047, 796, 1047, 1046, + 796, 1047, 796, 1046, 1047, 1046, 796, 796, + 1047, 796, 1046, 1047, 1046, 796, 796, 1047, + 1046, 1047, 796, 1047, 1046, 1047, 796, 1047, + 1046, 1047, 796, 1047, 796, 1047, 796, 1046, + 1047, 1046, 796, 796, 1047, 1046, 1047, 796, + 1047, 796, 1047, 1046, 796, 1047, 1046, 1047, + 1047, 796, 1047, 796, 1047, 1046, 1046, 796, + 1046, 796, 1047, 1047, 796, 1047, 1047, 1047, + 1047, 1047, 1047, 1047, 1046, 796, 1047, 1047, + 1047, 796, 1046, 1047, 1047, 1047, 796, 1047, + 796, 1047, 796, 1047, 796, 1047, 796, 1047, + 1046, 796, 796, 1047, 1046, 1047, 796, 1047, + 1046, 796, 796, 1047, 796, 796, 796, 1047, + 796, 1047, 796, 1047, 796, 1047, 796, 1046, + 796, 1047, 796, 1047, 796, 1046, 1047, 1046, + 796, 1047, 796, 1046, 1047, 796, 1047, 1047, + 1047, 1046, 796, 1047, 796, 796, 1047, 796, + 1046, 1047, 1047, 1046, 796, 1047, 1047, 1047, + 1047, 796, 1047, 796, 1046, 1047, 1047, 1047, + 796, 1047, 1046, 1047, 796, 1047, 796, 1047, + 796, 1047, 796, 1047, 1046, 1047, 1047, 796, + 1047, 1046, 796, 1047, 796, 1047, 796, 1046, + 1047, 1047, 1046, 796, 1047, 796, 1046, 1047, + 1046, 796, 1047, 1046, 796, 1047, 796, 1047, + 1046, 1047, 1047, 1047, 1046, 796, 796, 796, + 1047, 1046, 796, 1047, 796, 1046, 1047, 1046, + 796, 1047, 796, 1047, 796, 1046, 1047, 1047, + 1047, 1046, 796, 1047, 796, 1046, 1047, 1047, + 1047, 1047, 1046, 796, 1047, 796, 1047, 1046, + 796, 796, 1047, 796, 1047, 1046, 1047, 796, + 1047, 796, 1046, 1047, 1047, 1046, 796, 1047, + 796, 1047, 1046, 796, 1047, 1047, 1047, 796, + 1047, 796, 1046, 796, 1047, 1046, 1047, 796, + 796, 1047, 796, 1047, 796, 1046, 1047, 1047, + 1047, 1047, 1046, 796, 1047, 796, 1047, 796, + 1047, 796, 1047, 796, 1047, 1046, 1047, 1047, + 1047, 796, 1047, 796, 1047, 796, 1047, 796, + 1046, 1047, 1047, 796, 796, 1047, 1046, 1047, + 796, 1047, 1047, 1046, 796, 1047, 796, 1047, + 1046, 796, 796, 1047, 1047, 1047, 1047, 796, + 1047, 796, 1047, 796, 1046, 1047, 1047, 796, + 1046, 1047, 1046, 796, 1047, 796, 1046, 1047, + 1046, 796, 1047, 796, 1046, 1047, 796, 1047, + 1047, 1046, 796, 1047, 1047, 796, 1046, 1047, + 1046, 796, 1047, 796, 1047, 1046, 1047, 796, + 1047, 796, 1046, 1047, 1046, 796, 1047, 796, + 1047, 796, 1047, 796, 1047, 796, 1047, 1046, + 1048, 1046, 1049, 1050, 1051, 1052, 1053, 1054, + 1055, 1056, 1057, 1058, 1059, 1051, 1060, 1061, + 1062, 1063, 1064, 1051, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, - 1077, 1049, 1078, 1046, 1058, 1046, 1079, 1046, - 1044, 1045, 1045, 1045, 1045, 794, 1044, 1045, - 1045, 1044, 794, 1045, 1044, 794, 794, 1045, - 1044, 794, 1045, 794, 1044, 1045, 1044, 794, - 794, 1045, 794, 1044, 1045, 1045, 1044, 794, - 1045, 1045, 1045, 1044, 794, 1045, 794, 1045, - 1045, 1044, 794, 794, 1045, 794, 1044, 1045, - 1044, 794, 1045, 1044, 794, 794, 1045, 794, - 1045, 1044, 794, 1045, 794, 794, 1045, 794, - 1045, 794, 1044, 1045, 1045, 1044, 794, 1045, - 1045, 794, 1045, 1044, 794, 1045, 794, 1045, - 1044, 794, 1045, 794, 1044, 794, 1045, 1045, - 1045, 794, 1045, 1044, 1045, 794, 1045, 1044, - 794, 1045, 1044, 1045, 794, 1045, 1044, 794, - 1045, 1044, 794, 1045, 794, 1045, 1044, 794, - 1045, 1044, 794, 1045, 1044, 1080, 1081, 1082, + 1077, 1078, 1079, 1051, 1080, 1048, 1060, 1048, + 1081, 1048, 1046, 1047, 1047, 1047, 1047, 796, + 1046, 1047, 1047, 1046, 796, 1047, 1046, 796, + 796, 1047, 1046, 796, 1047, 796, 1046, 1047, + 1046, 796, 796, 1047, 796, 1046, 1047, 1047, + 1046, 796, 1047, 1047, 1047, 1046, 796, 1047, + 796, 1047, 1047, 1046, 796, 796, 1047, 796, + 1046, 1047, 1046, 796, 1047, 1046, 796, 796, + 1047, 796, 1047, 1046, 796, 1047, 796, 796, + 1047, 796, 1047, 796, 1046, 1047, 1047, 1046, + 796, 1047, 1047, 796, 1047, 1046, 796, 1047, + 796, 1047, 1046, 796, 1047, 796, 1046, 796, + 1047, 1047, 1047, 796, 1047, 1046, 1047, 796, + 1047, 1046, 796, 1047, 1046, 1047, 796, 1047, + 1046, 796, 1047, 1046, 796, 1047, 796, 1047, + 1046, 796, 1047, 1046, 796, 1047, 1046, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, - 1091, 1051, 1092, 1093, 1094, 1095, 1096, 1093, - 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, - 1105, 1046, 1044, 1045, 794, 1045, 1044, 1045, - 794, 1045, 1044, 1045, 794, 1045, 1044, 1045, - 794, 1045, 1044, 794, 1045, 794, 1045, 1044, - 1045, 794, 1045, 1044, 1045, 794, 794, 794, - 1045, 1044, 1045, 794, 1045, 1044, 1045, 1045, - 1045, 1045, 794, 1045, 794, 1044, 1045, 1044, - 794, 794, 1045, 794, 1045, 1044, 1045, 794, - 1045, 1044, 794, 1045, 1044, 1045, 1045, 794, - 1045, 1044, 794, 1045, 1044, 1045, 794, 1045, - 1044, 794, 1045, 1044, 794, 1045, 1044, 794, - 1045, 1044, 1045, 1044, 794, 794, 1045, 1044, - 1045, 794, 1045, 1044, 794, 1045, 794, 1044, - 1045, 1044, 794, 1049, 1106, 1046, 1049, 1107, - 1049, 1108, 1058, 1046, 1044, 1045, 1044, 794, - 1045, 1044, 794, 1049, 1107, 1058, 1046, 1044, - 1049, 1109, 1046, 1058, 1046, 1044, 1045, 1044, - 794, 1049, 1110, 1067, 1111, 1093, 1112, 1105, - 1049, 1113, 1114, 1115, 1046, 1058, 1046, 1044, - 1045, 1044, 794, 1045, 794, 1045, 1044, 794, - 1045, 794, 1045, 794, 1044, 1045, 1045, 1044, - 794, 1045, 794, 1045, 1044, 794, 1045, 1044, - 1049, 1058, 800, 1044, 1116, 1049, 1117, 1058, - 1046, 1044, 800, 1045, 1044, 794, 1045, 1044, - 794, 1118, 1049, 1119, 1120, 1046, 1044, 794, - 1045, 1044, 1045, 1045, 1044, 794, 794, 1045, - 794, 1045, 1044, 1049, 1121, 1122, 1123, 1124, - 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1046, - 1058, 1046, 1044, 1045, 794, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 794, 1045, 794, 1045, - 1045, 1045, 1045, 1045, 1045, 1044, 794, 1045, - 1045, 794, 1045, 794, 1044, 1045, 794, 1045, - 1045, 1045, 794, 1045, 1045, 794, 1045, 1045, - 794, 1045, 1045, 794, 1045, 1045, 1044, 794, - 1049, 1132, 1049, 1108, 1133, 1134, 1135, 1046, - 1058, 1046, 1044, 1045, 1044, 794, 1045, 1045, - 1045, 794, 1045, 1045, 1045, 794, 1045, 794, - 1045, 1044, 794, 794, 794, 794, 1045, 1045, - 794, 794, 794, 794, 794, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 794, 1045, 794, 1045, - 794, 1044, 1045, 1045, 1045, 794, 1045, 794, - 1045, 1044, 1058, 800, 1136, 1049, 1058, 800, - 1045, 1044, 794, 1137, 1049, 1138, 1058, 800, - 1045, 1044, 794, 1045, 794, 1139, 1058, 1046, - 1044, 800, 1045, 1044, 794, 1049, 1140, 1046, - 1058, 1046, 1044, 1045, 1044, 794, 1141, 1142, - 1143, 1141, 1144, 1145, 1146, 1148, 1149, 1150, - 1151, 1152, 1153, 671, 671, 421, 1154, 1155, - 1156, 1157, 671, 1160, 1161, 1163, 1164, 1165, - 1159, 1166, 1167, 1168, 1169, 1170, 1171, 1172, + 1091, 1092, 1093, 1053, 1094, 1095, 1096, 1097, + 1098, 1095, 1099, 1100, 1101, 1102, 1103, 1104, + 1105, 1106, 1107, 1048, 1046, 1047, 796, 1047, + 1046, 1047, 796, 1047, 1046, 1047, 796, 1047, + 1046, 1047, 796, 1047, 1046, 796, 1047, 796, + 1047, 1046, 1047, 796, 1047, 1046, 1047, 796, + 796, 796, 1047, 1046, 1047, 796, 1047, 1046, + 1047, 1047, 1047, 1047, 796, 1047, 796, 1046, + 1047, 1046, 796, 796, 1047, 796, 1047, 1046, + 1047, 796, 1047, 1046, 796, 1047, 1046, 1047, + 1047, 796, 1047, 1046, 796, 1047, 1046, 1047, + 796, 1047, 1046, 796, 1047, 1046, 796, 1047, + 1046, 796, 1047, 1046, 1047, 1046, 796, 796, + 1047, 1046, 1047, 796, 1047, 1046, 796, 1047, + 796, 1046, 1047, 1046, 796, 1051, 1108, 1048, + 1051, 1109, 1051, 1110, 1060, 1048, 1046, 1047, + 1046, 796, 1047, 1046, 796, 1051, 1109, 1060, + 1048, 1046, 1051, 1111, 1048, 1060, 1048, 1046, + 1047, 1046, 796, 1051, 1112, 1069, 1113, 1095, + 1114, 1107, 1051, 1115, 1116, 1117, 1048, 1060, + 1048, 1046, 1047, 1046, 796, 1047, 796, 1047, + 1046, 796, 1047, 796, 1047, 796, 1046, 1047, + 1047, 1046, 796, 1047, 796, 1047, 1046, 796, + 1047, 1046, 1051, 1060, 802, 1046, 1118, 1051, + 1119, 1060, 1048, 1046, 802, 1047, 1046, 796, + 1047, 1046, 796, 1120, 1051, 1121, 1122, 1048, + 1046, 796, 1047, 1046, 1047, 1047, 1046, 796, + 796, 1047, 796, 1047, 1046, 1051, 1123, 1124, + 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, + 1133, 1048, 1060, 1048, 1046, 1047, 796, 1047, + 1047, 1047, 1047, 1047, 1047, 1047, 796, 1047, + 796, 1047, 1047, 1047, 1047, 1047, 1047, 1046, + 796, 1047, 1047, 796, 1047, 796, 1046, 1047, + 796, 1047, 1047, 1047, 796, 1047, 1047, 796, + 1047, 1047, 796, 1047, 1047, 796, 1047, 1047, + 1046, 796, 1051, 1134, 1051, 1110, 1135, 1136, + 1137, 1048, 1060, 1048, 1046, 1047, 1046, 796, + 1047, 1047, 1047, 796, 1047, 1047, 1047, 796, + 1047, 796, 1047, 1046, 796, 796, 796, 796, + 1047, 1047, 796, 796, 796, 796, 796, 1047, + 1047, 1047, 1047, 1047, 1047, 1047, 796, 1047, + 796, 1047, 796, 1046, 1047, 1047, 1047, 796, + 1047, 796, 1047, 1046, 1060, 802, 1138, 1051, + 1060, 802, 1047, 1046, 796, 1139, 1051, 1140, + 1060, 802, 1047, 1046, 796, 1047, 796, 1141, + 1060, 1048, 1046, 802, 1047, 1046, 796, 1051, + 1142, 1048, 1060, 1048, 1046, 1047, 1046, 796, + 1143, 1144, 1145, 1143, 1146, 1147, 1148, 1150, + 1151, 1152, 1153, 1154, 1155, 671, 671, 421, + 1156, 1157, 1158, 1159, 671, 1162, 1163, 1165, + 1166, 1167, 1161, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, - 1181, 1182, 1183, 1184, 1185, 1187, 1188, 1189, - 1190, 1191, 1192, 671, 1147, 9, 1147, 421, - 1147, 421, 1159, 1162, 1186, 1193, 1158, 1141, - 1141, 1194, 1142, 1195, 1197, 1196, 2, 1, - 1198, 1196, 1199, 1196, 5, 1, 1196, 8, - 10, 10, 9, 1200, 1201, 1202, 1196, 1203, - 1204, 1196, 1205, 1196, 421, 421, 1207, 1208, - 490, 471, 1209, 471, 1210, 1211, 1212, 1213, - 1214, 1215, 1216, 1217, 1218, 1219, 1220, 545, - 1221, 521, 1222, 1223, 1224, 1225, 1226, 1227, - 1228, 1229, 1230, 1231, 1232, 1233, 421, 421, - 421, 426, 566, 1206, 1234, 1196, 1235, 1196, - 671, 1236, 421, 421, 421, 671, 1236, 671, - 671, 421, 1236, 421, 1236, 421, 1236, 421, - 671, 671, 671, 671, 671, 1236, 421, 671, - 671, 671, 421, 671, 421, 1236, 421, 671, - 671, 671, 671, 421, 1236, 671, 421, 671, - 421, 671, 421, 671, 671, 421, 671, 1236, - 421, 671, 421, 671, 421, 671, 1236, 671, - 421, 1236, 671, 421, 671, 421, 1236, 671, - 671, 671, 671, 671, 1236, 421, 421, 671, - 421, 671, 1236, 671, 421, 1236, 671, 671, - 1236, 421, 421, 671, 421, 671, 421, 671, - 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, - 1244, 1245, 1246, 1247, 716, 1248, 1249, 1250, + 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1189, + 1190, 1191, 1192, 1193, 1194, 671, 1149, 9, + 1149, 421, 1149, 421, 1161, 1164, 1188, 1195, + 1160, 1143, 1143, 1196, 1144, 1197, 1199, 1198, + 2, 1, 1200, 1198, 1201, 1198, 5, 1, + 1198, 8, 10, 10, 9, 1202, 1203, 1204, + 1198, 1205, 1206, 1198, 1207, 1198, 421, 421, + 1209, 1210, 490, 471, 1211, 471, 1212, 1213, + 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, + 1222, 545, 1223, 521, 1224, 1225, 1226, 1227, + 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, + 421, 421, 421, 426, 566, 1208, 1236, 1198, + 1237, 1198, 671, 1238, 421, 421, 421, 671, + 1238, 671, 671, 421, 1238, 421, 1238, 421, + 1238, 421, 671, 671, 671, 671, 671, 1238, + 421, 671, 671, 671, 421, 671, 421, 1238, + 421, 671, 671, 671, 671, 421, 1238, 671, + 421, 671, 421, 671, 421, 671, 671, 421, + 671, 1238, 421, 671, 421, 671, 421, 671, + 1238, 671, 421, 1238, 671, 421, 671, 421, + 1238, 671, 671, 671, 671, 671, 1238, 421, + 421, 671, 421, 671, 1238, 671, 421, 1238, + 671, 671, 1238, 421, 421, 671, 421, 671, + 421, 671, 1238, 1239, 1240, 1241, 1242, 1243, + 1244, 1245, 1246, 1247, 1248, 1249, 716, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, - 1259, 1258, 1260, 1261, 1262, 1263, 1264, 672, - 1236, 1265, 1266, 1267, 1268, 1269, 1270, 1271, + 1259, 1260, 1261, 1260, 1262, 1263, 1264, 1265, + 1266, 672, 1238, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, - 1280, 1281, 1282, 1283, 726, 1284, 1285, 1286, - 693, 1287, 1288, 1289, 1290, 1291, 1292, 672, - 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, - 675, 1301, 672, 675, 1302, 1303, 1304, 1305, - 684, 1236, 1306, 1307, 1308, 1309, 704, 1310, - 1311, 684, 1312, 1313, 1314, 1315, 1316, 672, - 1236, 1317, 1276, 1318, 1319, 1320, 684, 1321, - 1322, 675, 672, 684, 426, 1236, 1286, 672, - 675, 684, 426, 684, 426, 1323, 684, 1236, - 426, 675, 1324, 1325, 675, 1326, 1327, 682, - 1328, 1329, 1330, 1331, 1332, 1282, 1333, 1334, + 1280, 1281, 1282, 1283, 1284, 1285, 726, 1286, + 1287, 1288, 693, 1289, 1290, 1291, 1292, 1293, + 1294, 672, 1295, 1296, 1297, 1298, 1299, 1300, + 1301, 1302, 675, 1303, 672, 675, 1304, 1305, + 1306, 1307, 684, 1238, 1308, 1309, 1310, 1311, + 704, 1312, 1313, 684, 1314, 1315, 1316, 1317, + 1318, 672, 1238, 1319, 1278, 1320, 1321, 1322, + 684, 1323, 1324, 675, 672, 684, 426, 1238, + 1288, 672, 675, 684, 426, 684, 426, 1325, + 684, 1238, 426, 675, 1326, 1327, 675, 1328, + 1329, 682, 1330, 1331, 1332, 1333, 1334, 1284, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, - 1343, 1344, 1301, 1345, 675, 684, 426, 1236, - 1346, 1347, 684, 672, 1236, 426, 672, 1236, - 675, 1348, 732, 1349, 1350, 1351, 1352, 1353, - 1354, 1355, 1356, 672, 1357, 1358, 1359, 1360, - 1361, 1362, 672, 684, 1236, 1364, 1365, 1366, + 1343, 1344, 1345, 1346, 1303, 1347, 675, 684, + 426, 1238, 1348, 1349, 684, 672, 1238, 426, + 672, 1238, 675, 1350, 732, 1351, 1352, 1353, + 1354, 1355, 1356, 1357, 1358, 672, 1359, 1360, + 1361, 1362, 1363, 1364, 672, 684, 1238, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, - 1370, 1376, 1377, 1378, 1379, 1363, 1375, 1363, - 1236, 1363, 1236, 1380, 1380, 1381, 1382, 1383, - 1384, 1385, 1386, 1387, 1388, 1385, 770, 1389, - 1389, 1389, 1390, 1391, 1384, 1389, 771, 772, - 1392, 1389, 770, 1393, 1393, 1393, 1395, 1396, - 1397, 1393, 1398, 1399, 1400, 1393, 1394, 1401, - 1401, 1401, 1403, 1404, 1405, 1401, 1406, 1407, - 1408, 1401, 1402, 1389, 1389, 1409, 1410, 1384, - 1389, 771, 772, 1392, 1389, 770, 1411, 1412, - 1413, 770, 1414, 1415, 1416, 768, 768, 768, - 768, 1418, 1419, 1420, 1394, 768, 1421, 1422, - 1423, 768, 1417, 769, 769, 769, 1425, 1426, - 1427, 1394, 769, 1428, 1429, 1430, 769, 1424, - 768, 768, 768, 1432, 1433, 1434, 1402, 768, - 1435, 1436, 1437, 768, 1431, 1393, 1393, 770, - 1438, 1439, 1397, 1393, 1398, 1399, 1400, 1393, - 1394, 1440, 1441, 1442, 770, 1443, 1444, 1445, - 769, 769, 769, 769, 1447, 1448, 1449, 1402, - 769, 1450, 1451, 1452, 769, 1446, 1401, 1401, - 770, 1453, 1454, 1405, 1401, 1406, 1407, 1408, - 1401, 1402, 1401, 1401, 1401, 1403, 1404, 1405, - 770, 1406, 1407, 1408, 1401, 1402, 1401, 1401, - 1401, 1403, 1404, 1405, 771, 1406, 1407, 1408, - 1401, 1402, 1401, 1401, 1401, 1403, 1404, 1405, - 772, 1406, 1407, 1408, 1401, 1402, 1393, 1393, - 1393, 1395, 1396, 1397, 770, 1398, 1399, 1400, - 1393, 1394, 1393, 1393, 1393, 1395, 1396, 1397, - 771, 1398, 1399, 1400, 1393, 1394, 1393, 1393, - 1393, 1395, 1396, 1397, 772, 1398, 1399, 1400, - 1393, 1394, 1456, 768, 1458, 1457, 1459, 769, - 1461, 1460, 770, 1462, 774, 1462, 1463, 1462, - 776, 1464, 1465, 1466, 1467, 1468, 1469, 1470, - 1467, 780, 776, 1464, 1472, 1473, 1471, 781, - 782, 1474, 1471, 780, 1477, 1478, 1479, 1480, - 1475, 1481, 1482, 1483, 1475, 1476, 1486, 1487, - 1488, 1489, 1484, 1490, 1491, 1492, 1484, 1485, - 1494, 1493, 1496, 1495, 780, 1497, 781, 1497, - 782, 1497, 786, 1498, 1499, 1500, 1501, 1502, - 1503, 1504, 1501, 788, 786, 1498, 1506, 1505, - 789, 790, 1507, 1505, 788, 1509, 1508, 1511, - 1510, 788, 1512, 789, 1512, 790, 1512, 794, - 1515, 1516, 1518, 1519, 1520, 1514, 1521, 1522, - 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, - 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, - 1539, 1540, 1542, 1543, 1544, 1545, 1546, 1547, - 794, 794, 1513, 1514, 1517, 1541, 1548, 1513, - 1045, 794, 794, 1550, 1551, 864, 845, 1552, - 845, 1553, 1554, 1555, 1556, 1557, 1558, 1559, - 1560, 1561, 1562, 1563, 919, 1564, 895, 1565, - 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, - 1574, 1575, 1576, 794, 794, 794, 800, 940, - 1549, 1045, 1577, 794, 794, 794, 1045, 1577, - 1045, 1045, 794, 1577, 794, 1577, 794, 1577, - 794, 1045, 1045, 1045, 1045, 1045, 1577, 794, - 1045, 1045, 1045, 794, 1045, 794, 1577, 794, - 1045, 1045, 1045, 1045, 794, 1577, 1045, 794, - 1045, 794, 1045, 794, 1045, 1045, 794, 1045, - 1577, 794, 1045, 794, 1045, 794, 1045, 1577, - 1045, 794, 1577, 1045, 794, 1045, 794, 1577, - 1045, 1045, 1045, 1045, 1045, 1577, 794, 794, - 1045, 794, 1045, 1577, 1045, 794, 1577, 1045, - 1045, 1577, 794, 794, 1045, 794, 1045, 794, - 1045, 1577, 1578, 1579, 1580, 1581, 1582, 1583, - 1584, 1585, 1586, 1587, 1588, 1090, 1589, 1590, - 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, - 1599, 1600, 1599, 1601, 1602, 1603, 1604, 1605, - 1046, 1577, 1606, 1607, 1608, 1609, 1610, 1611, - 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, - 1620, 1621, 1622, 1623, 1624, 1100, 1625, 1626, - 1627, 1067, 1628, 1629, 1630, 1631, 1632, 1633, - 1046, 1634, 1635, 1636, 1637, 1638, 1639, 1640, - 1641, 1049, 1642, 1046, 1049, 1643, 1644, 1645, - 1646, 1058, 1577, 1647, 1648, 1649, 1650, 1078, - 1651, 1652, 1058, 1653, 1654, 1655, 1656, 1657, - 1046, 1577, 1658, 1617, 1659, 1660, 1661, 1058, - 1662, 1663, 1049, 1046, 1058, 800, 1577, 1627, - 1046, 1049, 1058, 800, 1058, 800, 1664, 1058, - 1577, 800, 1049, 1665, 1666, 1049, 1667, 1668, - 1056, 1669, 1670, 1671, 1672, 1673, 1623, 1674, - 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, - 1683, 1684, 1685, 1642, 1686, 1049, 1058, 800, - 1577, 1687, 1688, 1058, 1046, 1577, 800, 1046, - 1577, 1049, 1689, 1106, 1690, 1691, 1692, 1693, - 1694, 1695, 1696, 1697, 1046, 1698, 1699, 1700, - 1701, 1702, 1703, 1046, 1058, 1577, 1705, 1706, - 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1714, - 1715, 1711, 1717, 1718, 1719, 1720, 1704, 1716, - 1704, 1577, 1704, 1577, + 1375, 1376, 1372, 1378, 1379, 1380, 1381, 1365, + 1377, 1365, 1238, 1365, 1238, 1382, 1382, 1383, + 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1387, + 768, 1391, 1391, 1391, 1392, 1391, 1391, 769, + 770, 771, 1391, 768, 1382, 1382, 1393, 1396, + 1397, 1395, 1398, 1399, 1398, 1400, 1391, 1402, + 1401, 1396, 1403, 1395, 1405, 1404, 1394, 1394, + 1394, 769, 770, 771, 1394, 768, 768, 1406, + 774, 1406, 1407, 1406, 776, 1408, 1409, 1410, + 1411, 1412, 1413, 1414, 1411, 777, 776, 1408, + 1415, 1415, 778, 780, 1416, 1415, 777, 1418, + 1419, 1417, 1418, 1419, 1420, 1417, 776, 1408, + 1421, 1415, 776, 1408, 1415, 1423, 1422, 1425, + 1424, 777, 1426, 778, 1426, 780, 1426, 786, + 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1430, + 787, 786, 1427, 1434, 1434, 788, 790, 1435, + 1434, 787, 1437, 1438, 1436, 1437, 1438, 1439, + 1436, 786, 1427, 1440, 1434, 786, 1427, 1434, + 1442, 1441, 1444, 1443, 787, 1445, 788, 1445, + 790, 1445, 796, 1448, 1449, 1451, 1452, 1453, + 1447, 1454, 1455, 1456, 1457, 1458, 1459, 1460, + 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, + 1469, 1470, 1471, 1472, 1473, 1475, 1476, 1477, + 1478, 1479, 1480, 796, 796, 1446, 1447, 1450, + 1474, 1481, 1446, 1047, 796, 796, 1483, 1484, + 866, 847, 1485, 847, 1486, 1487, 1488, 1489, + 1490, 1491, 1492, 1493, 1494, 1495, 1496, 921, + 1497, 897, 1498, 1499, 1500, 1501, 1502, 1503, + 1504, 1505, 1506, 1507, 1508, 1509, 796, 796, + 796, 802, 942, 1482, 1047, 1510, 796, 796, + 796, 1047, 1510, 1047, 1047, 796, 1510, 796, + 1510, 796, 1510, 796, 1047, 1047, 1047, 1047, + 1047, 1510, 796, 1047, 1047, 1047, 796, 1047, + 796, 1510, 796, 1047, 1047, 1047, 1047, 796, + 1510, 1047, 796, 1047, 796, 1047, 796, 1047, + 1047, 796, 1047, 1510, 796, 1047, 796, 1047, + 796, 1047, 1510, 1047, 796, 1510, 1047, 796, + 1047, 796, 1510, 1047, 1047, 1047, 1047, 1047, + 1510, 796, 796, 1047, 796, 1047, 1510, 1047, + 796, 1510, 1047, 1047, 1510, 796, 796, 1047, + 796, 1047, 796, 1047, 1510, 1511, 1512, 1513, + 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, + 1092, 1522, 1523, 1524, 1525, 1526, 1527, 1528, + 1529, 1530, 1531, 1532, 1533, 1532, 1534, 1535, + 1536, 1537, 1538, 1048, 1510, 1539, 1540, 1541, + 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, + 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, + 1102, 1558, 1559, 1560, 1069, 1561, 1562, 1563, + 1564, 1565, 1566, 1048, 1567, 1568, 1569, 1570, + 1571, 1572, 1573, 1574, 1051, 1575, 1048, 1051, + 1576, 1577, 1578, 1579, 1060, 1510, 1580, 1581, + 1582, 1583, 1080, 1584, 1585, 1060, 1586, 1587, + 1588, 1589, 1590, 1048, 1510, 1591, 1550, 1592, + 1593, 1594, 1060, 1595, 1596, 1051, 1048, 1060, + 802, 1510, 1560, 1048, 1051, 1060, 802, 1060, + 802, 1597, 1060, 1510, 802, 1051, 1598, 1599, + 1051, 1600, 1601, 1058, 1602, 1603, 1604, 1605, + 1606, 1556, 1607, 1608, 1609, 1610, 1611, 1612, + 1613, 1614, 1615, 1616, 1617, 1618, 1575, 1619, + 1051, 1060, 802, 1510, 1620, 1621, 1060, 1048, + 1510, 802, 1048, 1510, 1051, 1622, 1108, 1623, + 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1048, + 1631, 1632, 1633, 1634, 1635, 1636, 1048, 1060, + 1510, 1638, 1639, 1640, 1641, 1642, 1643, 1644, + 1645, 1646, 1647, 1648, 1644, 1650, 1651, 1652, + 1653, 1637, 1649, 1637, 1510, 1637, 1510, } var _hcltok_trans_targs []int16 = []int16{ - 1464, 1, 1464, 1464, 1464, 3, 4, 1464, - 5, 1472, 6, 7, 9, 10, 287, 13, + 1460, 1, 1460, 1460, 1460, 3, 4, 1460, + 5, 1468, 6, 7, 9, 10, 287, 13, 14, 15, 16, 17, 288, 289, 20, 290, 22, 23, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 329, 349, 354, 128, - 129, 130, 357, 152, 372, 376, 1464, 11, + 129, 130, 357, 152, 372, 376, 1460, 11, 12, 18, 19, 21, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 65, 106, 121, 132, 155, 171, 284, 34, 35, 36, @@ -3297,7 +3236,7 @@ var _hcltok_trans_targs []int16 = []int16{ 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 406, 407, 408, - 409, 411, 413, 415, 1464, 1476, 438, 439, + 409, 411, 413, 415, 1460, 1472, 438, 439, 440, 441, 418, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, @@ -3328,7 +3267,7 @@ var _hcltok_trans_targs []int16 = []int16{ 654, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 674, 675, 676, 677, 678, 679, - 681, 683, 685, 687, 689, 690, 1464, 1464, + 681, 683, 685, 687, 689, 690, 1460, 1460, 691, 828, 829, 760, 830, 831, 832, 833, 834, 835, 789, 836, 725, 837, 838, 839, 840, 841, 842, 843, 844, 745, 845, 846, @@ -3340,136 +3279,127 @@ var _hcltok_trans_targs []int16 = []int16{ 888, 889, 890, 891, 892, 893, 896, 897, 899, 900, 901, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 915, 916, - 917, 918, 921, 923, 924, 926, 928, 1514, - 1516, 1517, 1515, 931, 932, 1514, 934, 1540, - 1540, 1540, 1542, 1543, 1541, 939, 940, 1544, - 1545, 1549, 1549, 1549, 1550, 946, 947, 1551, - 1552, 1556, 1557, 1556, 973, 974, 975, 976, - 953, 977, 978, 979, 980, 981, 982, 983, - 984, 985, 986, 987, 988, 989, 990, 991, - 992, 993, 994, 995, 996, 997, 998, 999, - 1000, 1001, 1002, 1003, 1005, 1006, 1007, 1008, - 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, - 1017, 1018, 1019, 1020, 1021, 955, 1022, 1023, - 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, - 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, - 954, 1040, 1041, 1042, 1043, 1044, 1046, 1047, - 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, - 1056, 1057, 1058, 1059, 1061, 1062, 1063, 1064, - 1065, 1066, 1070, 1072, 1073, 1074, 1075, 970, - 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, - 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1092, - 1093, 1095, 1096, 1097, 1098, 1099, 1100, 968, - 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, - 1109, 1111, 1143, 1167, 1170, 1171, 1173, 1182, - 1183, 1186, 1190, 1208, 1068, 1215, 1217, 1219, - 1221, 1112, 1113, 1114, 1115, 1116, 1117, 1118, - 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, - 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, - 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, - 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, - 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, - 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1168, - 1169, 1172, 1174, 1175, 1176, 1177, 1178, 1179, - 1180, 1181, 1184, 1185, 1187, 1188, 1189, 1191, - 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, - 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, - 1209, 1210, 1211, 1212, 1213, 1214, 1216, 1218, - 1220, 1222, 1224, 1225, 1556, 1556, 1226, 1363, - 1364, 1295, 1365, 1366, 1367, 1368, 1369, 1370, - 1324, 1371, 1260, 1372, 1373, 1374, 1375, 1376, - 1377, 1378, 1379, 1280, 1380, 1381, 1382, 1383, - 1384, 1385, 1386, 1387, 1388, 1389, 1305, 1390, - 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, - 1400, 1401, 1238, 1402, 1403, 1404, 1405, 1406, - 1407, 1408, 1409, 1410, 1276, 1411, 1412, 1413, - 1414, 1415, 1346, 1417, 1418, 1421, 1423, 1424, - 1425, 1426, 1427, 1428, 1431, 1432, 1434, 1435, - 1436, 1438, 1439, 1440, 1441, 1442, 1443, 1444, - 1445, 1446, 1447, 1448, 1450, 1451, 1452, 1453, - 1456, 1458, 1459, 1461, 1463, 1465, 1464, 1466, - 1467, 1464, 1468, 1464, 1469, 1470, 1471, 1473, - 1474, 1475, 1464, 1477, 1464, 1478, 1464, 1479, - 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, - 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, - 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, - 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, - 1512, 1513, 1464, 1464, 1464, 1464, 1464, 2, - 1464, 8, 1464, 1464, 1464, 1464, 1464, 416, - 417, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, 431, 432, 434, 436, 437, - 469, 510, 525, 532, 534, 536, 556, 559, - 575, 688, 1464, 1464, 1464, 692, 693, 694, - 695, 696, 697, 698, 699, 700, 701, 702, - 704, 705, 706, 707, 708, 709, 710, 711, - 712, 713, 714, 715, 716, 717, 718, 719, - 720, 721, 722, 723, 724, 726, 727, 728, - 729, 730, 731, 732, 733, 734, 735, 736, - 737, 738, 739, 740, 742, 743, 744, 746, - 747, 748, 749, 750, 751, 752, 753, 754, - 755, 756, 757, 758, 759, 761, 762, 763, - 764, 765, 766, 767, 768, 769, 771, 772, - 773, 774, 775, 776, 777, 778, 779, 780, - 781, 782, 783, 784, 785, 786, 787, 788, - 790, 791, 792, 793, 794, 795, 796, 797, - 798, 799, 800, 801, 802, 803, 804, 805, - 806, 807, 808, 809, 810, 812, 813, 814, - 815, 816, 817, 818, 819, 820, 821, 822, - 823, 824, 825, 826, 827, 856, 881, 884, - 885, 887, 894, 895, 898, 902, 914, 919, - 920, 922, 925, 927, 1514, 1514, 1533, 1535, - 1518, 1514, 1537, 1538, 1539, 1514, 929, 930, - 933, 1514, 1515, 929, 930, 1518, 931, 932, - 933, 1514, 1515, 929, 930, 1518, 931, 932, - 933, 1519, 1524, 1520, 1521, 1523, 1530, 1531, - 1532, 1516, 1520, 1521, 1523, 1530, 1531, 1532, - 1517, 1522, 1525, 1526, 1527, 1528, 1529, 1516, - 1520, 1521, 1523, 1530, 1531, 1532, 1519, 1524, - 1522, 1525, 1526, 1527, 1528, 1529, 1517, 1522, - 1525, 1526, 1527, 1528, 1529, 1519, 1524, 1514, - 1534, 1514, 1514, 1536, 1514, 1514, 1514, 935, - 936, 942, 943, 1540, 1546, 1547, 1548, 1540, - 937, 938, 941, 1540, 1541, 1540, 936, 937, - 938, 939, 940, 941, 1540, 1541, 1540, 936, - 937, 938, 939, 940, 941, 1540, 1540, 1540, - 1540, 1540, 944, 949, 950, 1549, 1553, 1554, - 1555, 1549, 945, 948, 1549, 1549, 1549, 1549, - 1549, 1556, 1558, 1559, 1560, 1561, 1562, 1563, - 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, - 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, - 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, - 1588, 1589, 1590, 1591, 1592, 1556, 951, 952, - 956, 957, 958, 959, 960, 961, 962, 963, - 964, 965, 966, 967, 969, 971, 972, 1004, - 1045, 1060, 1067, 1069, 1071, 1091, 1094, 1110, - 1223, 1556, 1227, 1228, 1229, 1230, 1231, 1232, - 1233, 1234, 1235, 1236, 1237, 1239, 1240, 1241, - 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, - 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, - 1258, 1259, 1261, 1262, 1263, 1264, 1265, 1266, - 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, - 1275, 1277, 1278, 1279, 1281, 1282, 1283, 1284, - 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, - 1293, 1294, 1296, 1297, 1298, 1299, 1300, 1301, - 1302, 1303, 1304, 1306, 1307, 1308, 1309, 1310, - 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, - 1319, 1320, 1321, 1322, 1323, 1325, 1326, 1327, - 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, - 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, - 1344, 1345, 1347, 1348, 1349, 1350, 1351, 1352, - 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, - 1361, 1362, 1391, 1416, 1419, 1420, 1422, 1429, - 1430, 1433, 1437, 1449, 1454, 1455, 1457, 1460, - 1462, + 917, 918, 921, 923, 924, 926, 928, 1510, + 1511, 930, 931, 932, 1510, 1510, 933, 1524, + 1524, 1525, 936, 1524, 937, 1526, 1527, 1530, + 1531, 1535, 1535, 1536, 942, 1535, 943, 1537, + 1538, 1541, 1542, 1546, 1547, 1546, 969, 970, + 971, 972, 949, 973, 974, 975, 976, 977, + 978, 979, 980, 981, 982, 983, 984, 985, + 986, 987, 988, 989, 990, 991, 992, 993, + 994, 995, 996, 997, 998, 999, 1001, 1002, + 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, + 1011, 1012, 1013, 1014, 1015, 1016, 1017, 951, + 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, + 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, + 1034, 1035, 950, 1036, 1037, 1038, 1039, 1040, + 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, + 1050, 1051, 1052, 1053, 1054, 1055, 1057, 1058, + 1059, 1060, 1061, 1062, 1066, 1068, 1069, 1070, + 1071, 966, 1072, 1073, 1074, 1075, 1076, 1077, + 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, + 1086, 1088, 1089, 1091, 1092, 1093, 1094, 1095, + 1096, 964, 1097, 1098, 1099, 1100, 1101, 1102, + 1103, 1104, 1105, 1107, 1139, 1163, 1166, 1167, + 1169, 1178, 1179, 1182, 1186, 1204, 1064, 1211, + 1213, 1215, 1217, 1108, 1109, 1110, 1111, 1112, + 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, + 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, + 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, + 1137, 1138, 1140, 1141, 1142, 1143, 1144, 1145, + 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, + 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, + 1162, 1164, 1165, 1168, 1170, 1171, 1172, 1173, + 1174, 1175, 1176, 1177, 1180, 1181, 1183, 1184, + 1185, 1187, 1188, 1189, 1190, 1191, 1192, 1193, + 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, + 1202, 1203, 1205, 1206, 1207, 1208, 1209, 1210, + 1212, 1214, 1216, 1218, 1220, 1221, 1546, 1546, + 1222, 1359, 1360, 1291, 1361, 1362, 1363, 1364, + 1365, 1366, 1320, 1367, 1256, 1368, 1369, 1370, + 1371, 1372, 1373, 1374, 1375, 1276, 1376, 1377, + 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, + 1301, 1386, 1388, 1389, 1390, 1391, 1392, 1393, + 1394, 1395, 1396, 1397, 1234, 1398, 1399, 1400, + 1401, 1402, 1403, 1404, 1405, 1406, 1272, 1407, + 1408, 1409, 1410, 1411, 1342, 1413, 1414, 1417, + 1419, 1420, 1421, 1422, 1423, 1424, 1427, 1428, + 1430, 1431, 1432, 1434, 1435, 1436, 1437, 1438, + 1439, 1440, 1441, 1442, 1443, 1444, 1446, 1447, + 1448, 1449, 1452, 1454, 1455, 1457, 1459, 1461, + 1460, 1462, 1463, 1460, 1464, 1460, 1465, 1466, + 1467, 1469, 1470, 1471, 1460, 1473, 1460, 1474, + 1460, 1475, 1476, 1477, 1478, 1479, 1480, 1481, + 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, + 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, + 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, + 1506, 1507, 1508, 1509, 1460, 1460, 1460, 1460, + 1460, 2, 1460, 8, 1460, 1460, 1460, 1460, + 1460, 416, 417, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 430, 431, 432, 434, + 436, 437, 469, 510, 525, 532, 534, 536, + 556, 559, 575, 688, 1460, 1460, 1460, 692, + 693, 694, 695, 696, 697, 698, 699, 700, + 701, 702, 704, 705, 706, 707, 708, 709, + 710, 711, 712, 713, 714, 715, 716, 717, + 718, 719, 720, 721, 722, 723, 724, 726, + 727, 728, 729, 730, 731, 732, 733, 734, + 735, 736, 737, 738, 739, 740, 742, 743, + 744, 746, 747, 748, 749, 750, 751, 752, + 753, 754, 755, 756, 757, 758, 759, 761, + 762, 763, 764, 765, 766, 767, 768, 769, + 771, 772, 773, 774, 775, 776, 777, 778, + 779, 780, 781, 782, 783, 784, 785, 786, + 787, 788, 790, 791, 792, 793, 794, 795, + 796, 797, 798, 799, 800, 801, 802, 803, + 804, 805, 806, 807, 808, 809, 810, 812, + 813, 814, 815, 816, 817, 818, 819, 820, + 821, 822, 823, 824, 825, 826, 827, 856, + 881, 884, 885, 887, 894, 895, 898, 902, + 914, 919, 920, 922, 925, 927, 1512, 1510, + 1513, 1518, 1520, 1510, 1521, 1522, 1523, 1510, + 929, 1510, 1510, 1514, 1515, 1517, 1510, 1516, + 1510, 1510, 1510, 1519, 1510, 1510, 1510, 934, + 935, 939, 940, 1524, 1532, 1533, 1534, 1524, + 938, 1524, 1524, 935, 1528, 1529, 1524, 1524, + 1524, 1524, 1524, 941, 945, 946, 1535, 1543, + 1544, 1545, 1535, 944, 1535, 1535, 941, 1539, + 1540, 1535, 1535, 1535, 1535, 1535, 1546, 1548, + 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, + 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, + 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, + 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, + 1581, 1582, 1546, 947, 948, 952, 953, 954, + 955, 956, 957, 958, 959, 960, 961, 962, + 963, 965, 967, 968, 1000, 1041, 1056, 1063, + 1065, 1067, 1087, 1090, 1106, 1219, 1546, 1223, + 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, + 1232, 1233, 1235, 1236, 1237, 1238, 1239, 1240, + 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, + 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1257, + 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, + 1266, 1267, 1268, 1269, 1270, 1271, 1273, 1274, + 1275, 1277, 1278, 1279, 1280, 1281, 1282, 1283, + 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1292, + 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, + 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, + 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, + 1318, 1319, 1321, 1322, 1323, 1324, 1325, 1326, + 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, + 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1343, + 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, + 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1387, + 1412, 1415, 1416, 1418, 1425, 1426, 1429, 1433, + 1445, 1450, 1451, 1453, 1456, 1458, } var _hcltok_trans_actions []byte = []byte{ - 149, 0, 93, 145, 109, 0, 0, 141, - 0, 13, 0, 0, 0, 0, 0, 0, + 147, 0, 91, 143, 107, 0, 0, 139, + 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 123, 0, + 0, 0, 0, 0, 0, 0, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3516,7 +3446,7 @@ var _hcltok_trans_actions []byte = []byte{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 143, 196, 0, 0, + 0, 0, 0, 0, 141, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3547,7 +3477,7 @@ var _hcltok_trans_actions []byte = []byte{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 147, 127, + 0, 0, 0, 0, 0, 0, 145, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3559,11 +3489,11 @@ var _hcltok_trans_actions []byte = []byte{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 35, - 13, 13, 13, 0, 0, 37, 0, 57, - 43, 55, 178, 178, 178, 0, 0, 0, - 0, 77, 63, 75, 184, 0, 0, 0, - 0, 87, 190, 91, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 31, + 167, 0, 0, 0, 35, 33, 0, 55, + 41, 173, 0, 53, 0, 173, 173, 0, + 0, 75, 61, 179, 0, 73, 0, 179, + 179, 0, 0, 85, 185, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3594,7 +3524,7 @@ var _hcltok_trans_actions []byte = []byte{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 89, 81, 0, 0, + 0, 0, 0, 0, 0, 0, 87, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3606,19 +3536,20 @@ var _hcltok_trans_actions []byte = []byte{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 95, 0, - 0, 121, 205, 113, 0, 13, 199, 13, - 0, 0, 115, 0, 117, 0, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 93, 0, 0, 119, 200, 111, 0, 7, + 194, 7, 0, 0, 113, 0, 115, 0, + 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 13, 13, 13, - 202, 202, 202, 202, 202, 202, 13, 13, - 202, 13, 129, 139, 135, 99, 105, 0, - 131, 0, 103, 97, 111, 101, 133, 0, + 0, 0, 0, 0, 0, 0, 0, 7, + 7, 7, 197, 197, 197, 197, 197, 197, + 7, 7, 197, 7, 127, 137, 133, 97, + 103, 0, 129, 0, 101, 95, 109, 99, + 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 105, 117, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 107, 119, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3635,33 +3566,25 @@ var _hcltok_trans_actions []byte = []byte{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 13, + 0, 0, 170, 17, 0, 7, 7, 23, + 0, 25, 27, 0, 0, 0, 149, 0, + 15, 19, 9, 0, 21, 11, 29, 0, + 0, 0, 0, 43, 0, 176, 176, 49, + 0, 155, 152, 1, 173, 173, 45, 37, + 47, 39, 51, 0, 0, 0, 63, 0, + 182, 182, 69, 0, 161, 158, 1, 179, + 179, 65, 57, 67, 59, 71, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 21, 19, 0, 0, - 13, 23, 0, 13, 13, 29, 0, 0, - 0, 151, 172, 1, 1, 172, 1, 1, - 1, 154, 175, 3, 3, 175, 3, 3, - 3, 0, 0, 0, 0, 13, 13, 13, - 13, 172, 1, 1, 172, 172, 172, 172, - 172, 1, 1, 172, 172, 172, 172, 175, - 3, 3, 175, 175, 175, 175, 1, 1, - 0, 0, 13, 13, 13, 13, 175, 3, - 3, 175, 175, 175, 175, 3, 3, 31, - 0, 25, 15, 0, 27, 17, 33, 0, - 0, 0, 0, 45, 0, 181, 181, 51, - 0, 0, 0, 160, 208, 157, 5, 5, - 5, 5, 5, 5, 166, 212, 163, 7, - 7, 7, 7, 7, 7, 47, 39, 49, - 41, 53, 0, 0, 0, 65, 0, 187, - 187, 71, 0, 0, 67, 59, 69, 61, - 73, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 7, 7, 7, + 188, 188, 188, 188, 188, 188, 7, 7, + 188, 7, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 13, 13, 13, 193, 193, 193, 193, 193, - 193, 13, 13, 193, 13, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3677,9 +3600,7 @@ var _hcltok_trans_actions []byte = []byte{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, + 0, 0, 0, 0, 0, 0, } var _hcltok_to_state_actions []byte = []byte{ @@ -3865,24 +3786,22 @@ var _hcltok_to_state_actions []byte = []byte{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 9, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 9, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 164, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 164, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 169, 0, 0, 0, - 0, 0, 0, 0, 0, 169, 0, 0, - 0, 0, 0, 0, 9, 0, 0, 0, + 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, + 0, 0, 0, 0, 0, 0, 0, } var _hcltok_from_state_actions []byte = []byte{ @@ -4068,24 +3987,22 @@ var _hcltok_from_state_actions []byte = []byte{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 11, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 11, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 5, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 11, 0, 0, 0, - 0, 0, 0, 0, 0, 11, 0, 0, - 0, 0, 0, 0, 11, 0, 0, 0, + 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, + 0, 0, 0, 0, 0, 0, 0, } var _hcltok_eof_trans []int16 = []int16{ @@ -4205,101 +4122,99 @@ var _hcltok_eof_trans []int16 = []int16{ 671, 671, 671, 671, 671, 671, 671, 671, 671, 671, 671, 671, 671, 671, 671, 671, 671, 671, 671, 671, 671, 671, 671, 671, - 671, 768, 768, 768, 768, 768, 774, 774, - 776, 778, 778, 776, 776, 778, 0, 0, - 786, 788, 786, 786, 788, 0, 0, 794, - 794, 796, 794, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 794, 794, 794, 794, 794, 794, - 794, 794, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, - 0, 1195, 1196, 1197, 1196, 1197, 1197, 1197, - 1201, 1197, 1197, 1197, 1207, 1197, 1197, 1237, - 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, - 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, - 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, - 1237, 1237, 1237, 1237, 1237, 1237, 1237, 1237, - 1237, 1237, 0, 1390, 1394, 1402, 1390, 1390, - 1394, 1394, 1402, 1394, 1390, 1402, 1402, 1402, - 1402, 1402, 1394, 1394, 1394, 1456, 1458, 1456, - 1461, 1463, 1463, 1463, 0, 1472, 1476, 1485, - 1494, 1496, 1498, 1498, 1498, 0, 1506, 1509, - 1511, 1513, 1513, 1513, 0, 1550, 1578, 1578, - 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, - 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, - 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, - 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, - 1578, + 671, 768, 773, 773, 773, 774, 774, 776, + 776, 776, 780, 0, 0, 786, 786, 786, + 790, 0, 0, 796, 796, 798, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 796, 796, + 796, 796, 796, 796, 796, 796, 1047, 1047, + 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, + 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, + 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, + 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, + 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, + 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, + 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, + 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, + 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, + 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, + 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, + 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, + 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, + 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, + 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, + 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, + 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, + 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, + 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, + 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, + 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, + 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, + 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, + 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, + 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, + 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, + 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, + 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, + 1047, 1047, 1047, 1047, 1047, 1047, 1047, 1047, + 1047, 1047, 1047, 1047, 0, 1197, 1198, 1199, + 1198, 1199, 1199, 1199, 1203, 1199, 1199, 1199, + 1209, 1199, 1199, 1239, 1239, 1239, 1239, 1239, + 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, + 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, + 1239, 1239, 1239, 1239, 1239, 1239, 1239, 1239, + 1239, 1239, 1239, 1239, 1239, 1239, 0, 1392, + 1394, 1395, 1399, 1399, 1392, 1402, 1395, 1405, + 1395, 1407, 1407, 1407, 0, 1416, 1418, 1418, + 1416, 1416, 1423, 1425, 1427, 1427, 1427, 0, + 1435, 1437, 1437, 1435, 1435, 1442, 1444, 1446, + 1446, 1446, 0, 1483, 1511, 1511, 1511, 1511, + 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, + 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, + 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, + 1511, 1511, 1511, 1511, 1511, 1511, 1511, } -const hcltok_start int = 1464 -const hcltok_first_final int = 1464 +const hcltok_start int = 1460 +const hcltok_first_final int = 1460 const hcltok_error int = 0 -const hcltok_en_stringTemplate int = 1514 -const hcltok_en_heredocTemplate int = 1540 -const hcltok_en_bareTemplate int = 1549 -const hcltok_en_identOnly int = 1556 -const hcltok_en_main int = 1464 +const hcltok_en_stringTemplate int = 1510 +const hcltok_en_heredocTemplate int = 1524 +const hcltok_en_bareTemplate int = 1535 +const hcltok_en_identOnly int = 1546 +const hcltok_en_main int = 1460 //line scan_tokens.rl:16 @@ -4315,7 +4230,7 @@ func scanTokens(data []byte, filename string, start hcl.Pos, mode scanMode) []To StartByte: start.Byte, } -//line scan_tokens.rl:299 +//line scan_tokens.rl:305 // Ragel state p := 0 // "Pointer" into data @@ -4343,7 +4258,7 @@ func scanTokens(data []byte, filename string, start hcl.Pos, mode scanMode) []To var retBraces []int // stack of brace levels that cause us to use fret var heredocs []heredocInProgress // stack of heredocs we're currently processing -//line scan_tokens.rl:334 +//line scan_tokens.rl:340 // Make Go compiler happy _ = ts @@ -4363,7 +4278,7 @@ func scanTokens(data []byte, filename string, start hcl.Pos, mode scanMode) []To f.emitToken(TokenType(b[0]), ts, te) } -//line scan_tokens.go:4375 +//line scan_tokens.go:4290 { top = 0 ts = 0 @@ -4371,7 +4286,7 @@ func scanTokens(data []byte, filename string, start hcl.Pos, mode scanMode) []To act = 0 } -//line scan_tokens.go:4383 +//line scan_tokens.go:4298 { var _klen int var _trans int @@ -4391,11 +4306,11 @@ func scanTokens(data []byte, filename string, start hcl.Pos, mode scanMode) []To for ; _nacts > 0; _nacts-- { _acts++ switch _hcltok_actions[_acts-1] { - case 6: + case 3: //line NONE:1 ts = p -//line scan_tokens.go:4406 +//line scan_tokens.go:4321 } } @@ -4467,26 +4382,20 @@ func scanTokens(data []byte, filename string, start hcl.Pos, mode scanMode) []To _acts++ switch _hcltok_actions[_acts-1] { case 0: -//line scan_tokens.rl:223 - p-- - - case 1: //line scan_tokens.rl:224 p-- - case 2: -//line scan_tokens.rl:229 - p-- - - case 3: -//line scan_tokens.rl:230 - p-- - - case 7: + case 4: //line NONE:1 te = p + 1 - case 8: + case 5: +//line scan_tokens.rl:248 + act = 4 + case 6: +//line scan_tokens.rl:250 + act = 6 + case 7: //line scan_tokens.rl:160 te = p + 1 { @@ -4500,11 +4409,11 @@ func scanTokens(data []byte, filename string, start hcl.Pos, mode scanMode) []To stack = append(stack, 0) stack[top] = cs top++ - cs = 1464 + cs = 1460 goto _again } } - case 9: + case 8: //line scan_tokens.rl:170 te = p + 1 { @@ -4518,11 +4427,11 @@ func scanTokens(data []byte, filename string, start hcl.Pos, mode scanMode) []To stack = append(stack, 0) stack[top] = cs top++ - cs = 1464 + cs = 1460 goto _again } } - case 10: + case 9: //line scan_tokens.rl:84 te = p + 1 { @@ -4535,19 +4444,19 @@ func scanTokens(data []byte, filename string, start hcl.Pos, mode scanMode) []To goto _again } - case 11: -//line scan_tokens.rl:244 + case 10: +//line scan_tokens.rl:248 te = p + 1 { - token(TokenInvalid) + token(TokenQuotedLit) } - case 12: -//line scan_tokens.rl:245 + case 11: +//line scan_tokens.rl:251 te = p + 1 { token(TokenBadUTF8) } - case 13: + case 12: //line scan_tokens.rl:160 te = p p-- @@ -4562,11 +4471,11 @@ func scanTokens(data []byte, filename string, start hcl.Pos, mode scanMode) []To stack = append(stack, 0) stack[top] = cs top++ - cs = 1464 + cs = 1460 goto _again } } - case 14: + case 13: //line scan_tokens.rl:170 te = p p-- @@ -4581,50 +4490,72 @@ func scanTokens(data []byte, filename string, start hcl.Pos, mode scanMode) []To stack = append(stack, 0) stack[top] = cs top++ - cs = 1464 + cs = 1460 goto _again } } - case 15: -//line scan_tokens.rl:243 + case 14: +//line scan_tokens.rl:248 te = p p-- { token(TokenQuotedLit) } + case 15: +//line scan_tokens.rl:249 + te = p + p-- + { + token(TokenQuotedNewline) + } case 16: -//line scan_tokens.rl:244 +//line scan_tokens.rl:250 te = p p-- { token(TokenInvalid) } case 17: -//line scan_tokens.rl:245 +//line scan_tokens.rl:251 te = p p-- { token(TokenBadUTF8) } case 18: -//line scan_tokens.rl:243 +//line scan_tokens.rl:248 p = (te) - 1 { token(TokenQuotedLit) } case 19: -//line scan_tokens.rl:245 +//line scan_tokens.rl:251 p = (te) - 1 { token(TokenBadUTF8) } case 20: -//line scan_tokens.rl:148 - act = 10 +//line NONE:1 + switch act { + case 4: + { + p = (te) - 1 + token(TokenQuotedLit) + } + case 6: + { + p = (te) - 1 + token(TokenInvalid) + } + } + case 21: -//line scan_tokens.rl:253 +//line scan_tokens.rl:148 act = 11 case 22: +//line scan_tokens.rl:259 + act = 12 + case 23: //line scan_tokens.rl:160 te = p + 1 { @@ -4638,11 +4569,11 @@ func scanTokens(data []byte, filename string, start hcl.Pos, mode scanMode) []To stack = append(stack, 0) stack[top] = cs top++ - cs = 1464 + cs = 1460 goto _again } } - case 23: + case 24: //line scan_tokens.rl:170 te = p + 1 { @@ -4656,11 +4587,11 @@ func scanTokens(data []byte, filename string, start hcl.Pos, mode scanMode) []To stack = append(stack, 0) stack[top] = cs top++ - cs = 1464 + cs = 1460 goto _again } } - case 24: + case 25: //line scan_tokens.rl:111 te = p + 1 { @@ -4705,13 +4636,13 @@ func scanTokens(data []byte, filename string, start hcl.Pos, mode scanMode) []To topdoc.StartOfLine = true token(TokenStringLit) } - case 25: -//line scan_tokens.rl:253 + case 26: +//line scan_tokens.rl:259 te = p + 1 { token(TokenBadUTF8) } - case 26: + case 27: //line scan_tokens.rl:160 te = p p-- @@ -4726,11 +4657,11 @@ func scanTokens(data []byte, filename string, start hcl.Pos, mode scanMode) []To stack = append(stack, 0) stack[top] = cs top++ - cs = 1464 + cs = 1460 goto _again } } - case 27: + case 28: //line scan_tokens.rl:170 te = p p-- @@ -4745,11 +4676,11 @@ func scanTokens(data []byte, filename string, start hcl.Pos, mode scanMode) []To stack = append(stack, 0) stack[top] = cs top++ - cs = 1464 + cs = 1460 goto _again } } - case 28: + case 29: //line scan_tokens.rl:148 te = p p-- @@ -4760,14 +4691,14 @@ func scanTokens(data []byte, filename string, start hcl.Pos, mode scanMode) []To heredocs[len(heredocs)-1].StartOfLine = false token(TokenStringLit) } - case 29: -//line scan_tokens.rl:253 + case 30: +//line scan_tokens.rl:259 te = p p-- { token(TokenBadUTF8) } - case 30: + case 31: //line scan_tokens.rl:148 p = (te) - 1 { @@ -4777,7 +4708,7 @@ func scanTokens(data []byte, filename string, start hcl.Pos, mode scanMode) []To heredocs[len(heredocs)-1].StartOfLine = false token(TokenStringLit) } - case 31: + case 32: //line NONE:1 switch act { case 0: @@ -4785,7 +4716,7 @@ func scanTokens(data []byte, filename string, start hcl.Pos, mode scanMode) []To cs = 0 goto _again } - case 10: + case 11: { p = (te) - 1 @@ -4795,20 +4726,20 @@ func scanTokens(data []byte, filename string, start hcl.Pos, mode scanMode) []To heredocs[len(heredocs)-1].StartOfLine = false token(TokenStringLit) } - case 11: + case 12: { p = (te) - 1 token(TokenBadUTF8) } } - case 32: -//line scan_tokens.rl:156 - act = 14 case 33: -//line scan_tokens.rl:260 +//line scan_tokens.rl:156 act = 15 case 34: +//line scan_tokens.rl:266 + act = 16 + case 35: //line scan_tokens.rl:160 te = p + 1 { @@ -4822,41 +4753,41 @@ func scanTokens(data []byte, filename string, start hcl.Pos, mode scanMode) []To stack = append(stack, 0) stack[top] = cs top++ - cs = 1464 - goto _again - } - } - case 35: -//line scan_tokens.rl:170 - te = p + 1 - { - token(TokenTemplateControl) - braces++ - retBraces = append(retBraces, braces) - if len(heredocs) > 0 { - heredocs[len(heredocs)-1].StartOfLine = false - } - { - stack = append(stack, 0) - stack[top] = cs - top++ - cs = 1464 + cs = 1460 goto _again } } case 36: +//line scan_tokens.rl:170 + te = p + 1 + { + token(TokenTemplateControl) + braces++ + retBraces = append(retBraces, braces) + if len(heredocs) > 0 { + heredocs[len(heredocs)-1].StartOfLine = false + } + { + stack = append(stack, 0) + stack[top] = cs + top++ + cs = 1460 + goto _again + } + } + case 37: //line scan_tokens.rl:156 te = p + 1 { token(TokenStringLit) } - case 37: -//line scan_tokens.rl:260 + case 38: +//line scan_tokens.rl:266 te = p + 1 { token(TokenBadUTF8) } - case 38: + case 39: //line scan_tokens.rl:160 te = p p-- @@ -4871,11 +4802,11 @@ func scanTokens(data []byte, filename string, start hcl.Pos, mode scanMode) []To stack = append(stack, 0) stack[top] = cs top++ - cs = 1464 + cs = 1460 goto _again } } - case 39: + case 40: //line scan_tokens.rl:170 te = p p-- @@ -4890,31 +4821,31 @@ func scanTokens(data []byte, filename string, start hcl.Pos, mode scanMode) []To stack = append(stack, 0) stack[top] = cs top++ - cs = 1464 + cs = 1460 goto _again } } - case 40: + case 41: //line scan_tokens.rl:156 te = p p-- { token(TokenStringLit) } - case 41: -//line scan_tokens.rl:260 + case 42: +//line scan_tokens.rl:266 te = p p-- { token(TokenBadUTF8) } - case 42: + case 43: //line scan_tokens.rl:156 p = (te) - 1 { token(TokenStringLit) } - case 43: + case 44: //line NONE:1 switch act { case 0: @@ -4922,164 +4853,164 @@ func scanTokens(data []byte, filename string, start hcl.Pos, mode scanMode) []To cs = 0 goto _again } - case 14: + case 15: { p = (te) - 1 token(TokenStringLit) } - case 15: + case 16: { p = (te) - 1 token(TokenBadUTF8) } } - case 44: -//line scan_tokens.rl:264 - act = 16 case 45: -//line scan_tokens.rl:265 +//line scan_tokens.rl:270 act = 17 case 46: -//line scan_tokens.rl:265 +//line scan_tokens.rl:271 + act = 18 + case 47: +//line scan_tokens.rl:271 te = p + 1 { token(TokenBadUTF8) } - case 47: -//line scan_tokens.rl:266 + case 48: +//line scan_tokens.rl:272 te = p + 1 { token(TokenInvalid) } - case 48: -//line scan_tokens.rl:264 + case 49: +//line scan_tokens.rl:270 te = p p-- { token(TokenIdent) } - case 49: -//line scan_tokens.rl:265 - te = p - p-- - { - token(TokenBadUTF8) - } case 50: -//line scan_tokens.rl:264 +//line scan_tokens.rl:271 + te = p + p-- + { + token(TokenBadUTF8) + } + case 51: +//line scan_tokens.rl:270 p = (te) - 1 { token(TokenIdent) } - case 51: -//line scan_tokens.rl:265 + case 52: +//line scan_tokens.rl:271 p = (te) - 1 { token(TokenBadUTF8) } - case 52: + case 53: //line NONE:1 switch act { - case 16: + case 17: { p = (te) - 1 token(TokenIdent) } - case 17: + case 18: { p = (te) - 1 token(TokenBadUTF8) } } - case 53: -//line scan_tokens.rl:272 - act = 21 case 54: -//line scan_tokens.rl:285 - act = 32 +//line scan_tokens.rl:278 + act = 22 case 55: -//line scan_tokens.rl:295 - act = 38 +//line scan_tokens.rl:291 + act = 33 case 56: -//line scan_tokens.rl:296 +//line scan_tokens.rl:301 act = 39 case 57: -//line scan_tokens.rl:274 +//line scan_tokens.rl:302 + act = 40 + case 58: +//line scan_tokens.rl:280 te = p + 1 { token(TokenComment) } - case 58: -//line scan_tokens.rl:275 + case 59: +//line scan_tokens.rl:281 te = p + 1 { token(TokenNewline) } - case 59: -//line scan_tokens.rl:277 + case 60: +//line scan_tokens.rl:283 te = p + 1 { token(TokenEqualOp) } - case 60: -//line scan_tokens.rl:278 + case 61: +//line scan_tokens.rl:284 te = p + 1 { token(TokenNotEqual) } - case 61: -//line scan_tokens.rl:279 + case 62: +//line scan_tokens.rl:285 te = p + 1 { token(TokenGreaterThanEq) } - case 62: -//line scan_tokens.rl:280 + case 63: +//line scan_tokens.rl:286 te = p + 1 { token(TokenLessThanEq) } - case 63: -//line scan_tokens.rl:281 + case 64: +//line scan_tokens.rl:287 te = p + 1 { token(TokenAnd) } - case 64: -//line scan_tokens.rl:282 + case 65: +//line scan_tokens.rl:288 te = p + 1 { token(TokenOr) } - case 65: -//line scan_tokens.rl:283 + case 66: +//line scan_tokens.rl:289 te = p + 1 { token(TokenEllipsis) } - case 66: -//line scan_tokens.rl:284 + case 67: +//line scan_tokens.rl:290 te = p + 1 { token(TokenFatArrow) } - case 67: -//line scan_tokens.rl:285 + case 68: +//line scan_tokens.rl:291 te = p + 1 { selfToken() } - case 68: + case 69: //line scan_tokens.rl:180 te = p + 1 { token(TokenOBrace) braces++ } - case 69: + case 70: //line scan_tokens.rl:185 te = p + 1 { @@ -5099,7 +5030,7 @@ func scanTokens(data []byte, filename string, start hcl.Pos, mode scanMode) []To braces-- } } - case 70: + case 71: //line scan_tokens.rl:197 te = p + 1 { @@ -5128,7 +5059,7 @@ func scanTokens(data []byte, filename string, start hcl.Pos, mode scanMode) []To braces-- } } - case 71: + case 72: //line scan_tokens.rl:79 te = p + 1 { @@ -5137,11 +5068,11 @@ func scanTokens(data []byte, filename string, start hcl.Pos, mode scanMode) []To stack = append(stack, 0) stack[top] = cs top++ - cs = 1514 + cs = 1510 goto _again } } - case 72: + case 73: //line scan_tokens.rl:89 te = p + 1 { @@ -5167,112 +5098,112 @@ func scanTokens(data []byte, filename string, start hcl.Pos, mode scanMode) []To stack = append(stack, 0) stack[top] = cs top++ - cs = 1540 + cs = 1524 goto _again } } - case 73: -//line scan_tokens.rl:295 + case 74: +//line scan_tokens.rl:301 te = p + 1 { token(TokenBadUTF8) } - case 74: -//line scan_tokens.rl:296 + case 75: +//line scan_tokens.rl:302 te = p + 1 { token(TokenInvalid) } - case 75: -//line scan_tokens.rl:270 + case 76: +//line scan_tokens.rl:276 te = p p-- - case 76: -//line scan_tokens.rl:271 + case 77: +//line scan_tokens.rl:277 te = p p-- { token(TokenNumberLit) } - case 77: -//line scan_tokens.rl:272 + case 78: +//line scan_tokens.rl:278 te = p p-- { token(TokenIdent) } - case 78: -//line scan_tokens.rl:285 + case 79: +//line scan_tokens.rl:291 te = p p-- { selfToken() } - case 79: -//line scan_tokens.rl:295 + case 80: +//line scan_tokens.rl:301 te = p p-- { token(TokenBadUTF8) } - case 80: -//line scan_tokens.rl:296 + case 81: +//line scan_tokens.rl:302 te = p p-- { token(TokenInvalid) } - case 81: -//line scan_tokens.rl:271 + case 82: +//line scan_tokens.rl:277 p = (te) - 1 { token(TokenNumberLit) } - case 82: -//line scan_tokens.rl:272 + case 83: +//line scan_tokens.rl:278 p = (te) - 1 { token(TokenIdent) } - case 83: -//line scan_tokens.rl:285 + case 84: +//line scan_tokens.rl:291 p = (te) - 1 { selfToken() } - case 84: -//line scan_tokens.rl:295 + case 85: +//line scan_tokens.rl:301 p = (te) - 1 { token(TokenBadUTF8) } - case 85: + case 86: //line NONE:1 switch act { - case 21: + case 22: { p = (te) - 1 token(TokenIdent) } - case 32: + case 33: { p = (te) - 1 selfToken() } - case 38: + case 39: { p = (te) - 1 token(TokenBadUTF8) } - case 39: + case 40: { p = (te) - 1 token(TokenInvalid) } } -//line scan_tokens.go:5138 +//line scan_tokens.go:5063 } } @@ -5283,15 +5214,15 @@ func scanTokens(data []byte, filename string, start hcl.Pos, mode scanMode) []To for ; _nacts > 0; _nacts-- { _acts++ switch _hcltok_actions[_acts-1] { - case 4: + case 1: //line NONE:1 ts = 0 - case 5: + case 2: //line NONE:1 act = 0 -//line scan_tokens.go:5156 +//line scan_tokens.go:5081 } } @@ -5317,7 +5248,7 @@ func scanTokens(data []byte, filename string, start hcl.Pos, mode scanMode) []To } } -//line scan_tokens.rl:357 +//line scan_tokens.rl:363 // If we fall out here without being in a final state then we've // encountered something that the scanner can't match, which we'll diff --git a/hcl/hclsyntax/scan_tokens.rl b/hcl/hclsyntax/scan_tokens.rl index 1f37b88..48b48bc 100644 --- a/hcl/hclsyntax/scan_tokens.rl +++ b/hcl/hclsyntax/scan_tokens.rl @@ -218,29 +218,35 @@ func scanTokens(data []byte, filename string, start hcl.Pos, mode scanMode) []To TemplateInterp = "${" ("~")?; TemplateControl = "%{" ("~")?; EndStringTmpl = '"'; - StringLiteralChars = (AnyUTF8 - ("\r"|"\n")); + NewlineChars = ("\r"|"\n"); + NewlineCharsSeq = NewlineChars+; + StringLiteralChars = (AnyUTF8 - NewlineChars); + TemplateIgnoredNonBrace = (^'{' %{ fhold; }); + TemplateNotInterp = '$' (TemplateIgnoredNonBrace | TemplateInterp); + TemplateNotControl = '%' (TemplateIgnoredNonBrace | TemplateControl); + QuotedStringLiteralWithEsc = ('\\' StringLiteralChars) | (StringLiteralChars - ("$" | '%' | '"' | "\\")); TemplateStringLiteral = ( - ('$' ^'{' %{ fhold; }) | - ('%' ^'{' %{ fhold; }) | - ('\\' StringLiteralChars) | - (StringLiteralChars - ("$" | '%' | '"')) - )+; + (TemplateNotInterp) | + (TemplateNotControl) | + (QuotedStringLiteralWithEsc)+ + ); HeredocStringLiteral = ( - ('$' ^'{' %{ fhold; }) | - ('%' ^'{' %{ fhold; }) | - (StringLiteralChars - ("$" | '%')) - )*; + (TemplateNotInterp) | + (TemplateNotControl) | + (StringLiteralChars - ("$" | '%'))* + ); BareStringLiteral = ( - ('$' ^'{') | - ('%' ^'{') | - (StringLiteralChars - ("$" | '%')) - )* Newline?; + (TemplateNotInterp) | + (TemplateNotControl) | + (StringLiteralChars - ("$" | '%'))* + ) Newline?; stringTemplate := |* TemplateInterp => beginTemplateInterp; TemplateControl => beginTemplateControl; EndStringTmpl => endStringTemplate; TemplateStringLiteral => { token(TokenQuotedLit); }; + NewlineCharsSeq => { token(TokenQuotedNewline); }; AnyUTF8 => { token(TokenInvalid); }; BrokenUTF8 => { token(TokenBadUTF8); }; *|; diff --git a/hcl/hclsyntax/scan_tokens_test.go b/hcl/hclsyntax/scan_tokens_test.go index cc4e042..4ff2575 100644 --- a/hcl/hclsyntax/scan_tokens_test.go +++ b/hcl/hclsyntax/scan_tokens_test.go @@ -439,6 +439,43 @@ func TestScanTokens_normal(t *testing.T) { }, }, }, + { + `"hello, \"world\"!"`, + []Token{ + { + Type: TokenOQuote, + Bytes: []byte(`"`), + Range: hcl.Range{ + Start: hcl.Pos{Byte: 0, Line: 1, Column: 1}, + End: hcl.Pos{Byte: 1, Line: 1, Column: 2}, + }, + }, + { + Type: TokenQuotedLit, + Bytes: []byte(`hello, \"world\"!`), // The escapes are handled by the parser, not the scanner + Range: hcl.Range{ + Start: hcl.Pos{Byte: 1, Line: 1, Column: 2}, + End: hcl.Pos{Byte: 18, Line: 1, Column: 19}, + }, + }, + { + Type: TokenCQuote, + Bytes: []byte(`"`), + Range: hcl.Range{ + Start: hcl.Pos{Byte: 18, Line: 1, Column: 19}, + End: hcl.Pos{Byte: 19, Line: 1, Column: 20}, + }, + }, + { + Type: TokenEOF, + Bytes: []byte{}, + Range: hcl.Range{ + Start: hcl.Pos{Byte: 19, Line: 1, Column: 20}, + End: hcl.Pos{Byte: 19, Line: 1, Column: 20}, + }, + }, + }, + }, { `"hello $$"`, []Token{ @@ -452,16 +489,24 @@ func TestScanTokens_normal(t *testing.T) { }, { Type: TokenQuotedLit, - Bytes: []byte(`hello $`), + Bytes: []byte(`hello `), Range: hcl.Range{ Start: hcl.Pos{Byte: 1, Line: 1, Column: 2}, - End: hcl.Pos{Byte: 8, Line: 1, Column: 9}, + End: hcl.Pos{Byte: 7, Line: 1, Column: 8}, }, }, // This one scans a little oddly because of how the scanner // handles the escaping of the dollar sign, but it's still // good enough for the parser since it'll just concatenate // these two string literals together anyway. + { + Type: TokenQuotedLit, + Bytes: []byte(`$`), + Range: hcl.Range{ + Start: hcl.Pos{Byte: 7, Line: 1, Column: 8}, + End: hcl.Pos{Byte: 8, Line: 1, Column: 9}, + }, + }, { Type: TokenQuotedLit, Bytes: []byte(`$`), @@ -501,16 +546,24 @@ func TestScanTokens_normal(t *testing.T) { }, { Type: TokenQuotedLit, - Bytes: []byte(`hello %`), + Bytes: []byte(`hello `), Range: hcl.Range{ Start: hcl.Pos{Byte: 1, Line: 1, Column: 2}, - End: hcl.Pos{Byte: 8, Line: 1, Column: 9}, + End: hcl.Pos{Byte: 7, Line: 1, Column: 8}, }, }, // This one scans a little oddly because of how the scanner - // handles the escaping of the dollar sign, but it's still + // handles the escaping of the percent sign, but it's still // good enough for the parser since it'll just concatenate // these two string literals together anyway. + { + Type: TokenQuotedLit, + Bytes: []byte(`%`), + Range: hcl.Range{ + Start: hcl.Pos{Byte: 7, Line: 1, Column: 8}, + End: hcl.Pos{Byte: 8, Line: 1, Column: 9}, + }, + }, { Type: TokenQuotedLit, Bytes: []byte(`%`), @@ -550,9 +603,17 @@ func TestScanTokens_normal(t *testing.T) { }, { Type: TokenQuotedLit, - Bytes: []byte(`hello $`), + Bytes: []byte(`hello `), Range: hcl.Range{ Start: hcl.Pos{Byte: 1, Line: 1, Column: 2}, + End: hcl.Pos{Byte: 7, Line: 1, Column: 8}, + }, + }, + { + Type: TokenQuotedLit, + Bytes: []byte(`$`), + Range: hcl.Range{ + Start: hcl.Pos{Byte: 7, Line: 1, Column: 8}, End: hcl.Pos{Byte: 8, Line: 1, Column: 9}, }, }, @@ -587,9 +648,17 @@ func TestScanTokens_normal(t *testing.T) { }, { Type: TokenQuotedLit, - Bytes: []byte(`hello %`), + Bytes: []byte(`hello `), Range: hcl.Range{ Start: hcl.Pos{Byte: 1, Line: 1, Column: 2}, + End: hcl.Pos{Byte: 7, Line: 1, Column: 8}, + }, + }, + { + Type: TokenQuotedLit, + Bytes: []byte(`%`), + Range: hcl.Range{ + Start: hcl.Pos{Byte: 7, Line: 1, Column: 8}, End: hcl.Pos{Byte: 8, Line: 1, Column: 9}, }, }, @@ -611,6 +680,181 @@ func TestScanTokens_normal(t *testing.T) { }, }, }, + { + `"hello $${world}"`, + []Token{ + { + Type: TokenOQuote, + Bytes: []byte(`"`), + Range: hcl.Range{ + Start: hcl.Pos{Byte: 0, Line: 1, Column: 1}, + End: hcl.Pos{Byte: 1, Line: 1, Column: 2}, + }, + }, + { + Type: TokenQuotedLit, + Bytes: []byte(`hello `), + Range: hcl.Range{ + Start: hcl.Pos{Byte: 1, Line: 1, Column: 2}, + End: hcl.Pos{Byte: 7, Line: 1, Column: 8}, + }, + }, + { + Type: TokenQuotedLit, + Bytes: []byte(`$${`), + Range: hcl.Range{ + Start: hcl.Pos{Byte: 7, Line: 1, Column: 8}, + End: hcl.Pos{Byte: 10, Line: 1, Column: 11}, + }, + }, + { + Type: TokenQuotedLit, + Bytes: []byte(`world}`), + Range: hcl.Range{ + Start: hcl.Pos{Byte: 10, Line: 1, Column: 11}, + End: hcl.Pos{Byte: 16, Line: 1, Column: 17}, + }, + }, + { + Type: TokenCQuote, + Bytes: []byte(`"`), + Range: hcl.Range{ + Start: hcl.Pos{Byte: 16, Line: 1, Column: 17}, + End: hcl.Pos{Byte: 17, Line: 1, Column: 18}, + }, + }, + { + Type: TokenEOF, + Bytes: []byte{}, + Range: hcl.Range{ + Start: hcl.Pos{Byte: 17, Line: 1, Column: 18}, + End: hcl.Pos{Byte: 17, Line: 1, Column: 18}, + }, + }, + }, + }, + { + `"hello %%{world}"`, + []Token{ + { + Type: TokenOQuote, + Bytes: []byte(`"`), + Range: hcl.Range{ + Start: hcl.Pos{Byte: 0, Line: 1, Column: 1}, + End: hcl.Pos{Byte: 1, Line: 1, Column: 2}, + }, + }, + { + Type: TokenQuotedLit, + Bytes: []byte(`hello `), + Range: hcl.Range{ + Start: hcl.Pos{Byte: 1, Line: 1, Column: 2}, + End: hcl.Pos{Byte: 7, Line: 1, Column: 8}, + }, + }, + { + Type: TokenQuotedLit, + Bytes: []byte(`%%{`), + Range: hcl.Range{ + Start: hcl.Pos{Byte: 7, Line: 1, Column: 8}, + End: hcl.Pos{Byte: 10, Line: 1, Column: 11}, + }, + }, + { + Type: TokenQuotedLit, + Bytes: []byte(`world}`), + Range: hcl.Range{ + Start: hcl.Pos{Byte: 10, Line: 1, Column: 11}, + End: hcl.Pos{Byte: 16, Line: 1, Column: 17}, + }, + }, + { + Type: TokenCQuote, + Bytes: []byte(`"`), + Range: hcl.Range{ + Start: hcl.Pos{Byte: 16, Line: 1, Column: 17}, + End: hcl.Pos{Byte: 17, Line: 1, Column: 18}, + }, + }, + { + Type: TokenEOF, + Bytes: []byte{}, + Range: hcl.Range{ + Start: hcl.Pos{Byte: 17, Line: 1, Column: 18}, + End: hcl.Pos{Byte: 17, Line: 1, Column: 18}, + }, + }, + }, + }, + { + `"hello %${world}"`, + []Token{ + { + Type: TokenOQuote, + Bytes: []byte(`"`), + Range: hcl.Range{ + Start: hcl.Pos{Byte: 0, Line: 1, Column: 1}, + End: hcl.Pos{Byte: 1, Line: 1, Column: 2}, + }, + }, + { + Type: TokenQuotedLit, + Bytes: []byte(`hello `), + Range: hcl.Range{ + Start: hcl.Pos{Byte: 1, Line: 1, Column: 2}, + End: hcl.Pos{Byte: 7, Line: 1, Column: 8}, + }, + }, + { + Type: TokenQuotedLit, + Bytes: []byte(`%`), + Range: hcl.Range{ + Start: hcl.Pos{Byte: 7, Line: 1, Column: 8}, + End: hcl.Pos{Byte: 8, Line: 1, Column: 9}, + }, + }, + { + Type: TokenTemplateInterp, + Bytes: []byte(`${`), + Range: hcl.Range{ + Start: hcl.Pos{Byte: 8, Line: 1, Column: 9}, + End: hcl.Pos{Byte: 10, Line: 1, Column: 11}, + }, + }, + { + Type: TokenIdent, + Bytes: []byte(`world`), + Range: hcl.Range{ + Start: hcl.Pos{Byte: 10, Line: 1, Column: 11}, + End: hcl.Pos{Byte: 15, Line: 1, Column: 16}, + }, + }, + { + Type: TokenTemplateSeqEnd, + Bytes: []byte(`}`), + Range: hcl.Range{ + Start: hcl.Pos{Byte: 15, Line: 1, Column: 16}, + End: hcl.Pos{Byte: 16, Line: 1, Column: 17}, + }, + }, + { + Type: TokenCQuote, + Bytes: []byte(`"`), + Range: hcl.Range{ + Start: hcl.Pos{Byte: 16, Line: 1, Column: 17}, + End: hcl.Pos{Byte: 17, Line: 1, Column: 18}, + }, + }, + { + Type: TokenEOF, + Bytes: []byte{}, + Range: hcl.Range{ + Start: hcl.Pos{Byte: 17, Line: 1, Column: 18}, + End: hcl.Pos{Byte: 17, Line: 1, Column: 18}, + }, + }, + }, + }, // Templates with interpolations and control sequences { @@ -1735,6 +1979,157 @@ EOF }, }, }, + + // Misc combinations that have come up in bug reports, etc. + { + "locals {\n is_percent = percent_sign == \"%\" ? true : false\n}\n", + []Token{ + { + Type: TokenIdent, + Bytes: []byte(`locals`), + Range: hcl.Range{ + Start: hcl.Pos{Byte: 0, Line: 1, Column: 1}, + End: hcl.Pos{Byte: 6, Line: 1, Column: 7}, + }, + }, + { + Type: TokenOBrace, + Bytes: []byte{'{'}, + Range: hcl.Range{ + Start: hcl.Pos{Byte: 7, Line: 1, Column: 8}, + End: hcl.Pos{Byte: 8, Line: 1, Column: 9}, + }, + }, + { + Type: TokenNewline, + Bytes: []byte{'\n'}, + Range: hcl.Range{ + Start: hcl.Pos{Byte: 8, Line: 1, Column: 9}, + End: hcl.Pos{Byte: 9, Line: 2, Column: 1}, + }, + }, + { + Type: TokenIdent, + Bytes: []byte(`is_percent`), + Range: hcl.Range{ + Start: hcl.Pos{Byte: 11, Line: 2, Column: 3}, + End: hcl.Pos{Byte: 21, Line: 2, Column: 13}, + }, + }, + { + Type: TokenEqual, + Bytes: []byte(`=`), + Range: hcl.Range{ + Start: hcl.Pos{Byte: 22, Line: 2, Column: 14}, + End: hcl.Pos{Byte: 23, Line: 2, Column: 15}, + }, + }, + { + Type: TokenIdent, + Bytes: []byte(`percent_sign`), + Range: hcl.Range{ + Start: hcl.Pos{Byte: 24, Line: 2, Column: 16}, + End: hcl.Pos{Byte: 36, Line: 2, Column: 28}, + }, + }, + { + Type: TokenEqualOp, + Bytes: []byte(`==`), + Range: hcl.Range{ + Start: hcl.Pos{Byte: 37, Line: 2, Column: 29}, + End: hcl.Pos{Byte: 39, Line: 2, Column: 31}, + }, + }, + { + Type: TokenOQuote, + Bytes: []byte(`"`), + Range: hcl.Range{ + Start: hcl.Pos{Byte: 40, Line: 2, Column: 32}, + End: hcl.Pos{Byte: 41, Line: 2, Column: 33}, + }, + }, + { + Type: TokenQuotedLit, + Bytes: []byte(`%`), + Range: hcl.Range{ + Start: hcl.Pos{Byte: 41, Line: 2, Column: 33}, + End: hcl.Pos{Byte: 42, Line: 2, Column: 34}, + }, + }, + { + Type: TokenCQuote, + Bytes: []byte(`"`), + Range: hcl.Range{ + Start: hcl.Pos{Byte: 42, Line: 2, Column: 34}, + End: hcl.Pos{Byte: 43, Line: 2, Column: 35}, + }, + }, + { + Type: TokenQuestion, + Bytes: []byte(`?`), + Range: hcl.Range{ + Start: hcl.Pos{Byte: 44, Line: 2, Column: 36}, + End: hcl.Pos{Byte: 45, Line: 2, Column: 37}, + }, + }, + { + Type: TokenIdent, + Bytes: []byte(`true`), + Range: hcl.Range{ + Start: hcl.Pos{Byte: 46, Line: 2, Column: 38}, + End: hcl.Pos{Byte: 50, Line: 2, Column: 42}, + }, + }, + { + Type: TokenColon, + Bytes: []byte(`:`), + Range: hcl.Range{ + Start: hcl.Pos{Byte: 51, Line: 2, Column: 43}, + End: hcl.Pos{Byte: 52, Line: 2, Column: 44}, + }, + }, + { + Type: TokenIdent, + Bytes: []byte(`false`), + Range: hcl.Range{ + Start: hcl.Pos{Byte: 53, Line: 2, Column: 45}, + End: hcl.Pos{Byte: 58, Line: 2, Column: 50}, + }, + }, + { + Type: TokenNewline, + Bytes: []byte{'\n'}, + Range: hcl.Range{ + Start: hcl.Pos{Byte: 58, Line: 2, Column: 50}, + End: hcl.Pos{Byte: 59, Line: 3, Column: 1}, + }, + }, + { + Type: TokenCBrace, + Bytes: []byte{'}'}, + Range: hcl.Range{ + Start: hcl.Pos{Byte: 59, Line: 3, Column: 1}, + End: hcl.Pos{Byte: 60, Line: 3, Column: 2}, + }, + }, + { + Type: TokenNewline, + Bytes: []byte{'\n'}, + Range: hcl.Range{ + Start: hcl.Pos{Byte: 60, Line: 3, Column: 2}, + End: hcl.Pos{Byte: 61, Line: 4, Column: 1}, + }, + }, + { + Type: TokenEOF, + Bytes: []byte{}, + Range: hcl.Range{ + Start: hcl.Pos{Byte: 61, Line: 4, Column: 1}, + End: hcl.Pos{Byte: 61, Line: 4, Column: 1}, + }, + }, + }, + }, } prettyConfig := &pretty.Config{ diff --git a/hcl/hclsyntax/token.go b/hcl/hclsyntax/token.go index 67be099..3d898fd 100644 --- a/hcl/hclsyntax/token.go +++ b/hcl/hclsyntax/token.go @@ -85,17 +85,18 @@ const ( // things that might work in other languages they are familiar with, or // simply make incorrect assumptions about the HCL language. - TokenBitwiseAnd TokenType = '&' - TokenBitwiseOr TokenType = '|' - TokenBitwiseNot TokenType = '~' - TokenBitwiseXor TokenType = '^' - TokenStarStar TokenType = '➚' - TokenApostrophe TokenType = '\'' - TokenBacktick TokenType = '`' - TokenSemicolon TokenType = ';' - TokenTabs TokenType = '␉' - TokenInvalid TokenType = '�' - TokenBadUTF8 TokenType = '💩' + TokenBitwiseAnd TokenType = '&' + TokenBitwiseOr TokenType = '|' + TokenBitwiseNot TokenType = '~' + TokenBitwiseXor TokenType = '^' + TokenStarStar TokenType = '➚' + TokenApostrophe TokenType = '\'' + TokenBacktick TokenType = '`' + TokenSemicolon TokenType = ';' + TokenTabs TokenType = '␉' + TokenInvalid TokenType = '�' + TokenBadUTF8 TokenType = '💩' + TokenQuotedNewline TokenType = '␤' // TokenNil is a placeholder for when a token is required but none is // available, e.g. when reporting errors. The scanner will never produce @@ -285,6 +286,13 @@ func checkInvalidTokens(tokens Tokens) hcl.Diagnostics { toldBadUTF8++ } + case TokenQuotedNewline: + diags = append(diags, &hcl.Diagnostic{ + Severity: hcl.DiagError, + Summary: "Invalid multi-line string", + Detail: "Quoted strings may not be split over multiple lines. To produce a multi-line string, either use the \\n escape to represent a newline character or use the \"heredoc\" multi-line template syntax.", + Subject: &tok.Range, + }) case TokenInvalid: diags = append(diags, &hcl.Diagnostic{ Severity: hcl.DiagError, diff --git a/hcl/hclsyntax/token_type_string.go b/hcl/hclsyntax/token_type_string.go index a14066e..c23c4f0 100644 --- a/hcl/hclsyntax/token_type_string.go +++ b/hcl/hclsyntax/token_type_string.go @@ -4,7 +4,67 @@ package hclsyntax import "strconv" -const _TokenType_name = "TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenStarStarTokenInvalidTokenBadUTF8" +func _() { + // An "invalid array index" compiler error signifies that the constant values have changed. + // Re-run the stringer command to generate them again. + var x [1]struct{} + _ = x[TokenOBrace-123] + _ = x[TokenCBrace-125] + _ = x[TokenOBrack-91] + _ = x[TokenCBrack-93] + _ = x[TokenOParen-40] + _ = x[TokenCParen-41] + _ = x[TokenOQuote-171] + _ = x[TokenCQuote-187] + _ = x[TokenOHeredoc-72] + _ = x[TokenCHeredoc-104] + _ = x[TokenStar-42] + _ = x[TokenSlash-47] + _ = x[TokenPlus-43] + _ = x[TokenMinus-45] + _ = x[TokenPercent-37] + _ = x[TokenEqual-61] + _ = x[TokenEqualOp-8788] + _ = x[TokenNotEqual-8800] + _ = x[TokenLessThan-60] + _ = x[TokenLessThanEq-8804] + _ = x[TokenGreaterThan-62] + _ = x[TokenGreaterThanEq-8805] + _ = x[TokenAnd-8743] + _ = x[TokenOr-8744] + _ = x[TokenBang-33] + _ = x[TokenDot-46] + _ = x[TokenComma-44] + _ = x[TokenEllipsis-8230] + _ = x[TokenFatArrow-8658] + _ = x[TokenQuestion-63] + _ = x[TokenColon-58] + _ = x[TokenTemplateInterp-8747] + _ = x[TokenTemplateControl-955] + _ = x[TokenTemplateSeqEnd-8718] + _ = x[TokenQuotedLit-81] + _ = x[TokenStringLit-83] + _ = x[TokenNumberLit-78] + _ = x[TokenIdent-73] + _ = x[TokenComment-67] + _ = x[TokenNewline-10] + _ = x[TokenEOF-9220] + _ = x[TokenBitwiseAnd-38] + _ = x[TokenBitwiseOr-124] + _ = x[TokenBitwiseNot-126] + _ = x[TokenBitwiseXor-94] + _ = x[TokenStarStar-10138] + _ = x[TokenApostrophe-39] + _ = x[TokenBacktick-96] + _ = x[TokenSemicolon-59] + _ = x[TokenTabs-9225] + _ = x[TokenInvalid-65533] + _ = x[TokenBadUTF8-128169] + _ = x[TokenQuotedNewline-9252] + _ = x[TokenNil-0] +} + +const _TokenType_name = "TokenNilTokenNewlineTokenBangTokenPercentTokenBitwiseAndTokenApostropheTokenOParenTokenCParenTokenStarTokenPlusTokenCommaTokenMinusTokenDotTokenSlashTokenColonTokenSemicolonTokenLessThanTokenEqualTokenGreaterThanTokenQuestionTokenCommentTokenOHeredocTokenIdentTokenNumberLitTokenQuotedLitTokenStringLitTokenOBrackTokenCBrackTokenBitwiseXorTokenBacktickTokenCHeredocTokenOBraceTokenBitwiseOrTokenCBraceTokenBitwiseNotTokenOQuoteTokenCQuoteTokenTemplateControlTokenEllipsisTokenFatArrowTokenTemplateSeqEndTokenAndTokenOrTokenTemplateInterpTokenEqualOpTokenNotEqualTokenLessThanEqTokenGreaterThanEqTokenEOFTokenTabsTokenQuotedNewlineTokenStarStarTokenInvalidTokenBadUTF8" var _TokenType_map = map[TokenType]string{ 0: _TokenType_name[0:8], @@ -57,9 +117,10 @@ var _TokenType_map = map[TokenType]string{ 8805: _TokenType_name[577:595], 9220: _TokenType_name[595:603], 9225: _TokenType_name[603:612], - 10138: _TokenType_name[612:625], - 65533: _TokenType_name[625:637], - 128169: _TokenType_name[637:649], + 9252: _TokenType_name[612:630], + 10138: _TokenType_name[630:643], + 65533: _TokenType_name[643:655], + 128169: _TokenType_name[655:667], } func (i TokenType) String() string {