fix(expr): fromJSON leading zeros are octal, '/' after a literal and a leading ',' like Json.NET (GO-002, GO-003)
Adds 1,791 inputs recorded from the runner (gen/runner/fromjson_cases.mjs), replayed by TestFromJSONMatchesRunner and used as fuzz seeds.
- commit
- c13f2706b5273107d9c1a3853a79c1a16e97b863
- author
- brice · · 2026-10-12 18:29 UTC
- committer
- brice · · 2026-10-18 14:59 UTC
- parent
- 773aee1
- signature
- GPG Verified
CD88F9E564E0102646FB6077A1A07C7C7C3E349D· arch-gpg Verified for the committer email
7 files · +293 -16
M expr/PORTING.md +20 -7
| @@ -196,14 +196,27 @@ package follows the runner. | |||
| 196 | 196 | `JsonTextReader` with `DateParseHandling.None`, | |
| 197 | 197 | `FloatParseHandling.Double`), which is lenient: single-quoted strings, | |
| 198 | 198 | unquoted names, trailing commas, `[,1]` (an empty element is `""`), | |
| 199 | - | `NaN`/`Infinity`/`-Infinity`/`undefined`, `.5`, `5.`, `01`, `0x1F`, raw | |
| 199 | + | `NaN`/`Infinity`/`-Infinity`/`undefined`, `.5`, `5.`, `1.e2`, `0x1F`, raw | |
| 200 | 200 | control characters in strings, anything after the first value, and | |
| 201 | - | `MaxDepth` 64. An unpaired surrogate escape becomes U+FFFD. Blank input | |
| 202 | - | is a `JsonReaderException` (here: "empty input", kept as the outer | |
| 203 | - | message; the Json.NET message texts are not reproduced, only that the | |
| 204 | - | call fails). Not ported: `/* */` and `//` comments (they are read as a | |
| 205 | - | value by the runner, i.e. `/*x*/1` is the string `x`) and | |
| 206 | - | `new Date(1)` constructors; both are errors here. | |
| 201 | + | `MaxDepth` 64. A comma where the document should start (`,1`) is an | |
| 202 | + | undefined value, `""`. **Leading zeros are octal**: a non-negative | |
| 203 | + | integer with a leading zero is `Convert.ToInt64(s, 8)` (`010` is 8, `050` | |
| 204 | + | is 40, `0777` is 511, wraps like a signed 64-bit value), `08` and `09` | |
| 205 | + | are errors, as are `01.5`, `012e1`, `00.5` (a leading zero before `.`, | |
| 206 | + | `e` or `E` is only valid for a single `0`); a negative number is decimal | |
| 207 | + | (`-010` is -10, `-01.5` is -1.5). An unpaired surrogate escape becomes | |
| 208 | + | U+FFFD. Blank input is a `JsonReaderException` (here: "empty input", kept | |
| 209 | + | as the outer message; the Json.NET message texts are not reproduced, only | |
| 210 | + | that the call fails). Not ported: `/* */` and `//` comments (the runner | |
| 211 | + | reads `/*x*/1` as the string `x`) and `new Date(1)` constructors; both are | |
| 212 | + | errors here. A `/` after `null`, `true`, `false`, `NaN`, `Infinity`, | |
| 213 | + | `-Infinity` or `undefined`, and a `/` between values inside an array or | |
| 214 | + | object, is an error here as in the runner (where it starts a comment or is | |
| 215 | + | an error); after a number or a string at the top level the rest is ignored | |
| 216 | + | in both. Checked on 1 791 inputs recorded from the runner | |
| 217 | + | (`testdata/fromjson_cases.json`, hand picked and seeded mutations; the | |
| 218 | + | 24 that contain a `/` or `new ` are skipped by the test), also used as | |
| 219 | + | fuzz seeds. | |
| 207 | 220 | - [x] **`toJSON`**: resolved, follows the C#. `Sdk/Functions/ToJson.cs` builds | |
| 208 | 221 | the text itself: two-space indentation, `[]`/`{}` for empties, numbers | |
| 209 | 222 | through `ConvertToString` (so `NaN`, `Infinity` and `-Infinity` appear | |
| @@ -196,14 +196,27 @@ package follows the runner. | |||||
| 196 | `JsonTextReader` with `DateParseHandling.None`, | 196 | `JsonTextReader` with `DateParseHandling.None`, | ||
| 197 | `FloatParseHandling.Double`), which is lenient: single-quoted strings, | 197 | `FloatParseHandling.Double`), which is lenient: single-quoted strings, | ||
| 198 | unquoted names, trailing commas, `[,1]` (an empty element is `""`), | 198 | unquoted names, trailing commas, `[,1]` (an empty element is `""`), | ||
| 199 | - | `NaN`/`Infinity`/`-Infinity`/`undefined`, `.5`, `5.`, `01`, `0x1F`, raw | 199 | + | `NaN`/`Infinity`/`-Infinity`/`undefined`, `.5`, `5.`, `1.e2`, `0x1F`, raw |
| 200 | control characters in strings, anything after the first value, and | 200 | control characters in strings, anything after the first value, and | ||
| 201 | - | `MaxDepth` 64. An unpaired surrogate escape becomes U+FFFD. Blank input | 201 | + | `MaxDepth` 64. A comma where the document should start (`,1`) is an |
| 202 | - | is a `JsonReaderException` (here: "empty input", kept as the outer | 202 | + | undefined value, `""`. **Leading zeros are octal**: a non-negative |
| 203 | - | message; the Json.NET message texts are not reproduced, only that the | 203 | + | integer with a leading zero is `Convert.ToInt64(s, 8)` (`010` is 8, `050` |
| 204 | - | call fails). Not ported: `/* */` and `//` comments (they are read as a | 204 | + | is 40, `0777` is 511, wraps like a signed 64-bit value), `08` and `09` |
| 205 | - | value by the runner, i.e. `/*x*/1` is the string `x`) and | 205 | + | are errors, as are `01.5`, `012e1`, `00.5` (a leading zero before `.`, |
| 206 | - | `new Date(1)` constructors; both are errors here. | 206 | + | `e` or `E` is only valid for a single `0`); a negative number is decimal |
| 207 | + | (`-010` is -10, `-01.5` is -1.5). An unpaired surrogate escape becomes | |||
| 208 | + | U+FFFD. Blank input is a `JsonReaderException` (here: "empty input", kept | |||
| 209 | + | as the outer message; the Json.NET message texts are not reproduced, only | |||
| 210 | + | that the call fails). Not ported: `/* */` and `//` comments (the runner | |||
| 211 | + | reads `/*x*/1` as the string `x`) and `new Date(1)` constructors; both are | |||
| 212 | + | errors here. A `/` after `null`, `true`, `false`, `NaN`, `Infinity`, | |||
| 213 | + | `-Infinity` or `undefined`, and a `/` between values inside an array or | |||
| 214 | + | object, is an error here as in the runner (where it starts a comment or is | |||
| 215 | + | an error); after a number or a string at the top level the rest is ignored | |||
| 216 | + | in both. Checked on 1 791 inputs recorded from the runner | |||
| 217 | + | (`testdata/fromjson_cases.json`, hand picked and seeded mutations; the | |||
| 218 | + | 24 that contain a `/` or `new ` are skipped by the test), also used as | |||
| 219 | + | fuzz seeds. | |||
| 207 | - [x] **`toJSON`**: resolved, follows the C#. `Sdk/Functions/ToJson.cs` builds | 220 | - [x] **`toJSON`**: resolved, follows the C#. `Sdk/Functions/ToJson.cs` builds | ||
| 208 | the text itself: two-space indentation, `[]`/`{}` for empties, numbers | 221 | the text itself: two-space indentation, `[]`/`{}` for empties, numbers | ||
| 209 | through `ConvertToString` (so `NaN`, `Infinity` and `-Infinity` appear | 222 | through `ConvertToString` (so `NaN`, `Infinity` and `-Infinity` appear | ||
A expr/fromjson_runner_test.go +75 -0
| @@ -0,0 +1,75 @@ | |||
| 1 | + | // SPDX-License-Identifier: MIT | |
| 2 | + | ||
| 3 | + | package expr | |
| 4 | + | ||
| 5 | + | import ( | |
| 6 | + | "encoding/json" | |
| 7 | + | "os" | |
| 8 | + | "regexp" | |
| 9 | + | "strings" | |
| 10 | + | "testing" | |
| 11 | + | ) | |
| 12 | + | ||
| 13 | + | type fromJSONCase struct { | |
| 14 | + | In string `json:"in"` | |
| 15 | + | OK bool `json:"ok"` | |
| 16 | + | Out string `json:"out"` | |
| 17 | + | } | |
| 18 | + | ||
| 19 | + | func loadFromJSONCases(tb testing.TB) []fromJSONCase { | |
| 20 | + | tb.Helper() | |
| 21 | + | data, err := os.ReadFile("testdata/fromjson_cases.json") | |
| 22 | + | if err != nil { | |
| 23 | + | tb.Fatal(err) | |
| 24 | + | } | |
| 25 | + | var cs []fromJSONCase | |
| 26 | + | if err := json.Unmarshal(data, &cs); err != nil { | |
| 27 | + | tb.Fatal(err) | |
| 28 | + | } | |
| 29 | + | return cs | |
| 30 | + | } | |
| 31 | + | ||
| 32 | + | // negZero matches a written negative zero ("-0" not followed by more number). | |
| 33 | + | var negZero = regexp.MustCompile(`(^|[^0-9.eE+-])-0($|[^0-9.eE])`) | |
| 34 | + | ||
| 35 | + | // unportedJSON reports whether the input uses something of Json.NET that is not | |
| 36 | + | // ported: comments and constructors. The runner accepts them, this package | |
| 37 | + | // fails on them (see PORTING.md). | |
| 38 | + | func unportedJSON(s string) bool { | |
| 39 | + | return strings.Contains(s, "/*") || strings.Contains(s, "//") || strings.Contains(s, "new ") || strings.Contains(s, "/") | |
| 40 | + | } | |
| 41 | + | ||
| 42 | + | // TestFromJSONMatchesRunner replays testdata/fromjson_cases.json, the answers | |
| 43 | + | // of the runner's fromJSON (gen/runner/fromjson_cases.mjs) on hand-picked and | |
| 44 | + | // mutated JSON-like texts: it must accept exactly the same texts and give the | |
| 45 | + | // same toJSON, except where the text could hold a comment or constructor. | |
| 46 | + | func TestFromJSONMatchesRunner(t *testing.T) { | |
| 47 | + | cases := loadFromJSONCases(t) | |
| 48 | + | bad, skipped := 0, 0 | |
| 49 | + | for _, c := range cases { | |
| 50 | + | v, err := FromJSON([]byte(c.In)) | |
| 51 | + | if err == nil && strings.TrimFunc(c.In, isNetSpace) == "" { | |
| 52 | + | err = os.ErrInvalid // fromJSON() rejects blank input before reading | |
| 53 | + | } | |
| 54 | + | gotOK := err == nil | |
| 55 | + | if gotOK != c.OK || (gotOK && ToJSON(v) != c.Out) { | |
| 56 | + | if gotOK && c.OK && negZero.ReplaceAllString(c.Out, "${1}0${2}") == ToJSON(v) { | |
| 57 | + | continue // negative zero is written 0, see PORTING.md | |
| 58 | + | } | |
| 59 | + | if unportedJSON(c.In) { | |
| 60 | + | skipped++ | |
| 61 | + | continue | |
| 62 | + | } | |
| 63 | + | bad++ | |
| 64 | + | if bad <= 25 { | |
| 65 | + | t.Errorf("FromJSON(%q): ok=%v out=%q (%v); runner ok=%v out=%q", c.In, gotOK, func() string { | |
| 66 | + | if v != nil { | |
| 67 | + | return ToJSON(v) | |
| 68 | + | } | |
| 69 | + | return "" | |
| 70 | + | }(), err, c.OK, c.Out) | |
| 71 | + | } | |
| 72 | + | } | |
| 73 | + | } | |
| 74 | + | t.Logf("%d cases, %d with comments, slashes or constructors skipped, %d mismatches", len(cases), skipped, bad) | |
| 75 | + | } | |
| @@ -0,0 +1,75 @@ | |||||
| 1 | + | // SPDX-License-Identifier: MIT | |||
| 2 | + | ||||
| 3 | + | package expr | |||
| 4 | + | ||||
| 5 | + | import ( | |||
| 6 | + | "encoding/json" | |||
| 7 | + | "os" | |||
| 8 | + | "regexp" | |||
| 9 | + | "strings" | |||
| 10 | + | "testing" | |||
| 11 | + | ) | |||
| 12 | + | ||||
| 13 | + | type fromJSONCase struct { | |||
| 14 | + | In string `json:"in"` | |||
| 15 | + | OK bool `json:"ok"` | |||
| 16 | + | Out string `json:"out"` | |||
| 17 | + | } | |||
| 18 | + | ||||
| 19 | + | func loadFromJSONCases(tb testing.TB) []fromJSONCase { | |||
| 20 | + | tb.Helper() | |||
| 21 | + | data, err := os.ReadFile("testdata/fromjson_cases.json") | |||
| 22 | + | if err != nil { | |||
| 23 | + | tb.Fatal(err) | |||
| 24 | + | } | |||
| 25 | + | var cs []fromJSONCase | |||
| 26 | + | if err := json.Unmarshal(data, &cs); err != nil { | |||
| 27 | + | tb.Fatal(err) | |||
| 28 | + | } | |||
| 29 | + | return cs | |||
| 30 | + | } | |||
| 31 | + | ||||
| 32 | + | // negZero matches a written negative zero ("-0" not followed by more number). | |||
| 33 | + | var negZero = regexp.MustCompile(`(^|[^0-9.eE+-])-0($|[^0-9.eE])`) | |||
| 34 | + | ||||
| 35 | + | // unportedJSON reports whether the input uses something of Json.NET that is not | |||
| 36 | + | // ported: comments and constructors. The runner accepts them, this package | |||
| 37 | + | // fails on them (see PORTING.md). | |||
| 38 | + | func unportedJSON(s string) bool { | |||
| 39 | + | return strings.Contains(s, "/*") || strings.Contains(s, "//") || strings.Contains(s, "new ") || strings.Contains(s, "/") | |||
| 40 | + | } | |||
| 41 | + | ||||
| 42 | + | // TestFromJSONMatchesRunner replays testdata/fromjson_cases.json, the answers | |||
| 43 | + | // of the runner's fromJSON (gen/runner/fromjson_cases.mjs) on hand-picked and | |||
| 44 | + | // mutated JSON-like texts: it must accept exactly the same texts and give the | |||
| 45 | + | // same toJSON, except where the text could hold a comment or constructor. | |||
| 46 | + | func TestFromJSONMatchesRunner(t *testing.T) { | |||
| 47 | + | cases := loadFromJSONCases(t) | |||
| 48 | + | bad, skipped := 0, 0 | |||
| 49 | + | for _, c := range cases { | |||
| 50 | + | v, err := FromJSON([]byte(c.In)) | |||
| 51 | + | if err == nil && strings.TrimFunc(c.In, isNetSpace) == "" { | |||
| 52 | + | err = os.ErrInvalid // fromJSON() rejects blank input before reading | |||
| 53 | + | } | |||
| 54 | + | gotOK := err == nil | |||
| 55 | + | if gotOK != c.OK || (gotOK && ToJSON(v) != c.Out) { | |||
| 56 | + | if gotOK && c.OK && negZero.ReplaceAllString(c.Out, "${1}0${2}") == ToJSON(v) { | |||
| 57 | + | continue // negative zero is written 0, see PORTING.md | |||
| 58 | + | } | |||
| 59 | + | if unportedJSON(c.In) { | |||
| 60 | + | skipped++ | |||
| 61 | + | continue | |||
| 62 | + | } | |||
| 63 | + | bad++ | |||
| 64 | + | if bad <= 25 { | |||
| 65 | + | t.Errorf("FromJSON(%q): ok=%v out=%q (%v); runner ok=%v out=%q", c.In, gotOK, func() string { | |||
| 66 | + | if v != nil { | |||
| 67 | + | return ToJSON(v) | |||
| 68 | + | } | |||
| 69 | + | return "" | |||
| 70 | + | }(), err, c.OK, c.Out) | |||
| 71 | + | } | |||
| 72 | + | } | |||
| 73 | + | } | |||
| 74 | + | t.Logf("%d cases, %d with comments, slashes or constructors skipped, %d mismatches", len(cases), skipped, bad) | |||
| 75 | + | } | |||
M expr/fuzz_test.go +5 -0
| @@ -174,6 +174,11 @@ func FuzzFromJSON(f *testing.F) { | |||
| 174 | 174 | for _, s := range []string{`null`, `{"a":[1,2,{"b":null}]}`, `"\ud83d\ude00"`, `{"1":1,"a":2,"01":3}`, `[1e999]`, `-0`, `"\ud800"`, `{"a":1,"A":2}`, `[`, `{"a"`, "\"\x01\""} { | |
| 175 | 175 | f.Add(s) | |
| 176 | 176 | } | |
| 177 | + | // The corpus recorded from the runner: every input it was asked about | |
| 178 | + | // (leading zeros, slashes, commas, literals, mutations of those). | |
| 179 | + | for _, c := range loadFromJSONCases(f) { | |
| 180 | + | f.Add(c.In) | |
| 181 | + | } | |
| 177 | 182 | f.Fuzz(func(t *testing.T, s string) { | |
| 178 | 183 | v, err := FromJSON([]byte(s)) | |
| 179 | 184 | if err != nil { | |
| @@ -174,6 +174,11 @@ func FuzzFromJSON(f *testing.F) { | |||||
| 174 | for _, s := range []string{`null`, `{"a":[1,2,{"b":null}]}`, `"\ud83d\ude00"`, `{"1":1,"a":2,"01":3}`, `[1e999]`, `-0`, `"\ud800"`, `{"a":1,"A":2}`, `[`, `{"a"`, "\"\x01\""} { | 174 | for _, s := range []string{`null`, `{"a":[1,2,{"b":null}]}`, `"\ud83d\ude00"`, `{"1":1,"a":2,"01":3}`, `[1e999]`, `-0`, `"\ud800"`, `{"a":1,"A":2}`, `[`, `{"a"`, "\"\x01\""} { | ||
| 175 | f.Add(s) | 175 | f.Add(s) | ||
| 176 | } | 176 | } | ||
| 177 | + | // The corpus recorded from the runner: every input it was asked about | |||
| 178 | + | // (leading zeros, slashes, commas, literals, mutations of those). | |||
| 179 | + | for _, c := range loadFromJSONCases(f) { | |||
| 180 | + | f.Add(c.In) | |||
| 181 | + | } | |||
| 177 | f.Fuzz(func(t *testing.T, s string) { | 182 | f.Fuzz(func(t *testing.T, s string) { | ||
| 178 | v, err := FromJSON([]byte(s)) | 183 | v, err := FromJSON([]byte(s)) | ||
| 179 | if err != nil { | 184 | if err != nil { | ||
A expr/gen/runner/fromjson_cases.mjs +58 -0
| @@ -0,0 +1,58 @@ | |||
| 1 | + | // SPDX-License-Identifier: MIT | |
| 2 | + | // | |
| 3 | + | // Writes testdata/fromjson_cases.json: for a corpus of JSON-ish inputs (hand | |
| 4 | + | // picked and seeded random mutations of them), whether the runner's | |
| 5 | + | // fromJSON accepts the text and what toJSON of the result is. The Go tests | |
| 6 | + | // replay it (TestFromJSONMatchesRunner) and use the inputs as fuzz seeds. | |
| 7 | + | // | |
| 8 | + | // node expr/gen/runner/fromjson_cases.mjs > expr/testdata/fromjson_cases.json | |
| 9 | + | // | |
| 10 | + | // Needs the built driver, see README.md. | |
| 11 | + | ||
| 12 | + | import { execFileSync } from "node:child_process"; | |
| 13 | + | import { writeFileSync, mkdtempSync, rmSync } from "node:fs"; | |
| 14 | + | import { tmpdir } from "node:os"; | |
| 15 | + | import { join, dirname } from "node:path"; | |
| 16 | + | import { fileURLToPath } from "node:url"; | |
| 17 | + | ||
| 18 | + | const here = dirname(fileURLToPath(import.meta.url)); | |
| 19 | + | const seeds = [ | |
| 20 | + | "null", "true", "false", "NaN", "Infinity", "-Infinity", "undefined", "0", "-0", "010", "08", "0x1F", "1.5e3", ".5", "5.", "12345678901234567890", | |
| 21 | + | '"a"', "'a'", '"\\u00e9\\ud83d\\ude00"', '"\\ud800"', "[]", "{}", "[1,2,3]", "[1,]", "[,1]", "[1,,2]", '{"a":1}', '{"a":1,"A":2}', "{a:1}", "{'a':'b'}", | |
| 22 | + | '{"a":[1,{"b":null}]}', "[[[1]]]", "[null,true,false]", "1 2", "[] x", ",", ",1", "/*c*/1", "1/*c*/", "[1/*c*/,2]", "null/x", "new Date(1)", | |
| 23 | + | "[010,08,-010]", '{"a":010}', "1e5", "1E+5", "-1.5e-3", "0.1e1", "0e0", "00", "-00", "0.0", "00.5", | |
| 24 | + | ]; | |
| 25 | + | const alphabet = [...'"\'{}[],:/*-+.0123456789xXeE tfnuNaIy\\\n\tabc_$']; | |
| 26 | + | let state = 20260101; | |
| 27 | + | const rnd = n => { state = (state * 1103515245 + 12345) & 0x7fffffff; return state % n; }; | |
| 28 | + | const set = new Set(seeds); | |
| 29 | + | for (let i = 0; i < 4000; i++) { | |
| 30 | + | const base = seeds[rnd(seeds.length)]; | |
| 31 | + | let s = base; | |
| 32 | + | for (let k = 0, n = 1 + rnd(3); k < n; k++) { | |
| 33 | + | const pos = rnd(s.length + 1); | |
| 34 | + | switch (rnd(3)) { | |
| 35 | + | case 0: s = s.slice(0, pos) + alphabet[rnd(alphabet.length)] + s.slice(pos); break; | |
| 36 | + | case 1: s = s.slice(0, pos) + s.slice(pos + 1); break; | |
| 37 | + | default: s = s.slice(0, pos) + alphabet[rnd(alphabet.length)] + s.slice(pos + 1); | |
| 38 | + | } | |
| 39 | + | } | |
| 40 | + | set.add(s); | |
| 41 | + | } | |
| 42 | + | const inputs = [...set]; | |
| 43 | + | const lit = s => "'" + s.replaceAll("'", "''") + "'"; | |
| 44 | + | const cases = inputs.map(s => ({ e: `toJSON(fromJSON(${lit(s)}))` })); | |
| 45 | + | const tmp = mkdtempSync(join(tmpdir(), "fj-")); | |
| 46 | + | writeFileSync(join(tmp, "in.json"), JSON.stringify({ contexts: {}, cases })); | |
| 47 | + | const out = execFileSync("dotnet", [join(here, "bin/Release/net9.0/runner.dll"), join(tmp, "in.json")], { maxBuffer: 1 << 28 }).toString("utf8").split("\n").filter(Boolean); | |
| 48 | + | rmSync(tmp, { recursive: true }); | |
| 49 | + | if (out.length !== inputs.length) throw new Error("answer count"); | |
| 50 | + | const res = inputs.map((s, i) => { | |
| 51 | + | const r = JSON.parse(out[i]); | |
| 52 | + | if (r.err) { | |
| 53 | + | // An error while parsing the expression (e.g. the text broke the literal) is not about fromJSON. | |
| 54 | + | return r.err.t === "eval" ? { in: s, ok: false } : null; | |
| 55 | + | } | |
| 56 | + | return { in: s, ok: true, out: r.s }; | |
| 57 | + | }).filter(Boolean); | |
| 58 | + | process.stdout.write(JSON.stringify(res)); | |
| @@ -0,0 +1,58 @@ | |||||
| 1 | + | // SPDX-License-Identifier: MIT | |||
| 2 | + | // | |||
| 3 | + | // Writes testdata/fromjson_cases.json: for a corpus of JSON-ish inputs (hand | |||
| 4 | + | // picked and seeded random mutations of them), whether the runner's | |||
| 5 | + | // fromJSON accepts the text and what toJSON of the result is. The Go tests | |||
| 6 | + | // replay it (TestFromJSONMatchesRunner) and use the inputs as fuzz seeds. | |||
| 7 | + | // | |||
| 8 | + | // node expr/gen/runner/fromjson_cases.mjs > expr/testdata/fromjson_cases.json | |||
| 9 | + | // | |||
| 10 | + | // Needs the built driver, see README.md. | |||
| 11 | + | ||||
| 12 | + | import { execFileSync } from "node:child_process"; | |||
| 13 | + | import { writeFileSync, mkdtempSync, rmSync } from "node:fs"; | |||
| 14 | + | import { tmpdir } from "node:os"; | |||
| 15 | + | import { join, dirname } from "node:path"; | |||
| 16 | + | import { fileURLToPath } from "node:url"; | |||
| 17 | + | ||||
| 18 | + | const here = dirname(fileURLToPath(import.meta.url)); | |||
| 19 | + | const seeds = [ | |||
| 20 | + | "null", "true", "false", "NaN", "Infinity", "-Infinity", "undefined", "0", "-0", "010", "08", "0x1F", "1.5e3", ".5", "5.", "12345678901234567890", | |||
| 21 | + | '"a"', "'a'", '"\\u00e9\\ud83d\\ude00"', '"\\ud800"', "[]", "{}", "[1,2,3]", "[1,]", "[,1]", "[1,,2]", '{"a":1}', '{"a":1,"A":2}', "{a:1}", "{'a':'b'}", | |||
| 22 | + | '{"a":[1,{"b":null}]}', "[[[1]]]", "[null,true,false]", "1 2", "[] x", ",", ",1", "/*c*/1", "1/*c*/", "[1/*c*/,2]", "null/x", "new Date(1)", | |||
| 23 | + | "[010,08,-010]", '{"a":010}', "1e5", "1E+5", "-1.5e-3", "0.1e1", "0e0", "00", "-00", "0.0", "00.5", | |||
| 24 | + | ]; | |||
| 25 | + | const alphabet = [...'"\'{}[],:/*-+.0123456789xXeE tfnuNaIy\\\n\tabc_$']; | |||
| 26 | + | let state = 20260101; | |||
| 27 | + | const rnd = n => { state = (state * 1103515245 + 12345) & 0x7fffffff; return state % n; }; | |||
| 28 | + | const set = new Set(seeds); | |||
| 29 | + | for (let i = 0; i < 4000; i++) { | |||
| 30 | + | const base = seeds[rnd(seeds.length)]; | |||
| 31 | + | let s = base; | |||
| 32 | + | for (let k = 0, n = 1 + rnd(3); k < n; k++) { | |||
| 33 | + | const pos = rnd(s.length + 1); | |||
| 34 | + | switch (rnd(3)) { | |||
| 35 | + | case 0: s = s.slice(0, pos) + alphabet[rnd(alphabet.length)] + s.slice(pos); break; | |||
| 36 | + | case 1: s = s.slice(0, pos) + s.slice(pos + 1); break; | |||
| 37 | + | default: s = s.slice(0, pos) + alphabet[rnd(alphabet.length)] + s.slice(pos + 1); | |||
| 38 | + | } | |||
| 39 | + | } | |||
| 40 | + | set.add(s); | |||
| 41 | + | } | |||
| 42 | + | const inputs = [...set]; | |||
| 43 | + | const lit = s => "'" + s.replaceAll("'", "''") + "'"; | |||
| 44 | + | const cases = inputs.map(s => ({ e: `toJSON(fromJSON(${lit(s)}))` })); | |||
| 45 | + | const tmp = mkdtempSync(join(tmpdir(), "fj-")); | |||
| 46 | + | writeFileSync(join(tmp, "in.json"), JSON.stringify({ contexts: {}, cases })); | |||
| 47 | + | const out = execFileSync("dotnet", [join(here, "bin/Release/net9.0/runner.dll"), join(tmp, "in.json")], { maxBuffer: 1 << 28 }).toString("utf8").split("\n").filter(Boolean); | |||
| 48 | + | rmSync(tmp, { recursive: true }); | |||
| 49 | + | if (out.length !== inputs.length) throw new Error("answer count"); | |||
| 50 | + | const res = inputs.map((s, i) => { | |||
| 51 | + | const r = JSON.parse(out[i]); | |||
| 52 | + | if (r.err) { | |||
| 53 | + | // An error while parsing the expression (e.g. the text broke the literal) is not about fromJSON. | |||
| 54 | + | return r.err.t === "eval" ? { in: s, ok: false } : null; | |||
| 55 | + | } | |||
| 56 | + | return { in: s, ok: true, out: r.s }; | |||
| 57 | + | }).filter(Boolean); | |||
| 58 | + | process.stdout.write(JSON.stringify(res)); | |||
M expr/json.go +70 -8
| @@ -116,23 +116,49 @@ func (p *jsonParser) value(depth int) (Value, error) { | |||
| 116 | 116 | case c == '-' || c == '.' || c >= '0' && c <= '9': | |
| 117 | 117 | return p.number() | |
| 118 | 118 | } | |
| 119 | + | if c := p.s[p.i]; c == ',' && depth == 0 { | |
| 120 | + | // A comma where the document should start is an undefined value, | |
| 121 | + | // which Json.NET reads as an empty string; whatever follows is ignored | |
| 122 | + | // like any text after the first value. | |
| 123 | + | return String(""), nil | |
| 124 | + | } | |
| 119 | 125 | start := p.i | |
| 126 | + | var v Value | |
| 120 | 127 | switch word := p.token(); word { | |
| 121 | 128 | case "true": | |
| 122 | - | return Boolean(true), nil | |
| 129 | + | v = Boolean(true) | |
| 123 | 130 | case "false": | |
| 124 | - | return Boolean(false), nil | |
| 131 | + | v = Boolean(false) | |
| 125 | 132 | case "null": | |
| 126 | - | return Null{}, nil | |
| 133 | + | v = Null{} | |
| 127 | 134 | case "undefined": | |
| 128 | - | return String(""), nil | |
| 135 | + | v = String("") | |
| 129 | 136 | case "NaN": | |
| 130 | - | return Number(nan), nil | |
| 137 | + | v = Number(nan) | |
| 131 | 138 | case "Infinity": | |
| 132 | - | return Number(posInf), nil | |
| 139 | + | v = Number(posInf) | |
| 140 | + | default: | |
| 141 | + | p.i = start | |
| 142 | + | return nil, p.unexpected() | |
| 133 | 143 | } | |
| 134 | - | p.i = start | |
| 135 | - | return nil, p.unexpected() | |
| 144 | + | if err := p.afterLiteral(); err != nil { | |
| 145 | + | return nil, err | |
| 146 | + | } | |
| 147 | + | return v, nil | |
| 148 | + | } | |
| 149 | + | ||
| 150 | + | // afterLiteral checks the character that follows a word literal (true, null, | |
| 151 | + | // NaN...): Json.NET only accepts a "/" there when it starts a comment, and | |
| 152 | + | // comments are not ported, so any "/" is an error here. Anything else is left | |
| 153 | + | // for the caller (white space, a comma, a closing bracket, or trailing text). | |
| 154 | + | func (p *jsonParser) afterLiteral() error { | |
| 155 | + | if p.i >= len(p.s) || p.s[p.i] != '/' { | |
| 156 | + | return nil | |
| 157 | + | } | |
| 158 | + | if p.i+1 < len(p.s) && (p.s[p.i+1] == '/' || p.s[p.i+1] == '*') { | |
| 159 | + | return fmt.Errorf("comments are not supported (position %d in JSON)", p.i) | |
| 160 | + | } | |
| 161 | + | return p.unexpected() | |
| 136 | 162 | } | |
| 137 | 163 | ||
| 138 | 164 | // number reads a number token: decimal with optional sign, fraction and | |
| @@ -142,6 +168,9 @@ func (p *jsonParser) number() (Value, error) { | |||
| 142 | 168 | start := p.i | |
| 143 | 169 | tok := p.token() | |
| 144 | 170 | if tok == "-Infinity" { | |
| 171 | + | if err := p.afterLiteral(); err != nil { | |
| 172 | + | return nil, err | |
| 173 | + | } | |
| 145 | 174 | return Number(math.Inf(-1)), nil | |
| 146 | 175 | } | |
| 147 | 176 | if len(tok) > 2 && tok[0] == '0' && (tok[1] == 'x' || tok[1] == 'X') { | |
| @@ -153,6 +182,18 @@ func (p *jsonParser) number() (Value, error) { | |||
| 153 | 182 | p.i = start | |
| 154 | 183 | return nil, fmt.Errorf("input string %q is not a valid number", tok) | |
| 155 | 184 | } | |
| 185 | + | // A non-negative number with a leading zero is octal when it has only | |
| 186 | + | // digits (010 is 8, 08 is an error) and an error unless the zero is | |
| 187 | + | // followed by ".", "e" or "E" (01.5, 012e1 and 00.5 fail). A negative | |
| 188 | + | // number is read as decimal whatever its zeros (-010 is -10). | |
| 189 | + | if len(tok) > 1 && tok[0] == '0' && tok[1] != '.' && tok[1] != 'e' && tok[1] != 'E' { | |
| 190 | + | v, ok := parseOctal64(tok[1:]) | |
| 191 | + | if !ok { | |
| 192 | + | p.i = start | |
| 193 | + | return nil, fmt.Errorf("input string %q is not a valid number", tok) | |
| 194 | + | } | |
| 195 | + | return Number(v), nil | |
| 196 | + | } | |
| 156 | 197 | body := strings.TrimPrefix(tok, "-") | |
| 157 | 198 | if !isDecimalLiteral(body) { | |
| 158 | 199 | p.i = start | |
| @@ -172,6 +213,27 @@ func (p *jsonParser) number() (Value, error) { | |||
| 172 | 213 | return Number(f), nil | |
| 173 | 214 | } | |
| 174 | 215 | ||
| 216 | + | // parseOctal64 reads octal digits as Convert.ToInt64(s, 8) does: leading | |
| 217 | + | // zeros are free, at most 64 significant bits, and a value of 2^63 or more | |
| 218 | + | // wraps to a negative number (1777777777777777777777 is -1). | |
| 219 | + | func parseOctal64(digits string) (float64, bool) { | |
| 220 | + | if digits == "" { | |
| 221 | + | return 0, false | |
| 222 | + | } | |
| 223 | + | var v uint64 | |
| 224 | + | for i := 0; i < len(digits); i++ { | |
| 225 | + | c := digits[i] | |
| 226 | + | if c < '0' || c > '7' { | |
| 227 | + | return 0, false | |
| 228 | + | } | |
| 229 | + | if v>>61 != 0 { | |
| 230 | + | return 0, false // the next shift would leave 64 bits | |
| 231 | + | } | |
| 232 | + | v = v<<3 | uint64(c-'0') | |
| 233 | + | } | |
| 234 | + | return float64(int64(v)), true | |
| 235 | + | } | |
| 236 | + | ||
| 175 | 237 | // isBigInteger reports whether s is only digits. | |
| 176 | 238 | func isBigInteger(s string) bool { | |
| 177 | 239 | for i := 0; i < len(s); i++ { | |
| @@ -116,23 +116,49 @@ func (p *jsonParser) value(depth int) (Value, error) { | |||||
| 116 | case c == '-' || c == '.' || c >= '0' && c <= '9': | 116 | case c == '-' || c == '.' || c >= '0' && c <= '9': | ||
| 117 | return p.number() | 117 | return p.number() | ||
| 118 | } | 118 | } | ||
| 119 | + | if c := p.s[p.i]; c == ',' && depth == 0 { | |||
| 120 | + | // A comma where the document should start is an undefined value, | |||
| 121 | + | // which Json.NET reads as an empty string; whatever follows is ignored | |||
| 122 | + | // like any text after the first value. | |||
| 123 | + | return String(""), nil | |||
| 124 | + | } | |||
| 119 | start := p.i | 125 | start := p.i | ||
| 126 | + | var v Value | |||
| 120 | switch word := p.token(); word { | 127 | switch word := p.token(); word { | ||
| 121 | case "true": | 128 | case "true": | ||
| 122 | - | return Boolean(true), nil | 129 | + | v = Boolean(true) |
| 123 | case "false": | 130 | case "false": | ||
| 124 | - | return Boolean(false), nil | 131 | + | v = Boolean(false) |
| 125 | case "null": | 132 | case "null": | ||
| 126 | - | return Null{}, nil | 133 | + | v = Null{} |
| 127 | case "undefined": | 134 | case "undefined": | ||
| 128 | - | return String(""), nil | 135 | + | v = String("") |
| 129 | case "NaN": | 136 | case "NaN": | ||
| 130 | - | return Number(nan), nil | 137 | + | v = Number(nan) |
| 131 | case "Infinity": | 138 | case "Infinity": | ||
| 132 | - | return Number(posInf), nil | 139 | + | v = Number(posInf) |
| 140 | + | default: | |||
| 141 | + | p.i = start | |||
| 142 | + | return nil, p.unexpected() | |||
| 133 | } | 143 | } | ||
| 134 | - | p.i = start | 144 | + | if err := p.afterLiteral(); err != nil { |
| 135 | - | return nil, p.unexpected() | 145 | + | return nil, err |
| 146 | + | } | |||
| 147 | + | return v, nil | |||
| 148 | + | } | |||
| 149 | + | ||||
| 150 | + | // afterLiteral checks the character that follows a word literal (true, null, | |||
| 151 | + | // NaN...): Json.NET only accepts a "/" there when it starts a comment, and | |||
| 152 | + | // comments are not ported, so any "/" is an error here. Anything else is left | |||
| 153 | + | // for the caller (white space, a comma, a closing bracket, or trailing text). | |||
| 154 | + | func (p *jsonParser) afterLiteral() error { | |||
| 155 | + | if p.i >= len(p.s) || p.s[p.i] != '/' { | |||
| 156 | + | return nil | |||
| 157 | + | } | |||
| 158 | + | if p.i+1 < len(p.s) && (p.s[p.i+1] == '/' || p.s[p.i+1] == '*') { | |||
| 159 | + | return fmt.Errorf("comments are not supported (position %d in JSON)", p.i) | |||
| 160 | + | } | |||
| 161 | + | return p.unexpected() | |||
| 136 | } | 162 | } | ||
| 137 | 163 | ||||
| 138 | // number reads a number token: decimal with optional sign, fraction and | 164 | // number reads a number token: decimal with optional sign, fraction and | ||
| @@ -142,6 +168,9 @@ func (p *jsonParser) number() (Value, error) { | |||||
| 142 | start := p.i | 168 | start := p.i | ||
| 143 | tok := p.token() | 169 | tok := p.token() | ||
| 144 | if tok == "-Infinity" { | 170 | if tok == "-Infinity" { | ||
| 171 | + | if err := p.afterLiteral(); err != nil { | |||
| 172 | + | return nil, err | |||
| 173 | + | } | |||
| 145 | return Number(math.Inf(-1)), nil | 174 | return Number(math.Inf(-1)), nil | ||
| 146 | } | 175 | } | ||
| 147 | if len(tok) > 2 && tok[0] == '0' && (tok[1] == 'x' || tok[1] == 'X') { | 176 | if len(tok) > 2 && tok[0] == '0' && (tok[1] == 'x' || tok[1] == 'X') { | ||
| @@ -153,6 +182,18 @@ func (p *jsonParser) number() (Value, error) { | |||||
| 153 | p.i = start | 182 | p.i = start | ||
| 154 | return nil, fmt.Errorf("input string %q is not a valid number", tok) | 183 | return nil, fmt.Errorf("input string %q is not a valid number", tok) | ||
| 155 | } | 184 | } | ||
| 185 | + | // A non-negative number with a leading zero is octal when it has only | |||
| 186 | + | // digits (010 is 8, 08 is an error) and an error unless the zero is | |||
| 187 | + | // followed by ".", "e" or "E" (01.5, 012e1 and 00.5 fail). A negative | |||
| 188 | + | // number is read as decimal whatever its zeros (-010 is -10). | |||
| 189 | + | if len(tok) > 1 && tok[0] == '0' && tok[1] != '.' && tok[1] != 'e' && tok[1] != 'E' { | |||
| 190 | + | v, ok := parseOctal64(tok[1:]) | |||
| 191 | + | if !ok { | |||
| 192 | + | p.i = start | |||
| 193 | + | return nil, fmt.Errorf("input string %q is not a valid number", tok) | |||
| 194 | + | } | |||
| 195 | + | return Number(v), nil | |||
| 196 | + | } | |||
| 156 | body := strings.TrimPrefix(tok, "-") | 197 | body := strings.TrimPrefix(tok, "-") | ||
| 157 | if !isDecimalLiteral(body) { | 198 | if !isDecimalLiteral(body) { | ||
| 158 | p.i = start | 199 | p.i = start | ||
| @@ -172,6 +213,27 @@ func (p *jsonParser) number() (Value, error) { | |||||
| 172 | return Number(f), nil | 213 | return Number(f), nil | ||
| 173 | } | 214 | } | ||
| 174 | 215 | ||||
| 216 | + | // parseOctal64 reads octal digits as Convert.ToInt64(s, 8) does: leading | |||
| 217 | + | // zeros are free, at most 64 significant bits, and a value of 2^63 or more | |||
| 218 | + | // wraps to a negative number (1777777777777777777777 is -1). | |||
| 219 | + | func parseOctal64(digits string) (float64, bool) { | |||
| 220 | + | if digits == "" { | |||
| 221 | + | return 0, false | |||
| 222 | + | } | |||
| 223 | + | var v uint64 | |||
| 224 | + | for i := 0; i < len(digits); i++ { | |||
| 225 | + | c := digits[i] | |||
| 226 | + | if c < '0' || c > '7' { | |||
| 227 | + | return 0, false | |||
| 228 | + | } | |||
| 229 | + | if v>>61 != 0 { | |||
| 230 | + | return 0, false // the next shift would leave 64 bits | |||
| 231 | + | } | |||
| 232 | + | v = v<<3 | uint64(c-'0') | |||
| 233 | + | } | |||
| 234 | + | return float64(int64(v)), true | |||
| 235 | + | } | |||
| 236 | + | ||||
| 175 | // isBigInteger reports whether s is only digits. | 237 | // isBigInteger reports whether s is only digits. | ||
| 176 | func isBigInteger(s string) bool { | 238 | func isBigInteger(s string) bool { | ||
| 177 | for i := 0; i < len(s); i++ { | 239 | for i := 0; i < len(s); i++ { | ||
M expr/json_test.go +64 -1
| @@ -46,7 +46,7 @@ func TestFromJSONValid(t *testing.T) { | |||
| 46 | 46 | {`[1,]`, "[\n 1\n]"}, | |
| 47 | 47 | {`[,1]`, "[\n \"\",\n 1\n]"}, | |
| 48 | 48 | {`[1,,2]`, "[\n 1,\n \"\",\n 2\n]"}, | |
| 49 | - | {"01", "1"}, {"1.", "1"}, {".5", "0.5"}, {"-.5", "-0.5"}, {"1.e2", "100"}, | |
| 49 | + | {"1.", "1"}, {".5", "0.5"}, {"-.5", "-0.5"}, {"1.e2", "100"}, | |
| 50 | 50 | {"0x10", "16"}, {"0X1f", "31"}, | |
| 51 | 51 | {"NaN", "NaN"}, {"Infinity", "Infinity"}, {"-Infinity", "-Infinity"}, | |
| 52 | 52 | {"undefined", `""`}, | |
| @@ -66,6 +66,69 @@ func TestFromJSONValid(t *testing.T) { | |||
| 66 | 66 | } | |
| 67 | 67 | } | |
| 68 | 68 | ||
| 69 | + | // TestFromJSONLeadingZeros: Json.NET reads a non-negative integer with a | |
| 70 | + | // leading zero as octal (Convert.ToInt64(s, 8)), a negative one as decimal, and | |
| 71 | + | // rejects a leading zero before a fraction or an exponent. Established with the | |
| 72 | + | // runner's code. | |
| 73 | + | func TestFromJSONLeadingZeros(t *testing.T) { | |
| 74 | + | for _, tc := range []struct { | |
| 75 | + | src string | |
| 76 | + | want string // ToJSON, or "" for an error | |
| 77 | + | }{ | |
| 78 | + | {"010", "8"}, {"050", "40"}, {"00", "0"}, {"007", "7"}, {"0777", "511"}, {"00777", "511"}, | |
| 79 | + | {"08", ""}, {"09", ""}, {"01.5", ""}, {"012e1", ""}, {"00.5", ""}, {"010.0", ""}, {"00e1", ""}, {"010e", ""}, | |
| 80 | + | {"0.5", "0.5"}, {"0e1", "0"}, {"0E1", "0"}, {"0.", "0"}, {"0.e1", "0"}, {"0e", ""}, | |
| 81 | + | {"-010", "-10"}, {"-09", "-9"}, {"-00", "0"}, {"-0777", "-777"}, {"-01.5", "-1.5"}, {"-012e1", "-120"}, | |
| 82 | + | {"[010]", "[\n 8\n]"}, {"[08]", ""}, {`{"a":010}`, "{\n \"a\": 8\n}"}, {`{"a":08}`, ""}, {`{"a":01.5}`, ""}, | |
| 83 | + | // 64-bit wrap of Convert.ToInt64. | |
| 84 | + | {"0777777777777777777777", "9.22337203685478E+18"}, | |
| 85 | + | {"01777777777777777777777", "-1"}, | |
| 86 | + | {"07777777777777777777777", ""}, | |
| 87 | + | {"0000000000000000000012345", "5349"}, | |
| 88 | + | {"0000000000000000000012349", ""}, | |
| 89 | + | } { | |
| 90 | + | v, err := FromJSON([]byte(tc.src)) | |
| 91 | + | switch { | |
| 92 | + | case tc.want == "" && err == nil: | |
| 93 | + | t.Errorf("FromJSON(%q) = %s, want an error", tc.src, ToJSON(v)) | |
| 94 | + | case tc.want != "" && err != nil: | |
| 95 | + | t.Errorf("FromJSON(%q): %v", tc.src, err) | |
| 96 | + | case err == nil && ToJSON(v) != tc.want: | |
| 97 | + | t.Errorf("FromJSON(%q) = %s, want %s", tc.src, ToJSON(v), tc.want) | |
| 98 | + | } | |
| 99 | + | } | |
| 100 | + | } | |
| 101 | + | ||
| 102 | + | // TestFromJSONSlashAndComma: a "/" after a literal is an error when it could | |
| 103 | + | // start a comment (comments are not ported, so it fails consistently), as it is | |
| 104 | + | // for Json.NET after null, true, false, NaN and Infinity and between the values | |
| 105 | + | // of an array or object; after a number or string at the top level the text is | |
| 106 | + | // ignored. A comma where the document should start is an undefined value. | |
| 107 | + | func TestFromJSONSlashAndComma(t *testing.T) { | |
| 108 | + | for _, tc := range []struct { | |
| 109 | + | src string | |
| 110 | + | want string // ToJSON, or "" for an error | |
| 111 | + | }{ | |
| 112 | + | {"null/x", ""}, {"null/", ""}, {"true/x", ""}, {"false/x", ""}, {"NaN/x", ""}, {"Infinity/x", ""}, {"-Infinity/x", ""}, | |
| 113 | + | {"undefined/x", ""}, {"null//c", ""}, {"null/*c*/", ""}, {"NaN/*c*/", ""}, {"[null/x]", ""}, {"[null/*c*/]", ""}, {`{"a":null/x}`, ""}, | |
| 114 | + | {"[1/2]", ""}, {"[1 /2]", ""}, {`{"a":1/2}`, ""}, {"[1/*c*/,2]", ""}, {"[1//c\n,2]", ""}, | |
| 115 | + | {"null /x", "null"}, {"1/x", "1"}, {"1/", "1"}, {"1 /", "1"}, {"1.5/x", "1.5"}, {`"a"/x`, `"a"`}, {"[null,1]/x", "[\n null,\n 1\n]"}, | |
| 116 | + | {",", `""`}, {",1", `""`}, {",,1", `""`}, {",x", `""`}, {" ,1", `""`}, {`,"a"`, `""`}, {",]", `""`}, | |
| 117 | + | {"[,1]", "[\n \"\",\n 1\n]"}, {"[1,,2]", "[\n 1,\n \"\",\n 2\n]"}, {"[,]", "[\n \"\"\n]"}, | |
| 118 | + | {"{,}", ""}, {`{"a":,1}`, ""}, {`{"a":1,,"b":2}`, ""}, | |
| 119 | + | } { | |
| 120 | + | v, err := FromJSON([]byte(tc.src)) | |
| 121 | + | switch { | |
| 122 | + | case tc.want == "" && err == nil: | |
| 123 | + | t.Errorf("FromJSON(%q) = %s, want an error", tc.src, ToJSON(v)) | |
| 124 | + | case tc.want != "" && err != nil: | |
| 125 | + | t.Errorf("FromJSON(%q): %v", tc.src, err) | |
| 126 | + | case err == nil && ToJSON(v) != tc.want: | |
| 127 | + | t.Errorf("FromJSON(%q) = %s, want %s", tc.src, ToJSON(v), tc.want) | |
| 128 | + | } | |
| 129 | + | } | |
| 130 | + | } | |
| 131 | + | ||
| 69 | 132 | func TestFromJSONInvalid(t *testing.T) { | |
| 70 | 133 | for _, in := range []string{ | |
| 71 | 134 | "", " ", "{", "}", "[", "]", `{"a"`, `{"a":`, `{"a":1`, `{,}`, `{"a" 1}`, `[1 2]`, | |
| @@ -46,7 +46,7 @@ func TestFromJSONValid(t *testing.T) { | |||||
| 46 | {`[1,]`, "[\n 1\n]"}, | 46 | {`[1,]`, "[\n 1\n]"}, | ||
| 47 | {`[,1]`, "[\n \"\",\n 1\n]"}, | 47 | {`[,1]`, "[\n \"\",\n 1\n]"}, | ||
| 48 | {`[1,,2]`, "[\n 1,\n \"\",\n 2\n]"}, | 48 | {`[1,,2]`, "[\n 1,\n \"\",\n 2\n]"}, | ||
| 49 | - | {"01", "1"}, {"1.", "1"}, {".5", "0.5"}, {"-.5", "-0.5"}, {"1.e2", "100"}, | 49 | + | {"1.", "1"}, {".5", "0.5"}, {"-.5", "-0.5"}, {"1.e2", "100"}, |
| 50 | {"0x10", "16"}, {"0X1f", "31"}, | 50 | {"0x10", "16"}, {"0X1f", "31"}, | ||
| 51 | {"NaN", "NaN"}, {"Infinity", "Infinity"}, {"-Infinity", "-Infinity"}, | 51 | {"NaN", "NaN"}, {"Infinity", "Infinity"}, {"-Infinity", "-Infinity"}, | ||
| 52 | {"undefined", `""`}, | 52 | {"undefined", `""`}, | ||
| @@ -66,6 +66,69 @@ func TestFromJSONValid(t *testing.T) { | |||||
| 66 | } | 66 | } | ||
| 67 | } | 67 | } | ||
| 68 | 68 | ||||
| 69 | + | // TestFromJSONLeadingZeros: Json.NET reads a non-negative integer with a | |||
| 70 | + | // leading zero as octal (Convert.ToInt64(s, 8)), a negative one as decimal, and | |||
| 71 | + | // rejects a leading zero before a fraction or an exponent. Established with the | |||
| 72 | + | // runner's code. | |||
| 73 | + | func TestFromJSONLeadingZeros(t *testing.T) { | |||
| 74 | + | for _, tc := range []struct { | |||
| 75 | + | src string | |||
| 76 | + | want string // ToJSON, or "" for an error | |||
| 77 | + | }{ | |||
| 78 | + | {"010", "8"}, {"050", "40"}, {"00", "0"}, {"007", "7"}, {"0777", "511"}, {"00777", "511"}, | |||
| 79 | + | {"08", ""}, {"09", ""}, {"01.5", ""}, {"012e1", ""}, {"00.5", ""}, {"010.0", ""}, {"00e1", ""}, {"010e", ""}, | |||
| 80 | + | {"0.5", "0.5"}, {"0e1", "0"}, {"0E1", "0"}, {"0.", "0"}, {"0.e1", "0"}, {"0e", ""}, | |||
| 81 | + | {"-010", "-10"}, {"-09", "-9"}, {"-00", "0"}, {"-0777", "-777"}, {"-01.5", "-1.5"}, {"-012e1", "-120"}, | |||
| 82 | + | {"[010]", "[\n 8\n]"}, {"[08]", ""}, {`{"a":010}`, "{\n \"a\": 8\n}"}, {`{"a":08}`, ""}, {`{"a":01.5}`, ""}, | |||
| 83 | + | // 64-bit wrap of Convert.ToInt64. | |||
| 84 | + | {"0777777777777777777777", "9.22337203685478E+18"}, | |||
| 85 | + | {"01777777777777777777777", "-1"}, | |||
| 86 | + | {"07777777777777777777777", ""}, | |||
| 87 | + | {"0000000000000000000012345", "5349"}, | |||
| 88 | + | {"0000000000000000000012349", ""}, | |||
| 89 | + | } { | |||
| 90 | + | v, err := FromJSON([]byte(tc.src)) | |||
| 91 | + | switch { | |||
| 92 | + | case tc.want == "" && err == nil: | |||
| 93 | + | t.Errorf("FromJSON(%q) = %s, want an error", tc.src, ToJSON(v)) | |||
| 94 | + | case tc.want != "" && err != nil: | |||
| 95 | + | t.Errorf("FromJSON(%q): %v", tc.src, err) | |||
| 96 | + | case err == nil && ToJSON(v) != tc.want: | |||
| 97 | + | t.Errorf("FromJSON(%q) = %s, want %s", tc.src, ToJSON(v), tc.want) | |||
| 98 | + | } | |||
| 99 | + | } | |||
| 100 | + | } | |||
| 101 | + | ||||
| 102 | + | // TestFromJSONSlashAndComma: a "/" after a literal is an error when it could | |||
| 103 | + | // start a comment (comments are not ported, so it fails consistently), as it is | |||
| 104 | + | // for Json.NET after null, true, false, NaN and Infinity and between the values | |||
| 105 | + | // of an array or object; after a number or string at the top level the text is | |||
| 106 | + | // ignored. A comma where the document should start is an undefined value. | |||
| 107 | + | func TestFromJSONSlashAndComma(t *testing.T) { | |||
| 108 | + | for _, tc := range []struct { | |||
| 109 | + | src string | |||
| 110 | + | want string // ToJSON, or "" for an error | |||
| 111 | + | }{ | |||
| 112 | + | {"null/x", ""}, {"null/", ""}, {"true/x", ""}, {"false/x", ""}, {"NaN/x", ""}, {"Infinity/x", ""}, {"-Infinity/x", ""}, | |||
| 113 | + | {"undefined/x", ""}, {"null//c", ""}, {"null/*c*/", ""}, {"NaN/*c*/", ""}, {"[null/x]", ""}, {"[null/*c*/]", ""}, {`{"a":null/x}`, ""}, | |||
| 114 | + | {"[1/2]", ""}, {"[1 /2]", ""}, {`{"a":1/2}`, ""}, {"[1/*c*/,2]", ""}, {"[1//c\n,2]", ""}, | |||
| 115 | + | {"null /x", "null"}, {"1/x", "1"}, {"1/", "1"}, {"1 /", "1"}, {"1.5/x", "1.5"}, {`"a"/x`, `"a"`}, {"[null,1]/x", "[\n null,\n 1\n]"}, | |||
| 116 | + | {",", `""`}, {",1", `""`}, {",,1", `""`}, {",x", `""`}, {" ,1", `""`}, {`,"a"`, `""`}, {",]", `""`}, | |||
| 117 | + | {"[,1]", "[\n \"\",\n 1\n]"}, {"[1,,2]", "[\n 1,\n \"\",\n 2\n]"}, {"[,]", "[\n \"\"\n]"}, | |||
| 118 | + | {"{,}", ""}, {`{"a":,1}`, ""}, {`{"a":1,,"b":2}`, ""}, | |||
| 119 | + | } { | |||
| 120 | + | v, err := FromJSON([]byte(tc.src)) | |||
| 121 | + | switch { | |||
| 122 | + | case tc.want == "" && err == nil: | |||
| 123 | + | t.Errorf("FromJSON(%q) = %s, want an error", tc.src, ToJSON(v)) | |||
| 124 | + | case tc.want != "" && err != nil: | |||
| 125 | + | t.Errorf("FromJSON(%q): %v", tc.src, err) | |||
| 126 | + | case err == nil && ToJSON(v) != tc.want: | |||
| 127 | + | t.Errorf("FromJSON(%q) = %s, want %s", tc.src, ToJSON(v), tc.want) | |||
| 128 | + | } | |||
| 129 | + | } | |||
| 130 | + | } | |||
| 131 | + | ||||
| 69 | func TestFromJSONInvalid(t *testing.T) { | 132 | func TestFromJSONInvalid(t *testing.T) { | ||
| 70 | for _, in := range []string{ | 133 | for _, in := range []string{ | ||
| 71 | "", " ", "{", "}", "[", "]", `{"a"`, `{"a":`, `{"a":1`, `{,}`, `{"a" 1}`, `[1 2]`, | 134 | "", " ", "{", "}", "[", "]", `{"a"`, `{"a":`, `{"a":1`, `{,}`, `{"a" 1}`, `[1 2]`, | ||
A expr/testdata/fromjson_cases.json +1 -0
| @@ -0,0 +1,1 @@ | |||
| 1 | + | [{"in":"null","ok":true,"out":"null"},{"in":"true","ok":true,"out":"true"},{"in":"false","ok":true,"out":"false"},{"in":"NaN","ok":true,"out":"NaN"},{"in":"Infinity","ok":true,"out":"Infinity"},{"in":"-Infinity","ok":true,"out":"-Infinity"},{"in":"undefined","ok":true,"out":"\"\""},{"in":"0","ok":true,"out":"0"},{"in":"-0","ok":true,"out":"0"},{"in":"010","ok":true,"out":"8"},{"in":"08","ok":false},{"in":"0x1F","ok":true,"out":"31"},{"in":"1.5e3","ok":true,"out":"1500"},{"in":".5","ok":true,"out":"0.5"},{"in":"5.","ok":true,"out":"5"},{"in":"12345678901234567890","ok":true,"out":"1.23456789012346E+19"},{"in":"\"a\"","ok":true,"out":"\"a\""},{"in":"'a'","ok":true,"out":"\"a\""},{"in":"\"\\u00e9\\ud83d\\ude00\"","ok":true,"out":"\"é😀\""},{"in":"\"\\ud800\"","ok":true,"out":"\"�\""},{"in":"[]","ok":true,"out":"[]"},{"in":"{}","ok":true,"out":"{}"},{"in":"[1,2,3]","ok":true,"out":"[\n 1,\n 2,\n 3\n]"},{"in":"[1,]","ok":true,"out":"[\n 1\n]"},{"in":"[,1]","ok":true,"out":"[\n \"\",\n 1\n]"},{"in":"[1,,2]","ok":true,"out":"[\n 1,\n \"\",\n 2\n]"},{"in":"{\"a\":1}","ok":true,"out":"{\n \"a\": 1\n}"},{"in":"{\"a\":1,\"A\":2}","ok":true,"out":"{\n \"a\": 2\n}"},{"in":"{a:1}","ok":true,"out":"{\n \"a\": 1\n}"},{"in":"{'a':'b'}","ok":true,"out":"{\n \"a\": \"b\"\n}"},{"in":"{\"a\":[1,{\"b\":null}]}","ok":true,"out":"{\n \"a\": [\n 1,\n {\n \"b\": null\n }\n ]\n}"},{"in":"[[[1]]]","ok":true,"out":"[\n [\n [\n 1\n ]\n ]\n]"},{"in":"[null,true,false]","ok":true,"out":"[\n null,\n true,\n false\n]"},{"in":"1 2","ok":true,"out":"1"},{"in":"[] x","ok":true,"out":"[]"},{"in":",","ok":true,"out":"\"\""},{"in":",1","ok":true,"out":"\"\""},{"in":"/*c*/1","ok":true,"out":"\"c\""},{"in":"1/*c*/","ok":true,"out":"1"},{"in":"[1/*c*/,2]","ok":true,"out":"[\n 1,\n 2\n]"},{"in":"null/x","ok":false},{"in":"new Date(1)","ok":true,"out":"\"new Date(\\n 1\\n)\""},{"in":"[010,08,-010]","ok":false},{"in":"{\"a\":010}","ok":true,"out":"{\n \"a\": 8\n}"},{"in":"1e5","ok":true,"out":"100000"},{"in":"1E+5","ok":true,"out":"100000"},{"in":"-1.5e-3","ok":true,"out":"-0.0015"},{"in":"0.1e1","ok":true,"out":"1"},{"in":"0e0","ok":true,"out":"0"},{"in":"00","ok":true,"out":"0"},{"in":"-00","ok":true,"out":"0"},{"in":"0.0","ok":true,"out":"0"},{"in":"00.5","ok":false},{"in":"\"\\u00e9[\\ud83d\\ud00","ok":false},{"in":"t8/*cN*/","ok":false},{"in":"0x\\1F","ok":false},{"in":"[[[1]]]/","ok":true,"out":"[\n [\n [\n 1\n ]\n ]\n]"},{"in":"b00","ok":false},{"in":"t'ta'","ok":false},{"in":"{\"a\"/010}","ok":false},{"in":"3-.5e-3","ok":false},{"in":"[1e5X","ok":false},{"in":"0.te1","ok":false},{"in":"1.N5e7","ok":false},{"in":"{ab1}","ok":false},{"in":"N0e0","ok":false},{"in":"Nx.F","ok":false},{"in":"[rueX","ok":false},{"in":"[null,truef\\lse]","ok":false},{"in":"\"\\u00e\\9\\ud83d\\ude0\"","ok":false},{"in":".un3efi3ned","ok":false},{"in":"treb","ok":false},{"in":".-","ok":false},{"in":"bNaN","ok":false},{"in":"//*c*/1","ok":true,"out":"\"*c*/1\""},{"in":"1E3+t","ok":false},{"in":".53","ok":true,"out":"0.53"},{"in":"7.","ok":true,"out":"7"},{"in":"[1,","ok":false},{"in":"/[1/c*/,2]","ok":false},{"in":"\".a.:1}","ok":false},{"in":"\"\\u00e9\\ud83\\ude0\"","ok":false},{"in":"X.0","ok":false},{"in":"{X}","ok":false},{"in":"\\/10","ok":false},{"in":"nullNx","ok":false},{"in":"X01e\\","ok":false},{"in":"E\"+","ok":false},{"in":"{\"a\":[1,{\"b\"7:null}]}","ok":false},{"in":"1/3*c*/","ok":true,"out":"1"},{"in":"\\null7","ok":false},{"in":"\"XE+","ok":false},{"in":"\\.0","ok":false},{"in":"3","ok":true,"out":"3"},{"in":"3'a':'b'.}","ok":false},{"in":"3{","ok":false},{"in":"{\"a010}","ok":false},{"in":"1..b5e","ok":false},{"in":"undefibed","ok":false},{"in":"\\N00","ok":false},{"in":"a:1}","ok":false},{"in":"{\"a\":00N}","ok":false},{"in":"\"\\u00e.\\ud83d\\ude00\"","ok":false},{"in":"\"[1,2,3]","ok":false},{"in":"{\"\":1,\"A:2}","ok":false},{"in":"3] x","ok":true,"out":"3"},{"in":"[1\\]","ok":false},{"in":"\"","ok":false},{"in":"7[1,]","ok":false},{"in":"70.1e1","ok":true,"out":"701"},{"in":"-Infinit\"y","ok":false},{"in":"[nult,\"true,false]","ok":false},{"in":"trute","ok":false},{"in":".0x1","ok":false},{"in":",X1","ok":true,"out":"\"\""},{"in":"b{\"a\":1}","ok":false},{"in":"/*c*\"","ok":false},{"in":"300","ok":true,"out":"300"},{"in":".efined","ok":false},{"in":"Xa'","ok":false},{"in":"7//*c*/","ok":true,"out":"7"},{"in":"undeined","ok":false},{"in":"{a31","ok":false},{"in":"ue[","ok":false},{"in":"}","ok":false},{"in":"7\"\":010}","ok":false},{"in":"\\b[1/*c*/,2]","ok":false},{"in":"[5b.","ok":false},{"in":"12\\45678/01234567890","ok":false},{"in":"N':'b'}","ok":false},{"in":"","ok":false},{"in":"0[","ok":false},{"in":"1E5","ok":true,"out":"100000"},{"in":"7a:1b","ok":false},{"in":"7X08","ok":false},{"in":"[1/*c*/\\3,2]","ok":false},{"in":"[1/*c*7,2]","ok":false},{"in":"1/c[","ok":true,"out":"1"},{"in":"'tNueb","ok":false},{"in":"t.u","ok":false},{"in":"[] xb","ok":true,"out":"[]"},{"in":"\\0be1","ok":false},{"in":"30[","ok":false},{"in":"b1\\5","ok":false},{"in":".0.1e1","ok":false},{"in":"t[] x","ok":false},{"in":"\\\\u00e9\\ud83d\\de00\"","ok":false},{"in":"\\u0Xe9\\3ud83d\\ude00\"","ok":false},{"in":"1.3e3","ok":true,"out":"1300"},{"in":"3.1","ok":true,"out":"3.1"},{"in":"00.","ok":false},{"in":"0x3/F","ok":true,"out":"3"},{"in":"[1]","ok":true,"out":"[\n 1\n]"},{"in":"t. x","ok":false},{"in":"123456789012345[7890","ok":false},{"in":"at","ok":false},{"in":"{'a':'b'X}","ok":false},{"in":"t.","ok":false},{"in":"1XX","ok":false},{"in":"1,2,3]","ok":true,"out":"1"},{"in":"-","ok":false},{"in":"[null,true,flse]","ok":false},{"in":"nfinit","ok":false},{"in":"0x1/F","ok":true,"out":"1"},{"in":"\"\"\\d/00\"","ok":true,"out":"\"\""},{"in":"\"[null,true,false]","ok":false},{"in":"00\\5","ok":false},{"in":"t.e5","ok":false},{"in":"10","ok":true,"out":"10"},{"in":"X'ab'","ok":false},{"in":"In\\finiy/","ok":false},{"in":"Na'","ok":false},{"in":".*c*[1","ok":false},{"in":"/*c*/[1","ok":true,"out":"\"c\""},{"in":"I.nfinitb.y","ok":false},{"in":"\\0","ok":false},{"in":"\"\\u00e9\\ud83d\\Nde00\"","ok":false},{"in":"t[ue","ok":false},{"in":"/**/","ok":true,"out":"\"\""},{"in":"[17,[]","ok":false},{"in":".ull7","ok":false},{"in":".5e[X3","ok":false},{"in":"07x1F","ok":false},{"in":"\"30","ok":false},{"in":"}N","ok":false},{"in":"b1/*c*/[7]","ok":false},{"in":"3be\"","ok":false},{"in":"3-0","ok":false},{"in":"\\10","ok":false},{"in":"...5","ok":false},{"in":".0","ok":true,"out":"0"},{"in":" 2","ok":true,"out":"2"},{"in":"010\"08,-010]","ok":false},{"in":"{\"a\"1,\"A\":2N","ok":false},{"in":"\\0e0","ok":false},{"in":"X1.5e-3","ok":false},{"in":"a'","ok":false},{"in":"[010,08,-00]","ok":false},{"in":"0x\\1F\"","ok":false},{"in":"[1/*c*//,2]","ok":false},{"in":"05","ok":true,"out":"5"},{"in":"[/[[1]]]","ok":false},{"in":"ne /Date(1)","ok":false},{"in":"treX","ok":false},{"in":"NX\"0","ok":false},{"in":".a:1}","ok":false},{"in":"nNll/x","ok":false},{"in":"\\","ok":false},{"in":"b/a\"'","ok":false},{"in":"/,1]","ok":false},{"in":" N2","ok":false},{"in":".x1","ok":false},{"in":"[1,,7].","ok":true,"out":"[\n 1,\n \"\",\n 7\n]"},{"in":"[010,08,-010","ok":false},{"in":"71b5","ok":false},{"in":"[e0","ok":false},{"in":"[1\",2]","ok":false},{"in":"[3/*c*/,2]","ok":true,"out":"[\n 3,\n 2\n]"},{"in":"[5X","ok":false},{"in":"nultl","ok":false},{"in":"/Na","ok":false},{"in":"b.b","ok":false},{"in":"[null,true.false","ok":false},{"in":"\"ul7\"","ok":true,"out":"\"ul7\""},{"in":"[null,Xrue,f/alsNe]","ok":false},{"in":"08.","ok":false},{"in":"3.ud800\"","ok":false},{"in":"\"\\u00e9\\ud83\\\\ude0b\"","ok":false},{"in":"X[1,2,3]","ok":false},{"in":"7","ok":true,"out":"7"},{"in":"{\"a\":[X1,{\"b\":null}]}","ok":false},{"in":"nu.l/x","ok":false},{"in":"bnullx","ok":false},{"in":"X","ok":false},{"in":"\"\"a\":[1,N{\"b\":null}]}","ok":true,"out":"\"\""},{"in":"[] x[","ok":true,"out":"[]"},{"in":"[] ","ok":true,"out":"[]"},{"in":"[1*c*/,2","ok":false},{"in":"/","ok":false},{"in":"\"In/finty","ok":false},{"in":"b\"","ok":false},{"in":"null/x3","ok":false},{"in":"Intiniy[","ok":false},{"in":"t0e","ok":false},{"in":"t","ok":false},{"in":"\".\\u800\"","ok":false},{"in":"e5\"","ok":false},{"in":"[[1]]]","ok":true,"out":"[\n [\n 1\n ]\n]"},{"in":"N.5e/3","ok":false},{"in":"{\"[a\"[:00}","ok":false},{"in":"7[ul\"/x","ok":false},{"in":"X08","ok":false},{"in":"{\"a\":[1,{\"b\":null}]}3","ok":true,"out":"{\n \"a\": [\n 1,\n {\n \"b\": null\n }\n ]\n}"},{"in":"N","ok":false},{"in":"[","ok":false},{"in":"7\"a\":010}","ok":false},{"in":".5t","ok":false},{"in":"\"[1,]","ok":false},{"in":"00\\","ok":false},{"in":"[N,]","ok":false},{"in":"[nfiity","ok":false},{"in":"-Inf[init\"","ok":false},{"in":"\"a\"\\X:010}","ok":true,"out":"\"a\""},{"in":"INf[nit\\","ok":false},{"in":"1.7e3","ok":true,"out":"1700"},{"in":"\\\"'a","ok":false},{"in":"738","ok":true,"out":"738"},{"in":"new XDate(1)","ok":true,"out":"\"new XDate(\\n 1\\n)\""},{"in":"3undef/ined","ok":false},{"in":".[[[1]]]","ok":false},{"in":"trt\\ue","ok":false},{"in":"/ll/x","ok":false},{"in":"{\"a\":[1,{\"b\":nuNll}]/","ok":false},{"in":"12345678901234567890\\","ok":false},{"in":"{a1}","ok":false},{"in":"{\"\":1,\"A\":2}","ok":true,"out":"{\n \"\": 1,\n \"A\": 2\n}"},{"in":"1","ok":true,"out":"1"},{"in":"X/*c*/1X","ok":false},{"in":"fa[s\"3","ok":false},{"in":"X0","ok":false},{"in":"t1 2","ok":false},{"in":"/null,t[rue,fale]","ok":false},{"in":"1.5e33","ok":true,"out":"1.5E+33"},{"in":"[8.","ok":false},{"in":".5e3","ok":true,"out":"500"},{"in":"new ate(\\1X)","ok":false},{"in":"falst","ok":false},{"in":"\\/\"a\":17}","ok":false},{"in":"[00,08,.-010","ok":false},{"in":"[] 3x","ok":true,"out":"[]"},{"in":"true[N","ok":false},{"in":"2/","ok":true,"out":"2"},{"in":"[0.","ok":false},{"in":"u\"ll/x","ok":false},{"in":"b/e0","ok":false},{"in":"\\NX0","ok":false},{"in":"\"\\ud8\"00\"","ok":false},{"in":"N.0","ok":false},{"in":"31E+","ok":false},{"in":"[[X1]]]","ok":false},{"in":"\"t\":1}","ok":true,"out":"\"t\""},{"in":"7b08.","ok":false},{"in":"[5.N[","ok":false},{"in":"[1,3]","ok":true,"out":"[\n 1,\n 3\n]"},{"in":"{\"a\":1,\"A:23}","ok":false},{"in":".00","ok":true,"out":"0"},{"in":"123745678901X34567890","ok":false},{"in":"\"undefined","ok":false},{"in":"\\[[1]]]","ok":false},{"in":"{'a'\\:'b'}","ok":false},{"in":"Xa\"","ok":false},{"in":"\\{\"a\":1}","ok":false},{"in":"]X","ok":false},{"in":"undebine3d","ok":false},{"in":"3e0","ok":true,"out":"3"},{"in":"new 3Datet1)","ok":false},{"in":"01F","ok":false},{"in":".]","ok":false},{"in":"[00,08,-010]","ok":false},{"in":"t[]","ok":false},{"in":"[\"","ok":false},{"in":"t.e","ok":false},{"in":"b/","ok":false},{"in":"1F","ok":false},{"in":".08X","ok":false},{"in":"\"3\\]","ok":false},{"in":"[0","ok":false},{"in":"1E+7/","ok":true,"out":"10000000"},{"in":"\\a'","ok":false},{"in":"7,b\"","ok":true,"out":"7"},{"in":"]","ok":false},{"in":"1\\2345678901234567890","ok":false},{"in":"0x1.","ok":false},{"in":"N'a'","ok":false},{"in":"\"\\u0e9\\ud83d\\ude00\"","ok":false},{"in":"t1+5","ok":false},{"in":"XX1]3","ok":false},{"in":"tnNw Date(1)","ok":false},{"in":"'\\","ok":false},{"in":"71 2","ok":true,"out":"71"},{"in":"3ublb","ok":false},{"in":"trtuX","ok":false},{"in":".,7","ok":false},{"in":"{\"a\"N1,\"[\"32}","ok":false},{"in":"N,1","ok":false},{"in":"X1t2345678901.34567890","ok":false},{"in":"a1,2,3]","ok":false},{"in":"b[[[1]]]","ok":false},{"in":"\"\\u00te9\\ud83d\\ude00\"","ok":false},{"in":"X1/*c*/","ok":false},{"in":"N1. 23","ok":false},{"in":"1/*.*/","ok":true,"out":"1"},{"in":"[1[,2","ok":false},{"in":"t10","ok":false},{"in":"[1N,23","ok":false},{"in":"'a':'b'","ok":true,"out":"\"a\""},{"in":"Infinity3","ok":false},{"in":"X[[1]]]","ok":false},{"in":".0e","ok":false},{"in":"3.","ok":true,"out":"3"},{"in":".null,tr\"ue,false]","ok":false},{"in":"e5","ok":false},{"in":"e0","ok":false},{"in":"\"\\ud8007\"","ok":true,"out":"\"�7\""},{"in":"ull","ok":false},{"in":".5e-3","ok":true,"out":"0.0005"},{"in":"X1/7Nc*/","ok":false},{"in":"\"\\ud800\"7","ok":true,"out":"\"�\""},{"in":".1e1","ok":true,"out":"1"},{"in":".70","ok":true,"out":"0.7"},{"in":" 2.","ok":true,"out":"2"},{"in":"b0.1e\"","ok":false},{"in":"1/*c/","ok":true,"out":"1"},{"in":"31,2,3]","ok":true,"out":"31"},{"in":"{at:1","ok":false},{"in":"/c*/1","ok":false},{"in":"1E+[","ok":false},{"in":".t[ue","ok":false},{"in":"a","ok":false},{"in":"-X3","ok":false},{"in":"5'","ok":false},{"in":"\"\\ud8t00\"","ok":false},{"in":"[.1]","ok":true,"out":"[\n 0.1\n]"},{"in":"/010","ok":false},{"in":"t.0","ok":false},{"in":"\\\",]","ok":false},{"in":"{a:1N}","ok":false},{"in":"007","ok":true,"out":"7"},{"in":"[.","ok":false},{"in":"b.1","ok":false},{"in":"\\5.b","ok":false},{"in":"\"\\ud80\"","ok":false},{"in":"\\1]","ok":false},{"in":"3,]","ok":true,"out":"3"},{"in":"1.5e73","ok":true,"out":"1.5E+73"},{"in":"3e5","ok":true,"out":"300000"},{"in":"{'a':''}","ok":true,"out":"{\n \"a\": \"\"\n}"},{"in":"33","ok":true,"out":"33"},{"in":"0.5","ok":true,"out":"0.5"},{"in":"X,N1]","ok":false},{"in":"unde/fited","ok":false},{"in":".3e3","ok":true,"out":"300"},{"in":"{\"/\"[1,{\"b7\":null}]}","ok":false},{"in":"new Date71)","ok":false},{"in":"nulltrue,fale]","ok":false},{"in":"1.5e","ok":false},{"in":"12345678\\01[34567890","ok":false},{"in":"{\"a\":[1,{\"b\":null}]t","ok":false},{"in":"/ull/x","ok":false},{"in":"tb[[1]]]","ok":false},{"in":"/ue","ok":false},{"in":"{'a''b'","ok":false},{"in":"0x1\"/","ok":false},{"in":"[I\"nfinitb","ok":false},{"in":"{a31.","ok":false},{"in":"{\"a\":1,\"A\":2N","ok":false},{"in":"3a'","ok":false},{"in":"70.5","ok":true,"out":"70.5"},{"in":"tnew Datet1/","ok":false},{"in":"\"\\u00e\\udt83d\\ude00\"","ok":false},{"in":"/nfinity","ok":false},{"in":"3.0.","ok":false},{"in":"\\u00e9\\ud83d\\ude00\"","ok":false},{"in":"-Infinbity","ok":false},{"in":"{\"a\":[1,{\"b[:null}]}","ok":false},{"in":"[]b","ok":true,"out":"[]"},{"in":"ntew ate\"1)","ok":false},{"in":"[1,2","ok":false},{"in":"0b0","ok":false},{"in":"t[1,b2,3]","ok":false},{"in":"tr.e","ok":false},{"in":".t0","ok":false},{"in":"/\\10","ok":false},{"in":"\"0","ok":false},{"in":"tr.u3","ok":false},{"in":"71[/*c*/","ok":false},{"in":"\"\"\":010}","ok":true,"out":"\"\""},{"in":"] 7x","ok":false},{"in":"3NN","ok":false},{"in":"t\\ue","ok":false},{"in":"[b\"a\":1}","ok":false},{"in":"[1,3,2]","ok":true,"out":"[\n 1,\n 3,\n 2\n]"},{"in":"/[1,2,\\3]","ok":false},{"in":"[NNa\"","ok":false},{"in":"{\"a\":1,\"A\"32}","ok":false},{"in":"[b x","ok":false},{"in":".[1,2,3]","ok":false},{"in":"3 2","ok":true,"out":"3"},{"in":"[[./]]","ok":false},{"in":"\"\\u00e9\\\\d83d\\ude00\"","ok":true,"out":"\"é\\\\d83d�\""},{"in":"{\"a\":1,\".\".2","ok":false},{"in":"/*.c*/1","ok":true,"out":"\".c\""},{"in":"-.0","ok":true,"out":"-0"},{"in":"Infinity.","ok":false},{"in":"[t,","ok":false},{"in":"{'ba':'b'}","ok":true,"out":"{\n \"ba\": \"b\"\n}"},{"in":"[/","ok":false},{"in":"X-Infinity","ok":false},{"in":"-I]nfinity","ok":false},{"in":"[,]","ok":true,"out":"[\n \"\"\n]"},{"in":"aN","ok":false},{"in":"0b","ok":false},{"in":"00[5","ok":false},{"in":"1234567890234567890","ok":true,"out":"1.23456789023457E+18"},{"in":"{'a'.'b'}","ok":false},{"in":"bull7/","ok":false},{"in":"-Ifiity","ok":false},{"in":"123456789012345678390","ok":true,"out":"1.23456789012346E+20"},{"in":".false","ok":false},{"in":"1N234567/89012345/67890","ok":false},{"in":"0\"","ok":false},{"in":"un7e3ined","ok":false},{"in":"{\"3\":00}","ok":true,"out":"{\n \"3\": 0\n}"},{"in":"1/*c*/t","ok":true,"out":"1"},{"in":"[010,08,-0\\0t","ok":false},{"in":"/1,2,3]","ok":false},{"in":"Nr.u3","ok":false},{"in":",1[","ok":true,"out":"\"\""},{"in":"Infi[7\"y","ok":false},{"in":"[\\","ok":false},{"in":"{\"a\":1\",\"A\":2}","ok":false},{"in":"talse","ok":false},{"in":"[1/*c*/,2","ok":false},{"in":"\"aX\"1}","ok":true,"out":"\"aX\""},{"in":"[[1]]","ok":true,"out":"[\n [\n 1\n ]\n]"},{"in":"\"null","ok":false},{"in":"[[1]]X]","ok":true,"out":"[\n [\n 1\n ]\n]"},{"in":"t[\\,]","ok":false},{"in":"\\.7","ok":false},{"in":"[]x","ok":true,"out":"[]"},{"in":"t.5e-33","ok":false},{"in":"{\"a3\":[1,{\"b\":nullb}]}t","ok":false},{"in":"-Ininit","ok":false},{"in":"{\"\":13,\"A\"\"2}","ok":false},{"in":"\"-0X","ok":false},{"in":"/1/*cX/","ok":false},{"in":"-Inf3nity","ok":false},{"in":"fase","ok":false},{"in":"/ 2","ok":false},{"in":"{\"a\":[1,{\"b\":null}]/}","ok":false},{"in":"[ulNl","ok":false},{"in":"{a:1/\"}","ok":false},{"in":"\\NaN","ok":false},{"in":"\\new Date(1)","ok":false},{"in":"\"e5","ok":false},{"in":",1/]","ok":true,"out":"\"\""},{"in":"\\1EX","ok":false},{"in":".","ok":false},{"in":"b\"a\"","ok":false},{"in":"7.Xet1","ok":false},{"in":"[1/,X\"","ok":false},{"in":"2","ok":true,"out":"2"},{"in":"\"\\bu09\\ud83d\\ude00\"","ok":true,"out":"\"\\bu09😀\""},{"in":"Ininity","ok":false},{"in":"1234567890[23456789b0","ok":false},{"in":"XXa/lse","ok":false},{"in":"Infi\\i7y","ok":false},{"in":".0X","ok":false},{"in":"5./","ok":true,"out":"5"},{"in":"\\[1/*c*/,2]","ok":false},{"in":".{\".\":1}","ok":false},{"in":"t-1.5e-3","ok":false},{"in":"tNaN","ok":false},{"in":".5/","ok":true,"out":"0.5"},{"in":"\"7u00e9\\ud83d\\ude00\"","ok":true,"out":"\"7u00e9😀\""},{"in":"[1,2b,3]","ok":false},{"in":"ew Date(b1)","ok":false},{"in":"5","ok":true,"out":"5"},{"in":".7","ok":true,"out":"0.7"},{"in":"-Inf3ini7y","ok":false},{"in":"[aN","ok":false},{"in":"X1.","ok":false},{"in":"{ta\":00}","ok":false},{"in":"5/","ok":true,"out":"5"},{"in":"N.[N","ok":false},{"in":"1,,2N]","ok":true,"out":"1"},{"in":"[null,tr[e,false]","ok":false},{"in":"3.aN","ok":false},{"in":"t8","ok":false},{"in":"XaN","ok":false},{"in":"X00","ok":false},{"in":"{'a':'b'7X","ok":false},{"in":"0.e1","ok":true,"out":"0"},{"in":"/*ct*/1","ok":true,"out":"\"ct\""},{"in":"un.defined","ok":false},{"in":"[,","ok":false},{"in":"7\\{\"a\":1}","ok":false},{"in":"[] xNt","ok":true,"out":"[]"},{"in":"0X","ok":false},{"in":"newDate[(1)","ok":false},{"in":"Infini[y","ok":false},{"in":".0/0..","ok":true,"out":"0"},{"in":"\"\\u30e9\\ud83d\\ude00\"","ok":true,"out":"\"ラ😀\""},{"in":"[null,truefalse]","ok":false},{"in":"[010.,08,-010]","ok":false},{"in":"/010,08,-00]","ok":false},{"in":"t0e0","ok":false},{"in":"1/","ok":true,"out":"1"},{"in":"\"\\u00e9\\ud83d\\ude00\"t","ok":true,"out":"\"é😀\""},{"in":"new ate(1)","ok":true,"out":"\"new ate(\\n 1\\n)\""},{"in":"5X","ok":false},{"in":"3X,2,3]","ok":false},{"in":"N/*c*7/1","ok":false},{"in":"8","ok":true,"out":"8"},{"in":"] .x","ok":false},{"in":"1234X678901234567890","ok":false},{"in":"3[null,true,false]7","ok":false},{"in":"{\"a\":[1,{\"b\":null}\\]}","ok":false},{"in":"1234567890123457890","ok":true,"out":"1.23456789012346E+18"},{"in":"00.5b","ok":false},{"in":"Xnul","ok":false},{"in":"\".1eX17","ok":false},{"in":"3300t","ok":false},{"in":"N{\"a\":010}","ok":false},{"in":"Infinittb","ok":false},{"in":"{\"\":030}","ok":true,"out":"{\n \"\": 24\n}"},{"in":"new 7ate.1)","ok":false},{"in":"{a\"010}","ok":false},{"in":".1/\\c*/.2]","ok":true,"out":"0.1"},{"in":"3E+X","ok":false},{"in":"/a\"","ok":false},{"in":"1X0","ok":false},{"in":"[/*c*/","ok":false},{"in":"1/*c/,2]","ok":true,"out":"1"},{"in":"310","ok":true,"out":"310"},{"in":"0.1e","ok":false},{"in":"b","ok":false},{"in":"\\31]","ok":false},{"in":"{\"a\"31,\"A\"\"2}","ok":false},{"in":"[7}","ok":false},{"in":"{'':'b\"'}","ok":true,"out":"{\n \"\": \"b\\\"\"\n}"},{"in":"[nutll,true[alse]","ok":false},{"in":"t\"a\":[1,{\"7\"\":null}]}","ok":false},{"in":"123456890123567890","ok":true,"out":"1.23456890123568E+17"},{"in":"[010,08,-010[","ok":false},{"in":"{\"a\":1,\"A2\\","ok":false},{"in":"/,31","ok":false},{"in":"/[1,b2,3]7","ok":false},{"in":"[\"eb","ok":false},{"in":"[a'","ok":false},{"in":"N,1[N]","ok":false},{"in":"bull/x7","ok":false},{"in":"/3","ok":false},{"in":"tr.7e","ok":false},{"in":"[.5","ok":false},{"in":"rue","ok":false},{"in":"1.5e/","ok":false},{"in":".ull","ok":false},{"in":"{\"ba\":1,{\"b\":null}]}\"","ok":false},{"in":"0/","ok":true,"out":"0"},{"in":"tru[","ok":false},{"in":"b-Infinity","ok":false},{"in":"{\"a\":1,\"A\":2","ok":false},{"in":"\"{a:1}","ok":false},{"in":"{'a':'b'","ok":false},{"in":"00.t5","ok":false},{"in":"3{\"a\":1}","ok":false},{"in":"tre","ok":false},{"in":"Inf\"nity","ok":false},{"in":"{'a':'b'N}","ok":false},{"in":"1234567890134567890","ok":true,"out":"1.23456789013457E+18"},{"in":"7a/1}","ok":false},{"in":"70.0","ok":true,"out":"70"},{"in":"\\ud80\"","ok":false},{"in":"[1.5e-3","ok":false},{"in":"/1e5","ok":false},{"in":"X\"\\ud800\"","ok":false},{"in":"\"\\u00e9[Nud83d\\ude00\"","ok":true,"out":"\"é[Nud83d�\""},{"in":"3new Date(1)","ok":false},{"in":"1.57e-3","ok":true,"out":"0.00157"},{"in":".5X","ok":false},{"in":"-finity","ok":false},{"in":"t/*c*/1[X","ok":false},{"in":"1,\",3]","ok":true,"out":"1"},{"in":"\"a\":1}","ok":true,"out":"\"a\""},{"in":"/1","ok":false},{"in":"10,08,-01]","ok":true,"out":"10"},{"in":"ninity","ok":false},{"in":"t0N07","ok":false},{"in":"{a:1[","ok":false},{"in":"[.a.","ok":false},{"in":"a\"","ok":false},{"in":"\"-00","ok":false},{"in":"3\"10","ok":false},{"in":"0.1/","ok":true,"out":"0.1"},{"in":"/0.0","ok":false},{"in":"5.t","ok":false},{"in":"3a7\"","ok":false},{"in":"Nt0e0","ok":false},{"in":"70e0","ok":true,"out":"70"},{"in":"1/*c7/","ok":true,"out":"1"},{"in":"X'a':'\\b'","ok":false},{"in":",][","ok":true,"out":"\"\""},{"in":"{'a'\"'b'b","ok":false},{"in":"tnull,.rue,fal7se]","ok":false},{"in":"1\\345678901N34567\"90","ok":false},{"in":"/*cb]/","ok":false},{"in":"\\ull/x","ok":false},{"in":"700","ok":true,"out":"700"},{"in":"N{\"a\":1}","ok":false},{"in":"\\se","ok":false},{"in":"lse","ok":false},{"in":"[a\"","ok":false},{"in":" ","ok":false},{"in":"\"\\\\ud800\"\"","ok":true,"out":"\"\\\\ud800\""},{"in":"[null,.true,false3","ok":false},{"in":"[]t","ok":true,"out":"[]"},{"in":"bInfinity","ok":false},{"in":"[1/b*c*/,2]","ok":false},{"in":"17.5e-3","ok":true,"out":"0.0175"},{"in":"{'a':'b'/","ok":false},{"in":"\"a:1}","ok":false},{"in":"t 2","ok":false},{"in":"12[456780123456890","ok":false},{"in":"b.1e.1","ok":false},{"in":"30/0","ok":true,"out":"30"},{"in":"{'a':'b'\"","ok":false},{"in":"/0","ok":false},{"in":"1.5eX","ok":false},{"in":"t010,08,-00]","ok":false},{"in":"XN","ok":false},{"in":"{'a':'Nb'}","ok":true,"out":"{\n \"a\": \"Nb\"\n}"},{"in":"0\\8","ok":false},{"in":"[1,t","ok":false},{"in":"bew Date(1)","ok":false},{"in":"010,08,-X10]","ok":true,"out":"8"},{"in":"0.1","ok":true,"out":"0.1"},{"in":"[[1]","ok":false},{"in":"/*7*/1","ok":true,"out":"\"7\""},{"in":"1.5e\"3","ok":false},{"in":"[1/*X*/,2]","ok":true,"out":"[\n 1,\n 2\n]"},{"in":"t[t[1]]]","ok":false},{"in":"..1e1","ok":false},{"in":"1/b*/","ok":true,"out":"1"},{"in":"3X\\ud80\"","ok":false},{"in":"0.1et","ok":false},{"in":"X.e1","ok":false},{"in":"e[0","ok":false},{"in":"/*c*/17","ok":true,"out":"\"c\""},{"in":"3[] x","ok":false},{"in":"-Infni73ty","ok":false},{"in":"3{\"a\":010}","ok":false},{"in":"{'':'b'}","ok":true,"out":"{\n \"\": \"b\"\n}"},{"in":"X[1X,2,\"]","ok":false},{"in":"\"\\d800\"\"","ok":false},{"in":".{\"\":010","ok":false},{"in":"\"a\":1\"}","ok":true,"out":"\"a\""},{"in":"1E+5[","ok":false},{"in":",.1","ok":true,"out":"\"\""},{"in":"[1X*c*/7t]","ok":false},{"in":"N/","ok":false},{"in":"null,true,false].","ok":true,"out":"null"},{"in":"tnull/xb","ok":false},{"in":"7new Da.e(1)","ok":false},{"in":"\\0.","ok":false},{"in":"bxF","ok":false},{"in":"70","ok":true,"out":"70"},{"in":"t[1,2,3]","ok":false},{"in":"N{\"a\"1,\"A\"2}","ok":false},{"in":"nulbl","ok":false},{"in":"00\\/","ok":false},{"in":"\"010,08,-010","ok":false},{"in":"X-1.5e-3","ok":false},{"in":"[\",]","ok":false},{"in":"{\"a\":[1,{.b\":null}]}","ok":false},{"in":"{'3':''}","ok":true,"out":"{\n \"3\": \"\"\n}"},{"in":"[N1]","ok":false},{"in":"..5\\","ok":false},{"in":"nul","ok":false},{"in":"\"5","ok":false},{"in":".-1.5e-3","ok":false},{"in":"[nul,\"rue,false]","ok":false},{"in":"t,]","ok":false},{"in":"[ru","ok":false},{"in":"[null,tre,false]","ok":false},{"in":",1N","ok":true,"out":"\"\""},{"in":"n3\"l","ok":false},{"in":"{\"3a\":1,\"A\":2}","ok":true,"out":"{\n \"3a\": 1,\n \"A\": 2\n}"},{"in":"ne\\ ate()","ok":false},{"in":"3[[1]]]","ok":false},{"in":"\\u00e9\\/ud83d\\ude00\"","ok":false},{"in":"\"\\00e9\\Xud83d\\ude00\"","ok":false},{"in":"\"-0.","ok":false},{"in":"1.-3","ok":false},{"in":"1+5","ok":false},{"in":"\"t1[,,2]","ok":false},{"in":"XInfinbty","ok":false},{"in":"t123456790123567890","ok":false},{"in":"3,1","ok":true,"out":"3"},{"in":"\"3\\u00e9\\ud83d\\ude00\"","ok":true,"out":"\"3é😀\""},{"in":"0.N1et","ok":false},{"in":"[null,3rue,f/lse]","ok":false},{"in":"\"00","ok":false},{"in":"/{\"a\":010}","ok":false},{"in":"ul\\","ok":false},{"in":"{\"a/\":010","ok":false},{"in":"{\"a\":1,\"\":2}","ok":true,"out":"{\n \"a\": 1,\n \"\": 2\n}"},{"in":"Xull/x","ok":false},{"in":"null/x/","ok":false},{"in":"[01008,-010]","ok":false},{"in":"t-003/","ok":false},{"in":"1.5e\"/3","ok":false},{"in":"\\a\"","ok":false},{"in":",2,3]b","ok":true,"out":"\"\""},{"in":".08","ok":true,"out":"0.08"},{"in":"\"0[0","ok":false},{"in":"{\"a\":[1,{\"\\\"/:nul/}]}","ok":false},{"in":"]7","ok":false},{"in":"nutlt","ok":false},{"in":"0/1F","ok":true,"out":"0"},{"in":"{\"a\":1,\"bA\":b}","ok":false},{"in":"/-1.5e-3","ok":false},{"in":".ull/\\[","ok":false},{"in":"7010,08,-0\\10]","ok":true,"out":"7010"},{"in":"X\"a\"","ok":false},{"in":"nu7ll","ok":false},{"in":"undefiXe.","ok":false},{"in":"]/","ok":false},{"in":"ull/x\".","ok":false},{"in":"0.1Ne.1","ok":false},{"in":"{'7a\"':'b'}","ok":true,"out":"{\n \"7a\\\"\": \"b\"\n}"},{"in":"{\"a\":1,\"A\\2}","ok":false},{"in":"nul/x","ok":false},{"in":".5et","ok":false},{"in":"*c*/","ok":false},{"in":"[1/**/32X","ok":false},{"in":"b'a'","ok":false},{"in":"NN b2","ok":false},{"in":"\"[\\Nud8t00\"","ok":false},{"in":"a'\\","ok":false},{"in":"/t{'a':'b'}","ok":false},{"in":"{\"a\"7:1,\"bA\":2}","ok":false},{"in":"null/","ok":false},{"in":"-IXfinity","ok":false},{"in":"unefined","ok":false},{"in":"[1/*.c*/7b2]","ok":false},{"in":"-Infinitby","ok":false},{"in":"b-00","ok":false},{"in":"N[1,","ok":false},{"in":"7[[[1]]]","ok":false},{"in":"\\0N","ok":false},{"in":"\"\\ud800\"N","ok":true,"out":"\"�\""},{"in":"0x1F/","ok":true,"out":"31"},{"in":"1.5-3","ok":false},{"in":"[[1]/]]","ok":false},{"in":"/Nte5","ok":false},{"in":"InfiXiXXy","ok":false},{"in":"308X","ok":false},{"in":"[''.","ok":false},{"in":"X[/.5","ok":false},{"in":"\\[null,tru,false]","ok":false},{"in":"1/*\\*/","ok":true,"out":"1"},{"in":"7[]\"","ok":false},{"in":"{3a''X'}","ok":false},{"in":"nfinity","ok":false},{"in":"3und3fined","ok":false},{"in":"Nre","ok":false},{"in":"[/. x","ok":false},{"in":"7n\"inity","ok":false},{"in":"bud800\"","ok":false},{"in":"1E/+5","ok":false},{"in":"\"[","ok":false},{"in":"X5","ok":false},{"in":"[N,1X]","ok":false},{"in":"{'a':Xbb'}","ok":false},{"in":"3.5","ok":true,"out":"3.5"},{"in":"t00/","ok":false},{"in":"nul/[","ok":false},{"in":"7\\.5","ok":false},{"in":"[null,trbu3.false]","ok":false},{"in":"[010,08,-0\\/0","ok":false},{"in":",1]","ok":true,"out":"\"\""},{"in":"undeNined","ok":false},{"in":"08t","ok":false},{"in":"X-1.5e-/3","ok":false},{"in":"N.","ok":false},{"in":"083","ok":false},{"in":"1.5e-3","ok":true,"out":"0.0015"},{"in":"\"\\u00e9\\ud83d\\ude0","ok":false},{"in":"33[a\":1}","ok":false},{"in":"\\,","ok":false},{"in":"{7}","ok":false},{"in":"ul[","ok":false},{"in":"1/*t*/","ok":true,"out":"1"},{"in":"7,]","ok":true,"out":"7"},{"in":"x","ok":false},{"in":"3Na:1}","ok":false},{"in":"[,b1][","ok":false},{"in":"{\"a\":010","ok":false},{"in":"[]bx","ok":true,"out":"[]"},{"in":"30,08,-010]","ok":true,"out":"30"},{"in":"[1*c*/,2]","ok":false},{"in":"XN\"","ok":false},{"in":"t/*c*7","ok":false},{"in":"[1/N]","ok":false},{"in":"-\\Infinit","ok":false},{"in":"\"\\u007e9\\ud83d\\ude00","ok":false},{"in":"fal","ok":false},{"in":"Infinitb","ok":false},{"in":"b0F","ok":false},{"in":"new Date.(1)","ok":false},{"in":"/[null,truefals]","ok":false},{"in":"Infinit3","ok":false},{"in":"XN5","ok":false},{"in":"\"a\":010}","ok":true,"out":"\"a\""},{"in":"3Na\"N","ok":false},{"in":"\\1t/*c*[","ok":false},{"in":"\\01","ok":false},{"in":"/NaN","ok":false},{"in":"N1e5","ok":false},{"in":"\"\\d800\"","ok":false},{"in":"1,]","ok":true,"out":"1"},{"in":"nul/t","ok":false},{"in":"{\"a\":010[","ok":false},{"in":"\"7\\ud800\"","ok":true,"out":"\"7�\""},{"in":"w Date(1\\","ok":false},{"in":"[0N10,08,-010]","ok":false},{"in":",1.","ok":true,"out":"\"\""},{"in":"[010,08,t010]","ok":false},{"in":"{\"a\"7:1,\"A\":2}","ok":false},{"in":"[-1.5e-3","ok":false},{"in":"1.5e-3\\","ok":false},{"in":"[1/*3X/,2]3","ok":false},{"in":"tx3F\\","ok":false},{"in":"0[1,2,3]","ok":false},{"in":"[010,08,.010]","ok":false},{"in":"ul/x","ok":false},{"in":"'.a'","ok":true,"out":"\".a\""},{"in":"un/deined","ok":false},{"in":"[010,08,010\\","ok":false},{"in":"e0b","ok":false},{"in":"x1","ok":false},{"in":"X15","ok":false},{"in":"t1.5e-3","ok":false},{"in":"00.[5","ok":false},{"in":"{\"a\":0N0}","ok":false},{"in":"b.e3","ok":false},{"in":"tabs","ok":false},{"in":"{\"a\":[b1,{b:null}]}","ok":false},{"in":"nuNlb","ok":false},{"in":"{\"a\":[1[\\\"b\":null}]}","ok":false},{"in":"trNu","ok":false},{"in":"tr\"e","ok":false},{"in":"t1F","ok":false},{"in":"X0e\"0","ok":false},{"in":"/*c*/1/","ok":true,"out":"\"c\""},{"in":".53X","ok":false},{"in":"..e[","ok":false},{"in":"\"ll","ok":false},{"in":"\"[ud800\"","ok":true,"out":"\"[ud800\""},{"in":"tun/efine7","ok":false},{"in":"}.","ok":false},{"in":"[,t1]","ok":false},{"in":"\"\\u00e[9\\ud8[X3d\\ude00\"","ok":false},{"in":"[t","ok":false},{"in":"XN00","ok":false},{"in":"1*c","ok":false},{"in":"1234[567890123456790","ok":false},{"in":"/.e","ok":false},{"in":"\"\\u0e9\\ud83d[\\ude00\"","ok":false},{"in":"0.1e\"","ok":false},{"in":"b.be1","ok":false},{"in":"3ul//x","ok":false},{"in":"{}.","ok":true,"out":"{}"},{"in":"X1/*/N*/","ok":false},{"in":"a:}","ok":false},{"in":"\"\\u00e9\\ud3d\\ude0[0\"","ok":false},{"in":"{\"a\":010\"b}3","ok":false},{"in":"0.1e31","ok":true,"out":"1E+30"},{"in":"X[.1,2,3]","ok":false},{"in":"Xntdeined","ok":false},{"in":"{'a'N'b'","ok":false},{"in":"X[[[1]]]","ok":false},{"in":"123[5677b01234567890","ok":false},{"in":"{\"a\"1,\"A\":2}","ok":false},{"in":"12345678.9012345678.","ok":false},{"in":"-Infin3ty","ok":false},{"in":"t1/*b*/,\"2]","ok":false},{"in":"700.t5","ok":false},{"in":"undefi\"ned","ok":false},{"in":"[\\a'","ok":false},{"in":"NN30","ok":false},{"in":"[null,trut,false3]","ok":false},{"in":"[,\\]\\","ok":false},{"in":"{\"a\":1,\"A\":2\\}","ok":false},{"in":"\".[","ok":false},{"in":"{aX}\"","ok":false},{"in":".{'a'.''}","ok":false},{"in":"1.\"eb","ok":false},{"in":"\"\\u00e9\\ud\"83d\\de0\"","ok":false},{"in":"0btx1","ok":false},{"in":"003\"\"","ok":false},{"in":"t1E\\+5","ok":false},{"in":".[] x","ok":false},{"in":"[/[ull/x","ok":false},{"in":"[1,X]","ok":false},{"in":".07","ok":true,"out":"0.07"},{"in":"/X","ok":false},{"in":"{\"a\"010}","ok":false},{"in":"[1/*c*/,/]","ok":false},{"in":"{\"a\":[,{\"b\":null/]}","ok":false},{"in":"N+5","ok":false},{"in":"\"\\ud[00\"","ok":false},{"in":"t,1]","ok":false},{"in":"1.e3","ok":true,"out":"1000"},{"in":"Xnfiniy","ok":false},{"in":"13+5","ok":false},{"in":"/[1]]]","ok":false},{"in":"1*c*/","ok":false},{"in":"0\\0","ok":false},{"in":"[X] x","ok":false},{"in":"-Infni[y3","ok":false},{"in":"\"{\"a\":1,\"\":2","ok":true,"out":"\"{\""},{"in":"t[]\"","ok":false},{"in":"new Date1/","ok":false},{"in":"\".5","ok":false},{"in":"3-1.5e-3","ok":false},{"in":"{a1\\","ok":false},{"in":"3}","ok":true,"out":"3"},{"in":"Nfbals","ok":false},{"in":"1/.c*/,2]","ok":true,"out":"1"},{"in":"N[null,ruebfalse]","ok":false},{"in":"15-3","ok":false},{"in":"-I3finty","ok":false},{"in":"b-15e-3","ok":false},{"in":"ud00\"","ok":false},{"in":"[Infinit","ok":false},{"in":"be0","ok":false},{"in":"X\"a\":1}","ok":false},{"in":"7b1,2,3]","ok":false},{"in":"7/5","ok":true,"out":"7"},{"in":"0b.77e1","ok":false},{"in":"balse","ok":false},{"in":"X x","ok":false},{"in":"7[010,0X8,-0170]","ok":false},{"in":"7\"\\u00e9\\ud83d\\ude00\"","ok":false},{"in":"\"1.5e-3","ok":false},{"in":"\"a\":1\\,\"A\":2[","ok":true,"out":"\"a\""},{"in":".5e7","ok":true,"out":"5000000"},{"in":"\"X\":1}","ok":true,"out":"\"X\""},{"in":"\"b{\"a\":1","ok":true,"out":"\"b{\""},{"in":"7null","ok":false},{"in":"\"a\":1,\"A\":2}","ok":true,"out":"\"a\""},{"in":"N\".Xe1","ok":false},{"in":"{\"\":010}","ok":true,"out":"{\n \"\": 8\n}"},{"in":"\"\\u0Xe9\\ud83d\\ude00\"","ok":false},{"in":"finit","ok":false},{"in":"..\"","ok":false},{"in":"\"'a':''}","ok":false},{"in":"7,,2]","ok":true,"out":"7"},{"in":"X71,,2]","ok":false},{"in":"\\00t","ok":false},{"in":"X0103","ok":false},{"in":"8[","ok":false},{"in":"{\"a\"00}","ok":false},{"in":"/*c*[/1","ok":false},{"in":"tX,.","ok":false},{"in":"[[1,2,]","ok":false},{"in":"un7Neined","ok":false},{"in":"Xa","ok":false},{"in":".[1,,\"2","ok":false},{"in":"..","ok":false},{"in":"ls3","ok":false},{"in":"\"\\ud/\"0\"","ok":false},{"in":"[010[,08,-010\\]","ok":false},{"in":"{\".a\"\\1,\"A\":2}","ok":false},{"in":"null7x","ok":false},{"in":"new atX1)","ok":false},{"in":"tr.7","ok":false},{"in":"\\{'a':'bX'}.","ok":false},{"in":"[010\\,08,-010]","ok":false},{"in":"\\1.5e7","ok":false},{"in":".b1 .","ok":false},{"in":"{'a':'b'3","ok":false},{"in":"/*c*/","ok":true,"out":"\"c\""},{"in":"new Date7(1)","ok":true,"out":"\"new Date7(\\n 1\\n)\""},{"in":"b1,,2]","ok":false},{"in":"3-Infnty","ok":false},{"in":"\\{\"a\":010}","ok":false},{"in":"ul","ok":false},{"in":"\\0.0","ok":false},{"in":"{'a\\t:'b'X}","ok":false},{"in":"a''b'}","ok":false},{"in":"tXrue","ok":false},{"in":"tr[e3","ok":false},{"in":"new Date1)","ok":false},{"in":"X{\"a\":010}","ok":false},{"in":"XN+5","ok":false},{"in":"\".[,1","ok":false},{"in":"[N1,,2]","ok":false},{"in":"\"\\7ud800\"","ok":false},{"in":"t{'a'7:''}","ok":false},{"in":"3.5b","ok":false},{"in":"[010,0,-010]","ok":true,"out":"[\n 8,\n 0,\n -10\n]"},{"in":"{\"a\":1\\\"A\"32}","ok":false},{"in":"b0[","ok":false},{"in":"[null,true,fale]","ok":false},{"in":"new \"Date(1)","ok":false},{"in":"b0.0","ok":false},{"in":"\\\"a\":1}","ok":false},{"in":"N-00","ok":false},{"in":"lt","ok":false},{"in":"\"\\u00e9\\ud8\"3d\\ude0N0X\"","ok":false},{"in":".5-3","ok":false},{"in":"\"\\ud[8007\"","ok":false},{"in":"1.eX","ok":false},{"in":"\\n7\\ull","ok":false},{"in":".1/*Xc*/b","ok":true,"out":"0.1"},{"in":",2,3N]","ok":true,"out":"\"\""},{"in":"[null,true,flse/","ok":false},{"in":"[010","ok":false},{"in":"\"\\u00e9\\ud83d\\ude0\"","ok":false},{"in":"N0.b","ok":false},{"in":"/\"0b0","ok":false},{"in":"[nul3,true,false]","ok":false},{"in":"b.","ok":false},{"in":"tr/u3e","ok":false},{"in":"08X","ok":false},{"in":"1/*\\c*/","ok":true,"out":"1"},{"in":"f[ls\"et","ok":false},{"in":"{/a\":[1,{\"b\":nul7l}]}","ok":false},{"in":"InfinXby","ok":false},{"in":"\"\\u00e9\\ud/3\\udte00\"","ok":false},{"in":"{7\"a\":1,\"A\"b:2\"","ok":false},{"in":"[1F","ok":false},{"in":"3700","ok":true,"out":"3700"},{"in":"t/300","ok":false},{"in":".5.[","ok":false},{"in":"{a:1.}","ok":true,"out":"{\n \"a\": 1\n}"},{"in":",N","ok":true,"out":"\"\""},{"in":"/*N*/1","ok":true,"out":"\"N\""},{"in":"\\t8","ok":false},{"in":"\"{t\"a\":1}","ok":true,"out":"\"{t\""},{"in":"/[[[1].]]","ok":false},{"in":"1/*c*/[","ok":true,"out":"1"},{"in":"[null,true,fNlse]","ok":false},{"in":"{\"a\":3010","ok":false},{"in":"null7","ok":false},{"in":".5\\e3","ok":false},{"in":"07x1\\","ok":false},{"in":"0x1Ft","ok":false},{"in":".E+5","ok":false},{"in":"7\"b","ok":false},{"in":" X","ok":false},{"in":"\"\\u009\\ud83dtude00\"","ok":false},{"in":"\"\\u0[0e9\\ud83d\\ue00\"","ok":false},{"in":"{'a'/:'b'}","ok":false},{"in":"[1/**/.2]","ok":false},{"in":"[1,/X","ok":false},{"in":"\"10","ok":false},{"in":"{\"a\":.[1,{\"b\":null}]}","ok":false},{"in":".1e/1","ok":false},{"in":"\"\"a\":1}","ok":true,"out":"\"\""},{"in":"1/c*/","ok":true,"out":"1"},{"in":"tx","ok":false},{"in":"\\/1,2,3]","ok":false},{"in":".a'","ok":false},{"in":"nbll/x","ok":false},{"in":"e","ok":false},{"in":"\"aN","ok":false},{"in":"babse","ok":false},{"in":"-Infintt","ok":false},{"in":"/e0","ok":false},{"in":",31","ok":true,"out":"\"\""},{"in":"3x1F","ok":false},{"in":"130","ok":true,"out":"130"},{"in":"{a1N","ok":false},{"in":"Ininity\"","ok":false},{"in":"ud800\"","ok":false},{"in":"070.\\","ok":false},{"in":"\\\"/1 2","ok":false},{"in":"[]7","ok":true,"out":"[]"},{"in":"N[].","ok":false},{"in":"Infinity[","ok":false},{"in":"a7","ok":false},{"in":"\"\\udN80","ok":false},{"in":"\"a\":\\1}","ok":true,"out":"\"a\""},{"in":"new DaX1)","ok":false},{"in":"a\"'","ok":false},{"in":"[null,true,fale/[","ok":false},{"in":"\"/0","ok":false},{"in":".0xFb","ok":false},{"in":"X[][","ok":false},{"in":"ew Date(1)","ok":false},{"in":"0x1/","ok":true,"out":"1"},{"in":"{\"a\"t:1,\"A\"b2}","ok":false},{"in":"undefi.7d","ok":false},{"in":"undtine","ok":false},{"in":"\"X\\u00e9\\ud83d\\ude00\"","ok":true,"out":"\"Xé😀\""},{"in":"1\\","ok":false},{"in":"X'a'","ok":false},{"in":"[1/*\"*/,2]X","ok":true,"out":"[\n 1,\n 2\n]"},{"in":".tr\\ue","ok":false},{"in":"1N","ok":false},{"in":"-1.e-3","ok":true,"out":"-0.001"},{"in":"\\.e5","ok":false},{"in":"Xb","ok":false},{"in":"-Inf[n/ty","ok":false},{"in":"NNaN","ok":false},{"in":"7] x\"","ok":true,"out":"7"},{"in":"7ull","ok":false},{"in":"00X5","ok":false},{"in":"[1/*.c*/N]","ok":false},{"in":"X''","ok":false},{"in":"eN","ok":false},{"in":"{a:1[}3","ok":false},{"in":"[]\"","ok":true,"out":"[]"},{"in":"31/*cX*/,2]","ok":true,"out":"31"},{"in":"7{}3","ok":false},{"in":"b0x1/","ok":false},{"in":"{}b","ok":true,"out":"{}"},{"in":"\\\".0","ok":false},{"in":"{\"a\"7010}N3","ok":false},{"in":".[5","ok":false},{"in":"N/*\"c*/1","ok":false},{"in":".}\\","ok":false},{"in":".0.5","ok":false},{"in":"\"a\":[1}","ok":true,"out":"\"a\""},{"in":"0x\\XF","ok":false},{"in":"/[1,2,3]","ok":false},{"in":"[\\ud00\"/","ok":false},{"in":"[17,N","ok":false},{"in":"\"\\7d[00\"/","ok":false},{"in":"{\"/\":1,\"\"A\":2}","ok":false},{"in":"undeNfined","ok":false},{"in":"n.7ll/x","ok":false},{"in":"[.,1]","ok":false},{"in":"/t*c*/1","ok":false},{"in":"nu\"lbx","ok":false},{"in":"1]","ok":true,"out":"1"},{"in":"t1/*c*/3","ok":false},{"in":"N\\}X","ok":false},{"in":"1/*\"*/","ok":true,"out":"1"},{"in":"0..eb","ok":false},{"in":"1.Ne3.","ok":false},{"in":".[3 ","ok":false},{"in":"[null,trbe,false]","ok":false},{"in":"b/*c*/17","ok":false},{"in":"/-1.5b-3","ok":false},{"in":"N{\"a\":1,\"A\":2}","ok":false},{"in":"{\"\":1\"A\":2}","ok":false},{"in":"{a:1","ok":false},{"in":"1E+","ok":false},{"in":"bN*c*1","ok":false},{"in":"{\"a\"N[1,{\"b7null}]}","ok":false},{"in":"[010,08,-0b0","ok":false},{"in":"123456/89.234567890","ok":true,"out":"123456"},{"in":"[\"1]","ok":false},{"in":"\"a/se","ok":false},{"in":"{\"a\"b,\"A\":2}","ok":false},{"in":"nNll\\","ok":false},{"in":"/0b[","ok":false},{"in":"unXdebineN","ok":false},{"in":"/00.5","ok":false},{"in":"XN1 ","ok":false},{"in":"/1,]\"","ok":false},{"in":"new DateXN(1)","ok":true,"out":"\"new DateXN(\\n 1\\n)\""},{"in":"['/':'b'/","ok":false},{"in":"[7e5","ok":false},{"in":"[]. x","ok":true,"out":"[]"},{"in":"[[[1]]t]","ok":false},{"in":"[1,//","ok":false},{"in":"30","ok":true,"out":"30"},{"in":"+5","ok":false},{"in":"{\"a\":/[1,{\"b\":nul}]}","ok":false},{"in":"\"\\u00e9\\.d83d\\ud.00\"","ok":false},{"in":"[35","ok":false},{"in":"701[","ok":false},{"in":"true[","ok":false},{"in":"Inf3inity","ok":false},{"in":"1*b/","ok":false},{"in":"b\\}3","ok":false},{"in":"null,true,false][","ok":true,"out":"null"},{"in":"31F","ok":false},{"in":"undefine","ok":false},{"in":"[1,,2","ok":false},{"in":"X{}X","ok":false},{"in":"3[]","ok":false},{"in":"Infinit\\","ok":false},{"in":"[\"\\u00e.9\\ud83d\\ude00\"","ok":false},{"in":"/*c*/\\/","ok":true,"out":"\"c\""},{"in":"InfiNit.y","ok":false},{"in":".1\\e1","ok":false},{"in":"\"aN:1}","ok":false},{"in":"Xbe/","ok":false},{"in":"{\"\":1,\"A\"\"2}","ok":false},{"in":"\\[1,]/","ok":false},{"in":"1/*c*/,.2]","ok":true,"out":"1"},{"in":"\"\\u00e9\\ud83d\\utde00\"","ok":false},{"in":"-I.n\\f\\inity","ok":false},{"in":"\"\\/0e9\\ud83d\\ude00\"b","ok":true,"out":"\"/0e9😀\""},{"in":"1,2,3\\]","ok":true,"out":"1"},{"in":"\"\"0","ok":true,"out":"\"\""},{"in":"0.7","ok":true,"out":"0.7"},{"in":"[1/.c*X,2]","ok":false},{"in":".007.5","ok":false},{"in":"\"\\udb800\"[","ok":true,"out":"\"�0\""},{"in":"[\\/*c*/","ok":false},{"in":"{\"a\":[1,{b\":null]}","ok":false},{"in":"[[1,,77]","ok":false},{"in":".[0","ok":false},{"in":"Infinty","ok":false},{"in":".5e-\"3","ok":false},{"in":"\"\"\\u00e\\ud8d\\ude00\"","ok":true,"out":"\"\""},{"in":"./","ok":false},{"in":"\"'a'","ok":false},{"in":"10N","ok":false},{"in":"nu\"l/x","ok":false},{"in":"\"\\N00e9\\ud83d\\ude7t00\"","ok":false},{"in":"[-0","ok":false},{"in":".t","ok":false},{"in":"trueX","ok":false},{"in":"N\"","ok":false},{"in":"[,1[","ok":false},{"in":"[null,true,f7als]","ok":false},{"in":"N-70","ok":false},{"in":"/0.","ok":false},{"in":"{'a'7'b'3}","ok":false},{"in":".07.5","ok":false},{"in":"3[1,2,3]","ok":false},{"in":"{a.1}","ok":false},{"in":".0.0","ok":false},{"in":"13E+5","ok":true,"out":"1300000"},{"in":"\\.","ok":false},{"in":"\\.aN","ok":false},{"in":"\\X[]","ok":false},{"in":"\"{\"a[\":1}","ok":true,"out":"\"{\""},{"in":"nu\"lN","ok":false},{"in":"01","ok":true,"out":"1"},{"in":"[alse","ok":false},{"in":"-Infint\\","ok":false},{"in":"[010\\,08,-0310]","ok":false},{"in":".5\"","ok":false},{"in":"/0.5","ok":false},{"in":"123456780123567890","ok":true,"out":"1.23456780123568E+17"},{"in":"\"\\u00e9\\.d83d\\ude00\"X","ok":false},{"in":"Nc","ok":false},{"in":"\"\\u00e9\\ud83d\\ude00\"N","ok":true,"out":"\"é😀\""},{"in":"71e\\5","ok":false},{"in":"ta'","ok":false},{"in":"{\"\\\":1,\"A\":2\"}","ok":false},{"in":"\\5.N","ok":false},{"in":"\"\\\\ud800\".","ok":true,"out":"\"\\\\ud800\""},{"in":"[010,08,\"-010]","ok":false},{"in":"\"010,08,-010]","ok":false},{"in":"unefineNd","ok":false},{"in":"fNseX","ok":false},{"in":"\\/","ok":false},{"in":"\"\"X","ok":true,"out":"\"\""},{"in":"Infnity","ok":false},{"in":"7[,1]","ok":false},{"in":"b\\1,2,]","ok":false},{"in":"-..","ok":false},{"in":"{N","ok":false},{"in":"X[[e0","ok":false},{"in":"[0.10,08,-010]","ok":false},{"in":"truXe","ok":false},{"in":"X0.1e1","ok":false},{"in":"{tb'':'b'}","ok":false},{"in":"nulx","ok":false},{"in":"bub.l","ok":false},{"in":"[,,2]","ok":true,"out":"[\n \"\",\n \"\",\n 2\n]"},{"in":"[1,2]","ok":true,"out":"[\n 1,\n 2\n]"},{"in":"-0X","ok":false},{"in":"31.5e-3","ok":true,"out":"0.0315"},{"in":"{a:1/","ok":false},{"in":"{'a'N:'b'}","ok":false},{"in":"b}/","ok":false},{"in":".e5","ok":false},{"in":"{'a'/:'\\'}X","ok":false},{"in":"finity","ok":false},{"in":".b1\"","ok":false},{"in":"[\"[[1N]]]","ok":false},{"in":"X\"1,","ok":false},{"in":"/0bb","ok":false},{"in":"aNN","ok":false},{"in":"[N/*c*/,2]","ok":false},{"in":"1E\\+\"5","ok":false},{"in":"\"/t*c*/1","ok":false},{"in":"0x1F3tt","ok":false},{"in":"[\"a\":[1,{b\":null}]}","ok":false},{"in":"bXa'","ok":false},{"in":"un\"de\"find","ok":false},{"in":"{a:N1","ok":false},{"in":"/t/ue","ok":false},{"in":"/708X","ok":false},{"in":".[[1]]]","ok":false},{"in":"[null,true,fa\\3se]","ok":false},{"in":"X0.0","ok":false},{"in":"03x1F","ok":false},{"in":"t1\"5e","ok":false},{"in":"[null,tr7ue,false\"","ok":false},{"in":"[010,0,-10]","ok":true,"out":"[\n 8,\n 0,\n -10\n]"},{"in":"[,/","ok":false},{"in":"N]","ok":false},{"in":"\"\\Nd80\"","ok":false},{"in":"0[0.5","ok":false},{"in":"t/*cX*/1","ok":false},{"in":"Inftnity","ok":false},{"in":"[null,tr\\e,false\"","ok":false},{"in":"bull/x","ok":false},{"in":".{\"a\"t1,\"A7\":2}","ok":false},{"in":"]\\aN","ok":false},{"in":"[1/]","ok":false},{"in":"\"0\"","ok":true,"out":"\"0\""},{"in":"{\"a\".1,\"A\":2}","ok":false},{"in":"[1 2b","ok":false},{"in":"1Ne5","ok":false},{"in":"\"1","ok":false},{"in":"{\"a\":[,{\"b\"\":null}\\}","ok":false},{"in":"/ndined","ok":false},{"in":"X[1\\]]","ok":false},{"in":"fals\\","ok":false},{"in":"t{\"a\":.}","ok":false},{"in":"\"a\":13}","ok":true,"out":"\"a\""},{"in":"{\"a\"N:010/}","ok":false},{"in":"a:[1}","ok":false},{"in":"41e5","ok":true,"out":"4100000"},{"in":"{\"a\"\\:\"010.","ok":false},{"in":"/aNN","ok":false},{"in":"\\31,2,3]","ok":false},{"in":"Nt0t","ok":false},{"in":"\"\\udb800\"3","ok":true,"out":"\"�0\""},{"in":"\"\\u00e9\\ud83[d\\ude00\"","ok":false},{"in":"7[1,N]","ok":false},{"in":"ba'","ok":false},{"in":"[[1]b]","ok":false},{"in":"[]t x","ok":true,"out":"[]"},{"in":"[1.5e[","ok":false},{"in":"/0be0","ok":false},{"in":"/-1X.5e-3","ok":false},{"in":"/0e0","ok":false},{"in":"[1,,2t3","ok":false},{"in":"1,bt]","ok":true,"out":"1"},{"in":"[ x","ok":false},{"in":"-Infintty","ok":false},{"in":"1,7]","ok":true,"out":"1"},{"in":"\"\\u0e9ud83d\\ude00\"","ok":false},{"in":"bN","ok":false},{"in":"ud80\"","ok":false},{"in":"new [Date(1)","ok":false},{"in":"[null,tr.e,false]","ok":false},{"in":"ew D/te(1)","ok":false},{"in":",2,3]","ok":true,"out":"\"\""},{"in":"-I\"fin\\itty","ok":false},{"in":".\\5","ok":false},{"in":"undefiNed","ok":false},{"in":"0x1","ok":true,"out":"1"},{"in":".{a1}7","ok":false},{"in":"/0[","ok":false},{"in":"x1F","ok":false},{"in":".finity","ok":false},{"in":"373ull/x","ok":false},{"in":"5.N","ok":false},{"in":"{a:\\1","ok":false},{"in":"0x1Fb\\","ok":false},{"in":"[1,]\\","ok":true,"out":"[\n 1\n]"},{"in":"nuXlbx","ok":false},{"in":"[//c*/,2]","ok":false},{"in":"tXue","ok":false},{"in":"N15","ok":false},{"in":"-tInfnity","ok":false},{"in":"\"0e0[","ok":false},{"in":"bt1","ok":false},{"in":"b1.5e-3","ok":false},{"in":"7,1]","ok":true,"out":"7"},{"in":"3[a:1b","ok":false},{"in":".10\\","ok":false},{"in":"\\[1/]/","ok":false},{"in":"null/xb","ok":false},{"in":"\\[[1].]]","ok":false},{"in":"Infinity\"","ok":false},{"in":"[\"\\ubd800\"","ok":false},{"in":"[1N*/*b,2]","ok":false},{"in":"b[1,2,3]","ok":false},{"in":"{\"a\":010/","ok":false},{"in":"[false","ok":false},{"in":"[1.57/","ok":false},{"in":"[[7[1]]]","ok":false},{"in":"tt}","ok":false},{"in":"{\"a:[1,{\"b\":7ull]}","ok":false},{"in":"N1E+[","ok":false},{"in":"c\"\\ub.800\"","ok":false},{"in":"1.Ne.","ok":false},{"in":"b{\"a\":010}","ok":false},{"in":"7Infiniy","ok":false},{"in":"\".'","ok":false},{"in":"unde\"ined","ok":false},{"in":"\"\\u\\d8N0","ok":false},{"in":"/false","ok":false},{"in":"\\5.","ok":false},{"in":".\\ud800","ok":false},{"in":"trut","ok":false},{"in":"'","ok":false},{"in":"tIN/nfinity","ok":false},{"in":"X-.X5e-3","ok":false},{"in":"7[1,,]","ok":false},{"in":"'a':'b'}","ok":true,"out":"\"a\""},{"in":"[5b","ok":false},{"in":"{\"3a\"010}[","ok":false},{"in":"ue","ok":false},{"in":"X-N0","ok":false},{"in":"\\.0X","ok":false},{"in":"1,2\\,3]","ok":true,"out":"1"},{"in":"\\-1.5e-3","ok":false},{"in":"\"\\u00e9\\ud83d\\ue00\"","ok":false},{"in":"\"N.0","ok":false},{"in":"[nu\\lb","ok":false},{"in":"XE+","ok":false},{"in":"[}t","ok":false},{"in":"N0\\0","ok":false},{"in":"\"1+5","ok":false},{"in":"//*tc*/","ok":true,"out":"\"*tc*/\""},{"in":"t..","ok":false},{"in":"[,\\]","ok":false},{"in":"[t]","ok":false},{"in":"new /Date(1)","ok":false},{"in":"[\\]","ok":false},{"in":"t5.","ok":false},{"in":"null,true,false]","ok":true,"out":"null"},{"in":"new DateXb1)","ok":false},{"in":"{'a't''}","ok":false},{"in":"X\"\"a\":[13{\"b\":null}]}","ok":false},{"in":"{\"a\":17\"A\":2}","ok":false},{"in":"bb 2","ok":false},{"in":"\"\\3u00e9\\ub83d\\ude00\"","ok":false},{"in":"\"a\"\\:1}","ok":true,"out":"\"a\""},{"in":"[n3ll,true,false]","ok":false},{"in":"-0/","ok":true,"out":"0"},{"in":"\"\\/ud800\"\\","ok":true,"out":"\"/ud800\""},{"in":"8b","ok":false},{"in":"/08","ok":false},{"in":"bnull,truefalse]","ok":false},{"in":"1E5t","ok":false},{"in":".5e3-3","ok":false},{"in":"../","ok":false},{"in":"01et7","ok":false},{"in":"3b 2","ok":false},{"in":"[1/*c/,2","ok":false},{"in":"{\"a\"\\N:1,\"A\":2}","ok":false},{"in":"X{\"a\":1}","ok":false},{"in":"1/*Xc*/,2]","ok":true,"out":"1"},{"in":"{'a':7\"b'.","ok":false},{"in":"\"\\udX0b\"","ok":false},{"in":"Ne0","ok":false},{"in":"ulXl/x.","ok":false},{"in":"[01008,t010]","ok":false},{"in":"[010,30X,010]","ok":false},{"in":"b5\\","ok":false},{"in":",1\\","ok":true,"out":"\"\""},{"in":"0x31","ok":true,"out":"49"},{"in":"\"\".3\"","ok":true,"out":"\"\""},{"in":"[,\".]","ok":false},{"in":"/aN","ok":false},{"in":"0X1F","ok":true,"out":"31"},{"in":"\"\\u00e9\\u83d\\ude00\"","ok":false},{"in":"/-00","ok":false},{"in":"\"\\u00e9\\ud83dbude00\"","ok":true,"out":"\"é�bude00\""},{"in":"Null/x","ok":false},{"in":"1.\"e","ok":false},{"in":"{a:1\\}","ok":false},{"in":"\"a\":01","ok":true,"out":"\"a\""},{"in":"{\"a\"[0.10}","ok":false},{"in":"0\"1F","ok":false},{"in":"*c/13","ok":false},{"in":"NX","ok":false},{"in":"\\N/N/","ok":false},{"in":"null/.x","ok":false},{"in":"Xullb","ok":false},{"in":"1.5e-b3","ok":false},{"in":"tN","ok":false},{"in":"{a:1X","ok":false},{"in":"\"t}","ok":false},{"in":"3ew Date(1)","ok":false},{"in":"\".ud800\"","ok":true,"out":"\".ud800\""},{"in":"{.a\":00}","ok":false},{"in":"0.b1b1.","ok":false},{"in":"7NaN","ok":false},{"in":"1/*c*/\\","ok":true,"out":"1"},{"in":"[null,tr3e,false]","ok":false},{"in":"\":1}","ok":false},{"in":".'a':'b'}","ok":false},{"in":"ab","ok":false},{"in":"[1//**/,2]","ok":false},{"in":"\\00","ok":false},{"in":"\"\\u00e9\\ud83d\\udt/700\"","ok":false},{"in":"NI\\nfinty","ok":false},{"in":"ull/","ok":false},{"in":"n[ll","ok":false},{"in":"\"a\":}","ok":true,"out":"\"a\""},{"in":"/.","ok":false},{"in":"X\\N{}","ok":false},{"in":"[010,08,-030]","ok":false},{"in":"/3c/1","ok":false},{"in":"[1/,2]","ok":false},{"in":"00.5\"","ok":false},{"in":"[,1","ok":false},{"in":"N] .b","ok":false},{"in":"new b3Date(1)","ok":true,"out":"\"new b3Date(\\n 1\\n)\""},{"in":"[\\.","ok":false},{"in":" t","ok":false},{"in":".\\ud80\"","ok":false},{"in":"1,3]","ok":true,"out":"1"},{"in":"01e/","ok":false},{"in":"b0e0","ok":false},{"in":"77N","ok":false},{"in":"baN","ok":false},{"in":"[.}","ok":false},{"in":".1.5e-3","ok":false},{"in":"-0\"","ok":false},{"in":"N\"a\":1}","ok":false},{"in":"3be0/","ok":false},{"in":"t[[[1]]]","ok":false},{"in":"7010","ok":true,"out":"7010"},{"in":"-Infinbt","ok":false},{"in":"3ew Datbe(1)","ok":false},{"in":"[1,,t]","ok":false},{"in":".aN","ok":false},{"in":"/*c*/1N","ok":true,"out":"\"c\""},{"in":"{a:1.","ok":false},{"in":"\"n\"ll","ok":true,"out":"\"n\""},{"in":"7X","ok":false},{"in":"7\"a\"","ok":false},{"in":"undebf/ed","ok":false},{"in":"Nue","ok":false},{"in":"\"t","ok":false},{"in":"\\ba'","ok":false},{"in":"[7,]","ok":true,"out":"[\n 7\n]"},{"in":"undefineX","ok":false},{"in":".a:1b}","ok":false},{"in":"/*c\"31","ok":false},{"in":"tt10","ok":false},{"in":"\"\\u0e9\\td83d/ude00\"","ok":false},{"in":"1e1","ok":true,"out":"10"},{"in":"\\ 2","ok":false},{"in":"\"1/*c*/[","ok":false},{"in":"{\"a\":[1,{\"b:null7}]}","ok":false},{"in":"ew ate()","ok":false},{"in":"\"new Date(1)","ok":false},{"in":"3010,08,-0\\0]","ok":true,"out":"3010"},{"in":"3.1,2,]","ok":true,"out":"3.1"},{"in":"53","ok":true,"out":"53"},{"in":"nll,tre,false]","ok":false},{"in":"0.1X","ok":false},{"in":"1*c*","ok":false},{"in":"[,1]X","ok":true,"out":"[\n \"\",\n 1\n]"},{"in":"f3ase","ok":false},{"in":"Xe5","ok":false},{"in":"5\\","ok":false},{"in":",1b.","ok":true,"out":"\"\""},{"in":"XX]N","ok":false},{"in":"\"010","ok":false},{"in":"\"\\u00e9\\3ud83d\\ude007\"","ok":false},{"in":".u\"","ok":false},{"in":"\\0[","ok":false},{"in":"7\"0","ok":false},{"in":"12345678t0234567890","ok":false},{"in":"\\null/x","ok":false},{"in":"null\"","ok":false},{"in":"\\ull/Nx","ok":false},{"in":"t0.0","ok":false},{"in":"udN00\"","ok":false},{"in":"-I.nfinityX","ok":false},{"in":"New bate(1)","ok":false},{"in":"tru\\","ok":false},{"in":"[010,08,01\\0]","ok":false},{"in":"10\\","ok":false},{"in":"\\Infinit","ok":false},{"in":"ull\\.x","ok":false},{"in":"[n[ull,true,false][","ok":false},{"in":"[1,23]","ok":true,"out":"[\n 1,\n 23\n]"},{"in":"70.X","ok":false},{"in":"btru","ok":false},{"in":"{'a':'b'[","ok":false},{"in":"a:1}[","ok":false},{"in":"7Infinit","ok":false},{"in":"\"NaN","ok":false},{"in":"[00","ok":false},{"in":"trNe","ok":false},{"in":"[0N.008,-010]","ok":false},{"in":"X}","ok":false},{"in":"[01,08,-010","ok":false},{"in":"Xt","ok":false},{"in":",]","ok":true,"out":"\"\""},{"in":"unde/i[e","ok":false},{"in":"{\"\"\":1,\"A\":2}","ok":false},{"in":"X-00","ok":false},{"in":"t{\"a\"7:010\\}","ok":false},{"in":"[\\5","ok":false},{"in":"t00","ok":false},{"in":"1/5b-3","ok":true,"out":"1"},{"in":"nullb","ok":false},{"in":"b5.","ok":false},{"in":"1/*cb*/","ok":true,"out":"1"},{"in":"N00.","ok":false},{"in":"7{'a':'b'}","ok":false},{"in":"\"]b","ok":false},{"in":"t53","ok":false},{"in":"/+5","ok":false},{"in":"\"[\\1,,2]","ok":false},{"in":"/\"\\u00e9\\/d83dude00\"","ok":false},{"in":"nu\"ll","ok":false},{"in":"\"\"a\":1,\"A\":2}","ok":true,"out":"\"\""},{"in":"b3","ok":false},{"in":"-In.finty","ok":false},{"in":"Xt00","ok":false},{"in":"{","ok":false},{"in":"t] ","ok":false},{"in":"0.","ok":true,"out":"0"},{"in":"0x/1F","ok":false},{"in":".0N","ok":false},{"in":"\\-00","ok":false},{"in":"[.a'","ok":false},{"in":"[1/*c\"/,2]","ok":false},{"in":"\"\\ud.8\\0X\"","ok":false},{"in":"/t","ok":false},{"in":".new Date(1","ok":false},{"in":".N0","ok":false},{"in":"1E+[3","ok":false},{"in":" b2","ok":false},{"in":"nXull","ok":false},{"in":"7.e0","ok":true,"out":"7"},{"in":"\\\"","ok":false},{"in":"\"a\":1,\"A\":2.","ok":true,"out":"\"a\""},{"in":"15Xe-3","ok":false},{"in":"nbl/x","ok":false},{"in":"Nnfnity","ok":false},{"in":".8t","ok":false},{"in":"/nullX/x","ok":false},{"in":"[.,]","ok":false},{"in":"ewtDate31)","ok":false},{"in":"null\\","ok":false},{"in":"0X8","ok":true,"out":"8"},{"in":"[1,N","ok":false},{"in":"bnul\\l/x","ok":false},{"in":"\"3","ok":false},{"in":"\"{\"a\":010}","ok":true,"out":"\"{\""},{"in":"['a'","ok":false},{"in":"undefiNeb","ok":false},{"in":"t[/1","ok":false},{"in":"XNaNt","ok":false},{"in":"-7","ok":true,"out":"-7"},{"in":"[010,0[8,-010]","ok":false},{"in":"ll","ok":false},{"in":"\\ew NNDate(1)","ok":false},{"in":"12,3]","ok":true,"out":"12"},{"in":"{\"a\":[1,\"b\":null}]}","ok":false},{"in":"N/*.c/1","ok":false},{"in":"{\"a\":[1,{\"\":null\"}]}","ok":false},{"in":".1e5","ok":true,"out":"10000"},{"in":"7/fa\"lse","ok":true,"out":"7"},{"in":"7c*/","ok":false},{"in":"7ew Nate(1)","ok":false},{"in":"Infinitby","ok":false},{"in":".[N","ok":false},{"in":"1N.N5e3","ok":false},{"in":"[1t,,2]","ok":false},{"in":".[0b0,08,-010]","ok":false},{"in":"[nll,true,falte]/","ok":false},{"in":"fa\"l/se","ok":false},{"in":"1.e-3","ok":true,"out":"0.001"},{"in":"Itfinity","ok":false},{"in":"[.]","ok":false},{"in":"0x.7F","ok":false},{"in":"ttrue","ok":false},{"in":"N[0.1e1","ok":false},{"in":"..t0.5","ok":false},{"in":"Infinitt","ok":false},{"in":"Infini3ty.","ok":false},{"in":"/\\,]","ok":false},{"in":"t\"0","ok":false},{"in":"unde7fined","ok":false},{"in":"b0.5","ok":false},{"in":"0.1eX","ok":false},{"in":"\\nfinit","ok":false},{"in":"\"null,rue,false]","ok":false},{"in":"et","ok":false},{"in":"0\\","ok":false},{"in":"] x/b","ok":false},{"in":"7t0e0","ok":false},{"in":"N/b}","ok":false},{"in":"[nu\\ll,true,f3alse]","ok":false},{"in":"t/.u/","ok":false},{"in":"\"\\ud800\"\"","ok":true,"out":"\"�\""},{"in":"5t3","ok":false},{"in":"{\"a\":1,\"A\":2}\\","ok":true,"out":"{\n \"a\": 2\n}"},{"in":".1eb1","ok":false},{"in":"N/N*c*/","ok":false},{"in":"aX1}","ok":false},{"in":"[330","ok":false},{"in":"-Inftinity","ok":false},{"in":"[null,true,false","ok":false},{"in":",t1","ok":true,"out":"\"\""},{"in":"1N+5","ok":false},{"in":"b.t/","ok":false},{"in":"]t","ok":false},{"in":".10X","ok":false},{"in":"/null,true,false]","ok":false},{"in":"7-1.5e-","ok":false},{"in":"3[,1","ok":false},{"in":"b\\1,,2]","ok":false},{"in":"[1N3","ok":false},{"in":"-07","ok":true,"out":"-7"},{"in":"3-00","ok":false},{"in":"t010","ok":false},{"in":"[2","ok":false},{"in":"[X \\x","ok":false},{"in":"tue","ok":false},{"in":"\"1b /2","ok":false},{"in":".15","ok":true,"out":"0.15"},{"in":"[]X","ok":true,"out":"[]"},{"in":"{\\\\","ok":false},{"in":"N0X1bF","ok":false},{"in":"\"\\1.5e-3","ok":false},{"in":"10[","ok":false},{"in":"{\"a[\":[1,{3\"b\":ull}]}","ok":false},{"in":"xF","ok":false},{"in":"[null,trNe,false]","ok":false},{"in":"a3","ok":false},{"in":"0N","ok":false},{"in":"01e","ok":false},{"in":"X1 2","ok":false},{"in":"new Dae1)","ok":false},{"in":"-I\\nfinNty","ok":false},{"in":"X*c*/1\"","ok":false},{"in":"\"a\":[1,b\"b\":null}]}","ok":true,"out":"\"a\""},{"in":"12345N678901234567890","ok":false},{"in":"1/\\3c*/,2]","ok":true,"out":"1"},{"in":".12","ok":true,"out":"0.12"},{"in":"[1\"/c*/,2]","ok":false},{"in":" 23","ok":true,"out":"23"}]⏎̸ | |
| @@ -0,0 +1,1 @@ | |||||
| 1 | + | [{"in":"null","ok":true,"out":"null"},{"in":"true","ok":true,"out":"true"},{"in":"false","ok":true,"out":"false"},{"in":"NaN","ok":true,"out":"NaN"},{"in":"Infinity","ok":true,"out":"Infinity"},{"in":"-Infinity","ok":true,"out":"-Infinity"},{"in":"undefined","ok":true,"out":"\"\""},{"in":"0","ok":true,"out":"0"},{"in":"-0","ok":true,"out":"0"},{"in":"010","ok":true,"out":"8"},{"in":"08","ok":false},{"in":"0x1F","ok":true,"out":"31"},{"in":"1.5e3","ok":true,"out":"1500"},{"in":".5","ok":true,"out":"0.5"},{"in":"5.","ok":true,"out":"5"},{"in":"12345678901234567890","ok":true,"out":"1.23456789012346E+19"},{"in":"\"a\"","ok":true,"out":"\"a\""},{"in":"'a'","ok":true,"out":"\"a\""},{"in":"\"\\u00e9\\ud83d\\ude00\"","ok":true,"out":"\"é😀\""},{"in":"\"\\ud800\"","ok":true,"out":"\"�\""},{"in":"[]","ok":true,"out":"[]"},{"in":"{}","ok":true,"out":"{}"},{"in":"[1,2,3]","ok":true,"out":"[\n 1,\n 2,\n 3\n]"},{"in":"[1,]","ok":true,"out":"[\n 1\n]"},{"in":"[,1]","ok":true,"out":"[\n \"\",\n 1\n]"},{"in":"[1,,2]","ok":true,"out":"[\n 1,\n \"\",\n 2\n]"},{"in":"{\"a\":1}","ok":true,"out":"{\n \"a\": 1\n}"},{"in":"{\"a\":1,\"A\":2}","ok":true,"out":"{\n \"a\": 2\n}"},{"in":"{a:1}","ok":true,"out":"{\n \"a\": 1\n}"},{"in":"{'a':'b'}","ok":true,"out":"{\n \"a\": \"b\"\n}"},{"in":"{\"a\":[1,{\"b\":null}]}","ok":true,"out":"{\n \"a\": [\n 1,\n {\n \"b\": null\n }\n ]\n}"},{"in":"[[[1]]]","ok":true,"out":"[\n [\n [\n 1\n ]\n ]\n]"},{"in":"[null,true,false]","ok":true,"out":"[\n null,\n true,\n false\n]"},{"in":"1 2","ok":true,"out":"1"},{"in":"[] x","ok":true,"out":"[]"},{"in":",","ok":true,"out":"\"\""},{"in":",1","ok":true,"out":"\"\""},{"in":"/*c*/1","ok":true,"out":"\"c\""},{"in":"1/*c*/","ok":true,"out":"1"},{"in":"[1/*c*/,2]","ok":true,"out":"[\n 1,\n 2\n]"},{"in":"null/x","ok":false},{"in":"new Date(1)","ok":true,"out":"\"new Date(\\n 1\\n)\""},{"in":"[010,08,-010]","ok":false},{"in":"{\"a\":010}","ok":true,"out":"{\n \"a\": 8\n}"},{"in":"1e5","ok":true,"out":"100000"},{"in":"1E+5","ok":true,"out":"100000"},{"in":"-1.5e-3","ok":true,"out":"-0.0015"},{"in":"0.1e1","ok":true,"out":"1"},{"in":"0e0","ok":true,"out":"0"},{"in":"00","ok":true,"out":"0"},{"in":"-00","ok":true,"out":"0"},{"in":"0.0","ok":true,"out":"0"},{"in":"00.5","ok":false},{"in":"\"\\u00e9[\\ud83d\\ud00","ok":false},{"in":"t8/*cN*/","ok":false},{"in":"0x\\1F","ok":false},{"in":"[[[1]]]/","ok":true,"out":"[\n [\n [\n 1\n ]\n ]\n]"},{"in":"b00","ok":false},{"in":"t'ta'","ok":false},{"in":"{\"a\"/010}","ok":false},{"in":"3-.5e-3","ok":false},{"in":"[1e5X","ok":false},{"in":"0.te1","ok":false},{"in":"1.N5e7","ok":false},{"in":"{ab1}","ok":false},{"in":"N0e0","ok":false},{"in":"Nx.F","ok":false},{"in":"[rueX","ok":false},{"in":"[null,truef\\lse]","ok":false},{"in":"\"\\u00e\\9\\ud83d\\ude0\"","ok":false},{"in":".un3efi3ned","ok":false},{"in":"treb","ok":false},{"in":".-","ok":false},{"in":"bNaN","ok":false},{"in":"//*c*/1","ok":true,"out":"\"*c*/1\""},{"in":"1E3+t","ok":false},{"in":".53","ok":true,"out":"0.53"},{"in":"7.","ok":true,"out":"7"},{"in":"[1,","ok":false},{"in":"/[1/c*/,2]","ok":false},{"in":"\".a.:1}","ok":false},{"in":"\"\\u00e9\\ud83\\ude0\"","ok":false},{"in":"X.0","ok":false},{"in":"{X}","ok":false},{"in":"\\/10","ok":false},{"in":"nullNx","ok":false},{"in":"X01e\\","ok":false},{"in":"E\"+","ok":false},{"in":"{\"a\":[1,{\"b\"7:null}]}","ok":false},{"in":"1/3*c*/","ok":true,"out":"1"},{"in":"\\null7","ok":false},{"in":"\"XE+","ok":false},{"in":"\\.0","ok":false},{"in":"3","ok":true,"out":"3"},{"in":"3'a':'b'.}","ok":false},{"in":"3{","ok":false},{"in":"{\"a010}","ok":false},{"in":"1..b5e","ok":false},{"in":"undefibed","ok":false},{"in":"\\N00","ok":false},{"in":"a:1}","ok":false},{"in":"{\"a\":00N}","ok":false},{"in":"\"\\u00e.\\ud83d\\ude00\"","ok":false},{"in":"\"[1,2,3]","ok":false},{"in":"{\"\":1,\"A:2}","ok":false},{"in":"3] x","ok":true,"out":"3"},{"in":"[1\\]","ok":false},{"in":"\"","ok":false},{"in":"7[1,]","ok":false},{"in":"70.1e1","ok":true,"out":"701"},{"in":"-Infinit\"y","ok":false},{"in":"[nult,\"true,false]","ok":false},{"in":"trute","ok":false},{"in":".0x1","ok":false},{"in":",X1","ok":true,"out":"\"\""},{"in":"b{\"a\":1}","ok":false},{"in":"/*c*\"","ok":false},{"in":"300","ok":true,"out":"300"},{"in":".efined","ok":false},{"in":"Xa'","ok":false},{"in":"7//*c*/","ok":true,"out":"7"},{"in":"undeined","ok":false},{"in":"{a31","ok":false},{"in":"ue[","ok":false},{"in":"}","ok":false},{"in":"7\"\":010}","ok":false},{"in":"\\b[1/*c*/,2]","ok":false},{"in":"[5b.","ok":false},{"in":"12\\45678/01234567890","ok":false},{"in":"N':'b'}","ok":false},{"in":"","ok":false},{"in":"0[","ok":false},{"in":"1E5","ok":true,"out":"100000"},{"in":"7a:1b","ok":false},{"in":"7X08","ok":false},{"in":"[1/*c*/\\3,2]","ok":false},{"in":"[1/*c*7,2]","ok":false},{"in":"1/c[","ok":true,"out":"1"},{"in":"'tNueb","ok":false},{"in":"t.u","ok":false},{"in":"[] xb","ok":true,"out":"[]"},{"in":"\\0be1","ok":false},{"in":"30[","ok":false},{"in":"b1\\5","ok":false},{"in":".0.1e1","ok":false},{"in":"t[] x","ok":false},{"in":"\\\\u00e9\\ud83d\\de00\"","ok":false},{"in":"\\u0Xe9\\3ud83d\\ude00\"","ok":false},{"in":"1.3e3","ok":true,"out":"1300"},{"in":"3.1","ok":true,"out":"3.1"},{"in":"00.","ok":false},{"in":"0x3/F","ok":true,"out":"3"},{"in":"[1]","ok":true,"out":"[\n 1\n]"},{"in":"t. x","ok":false},{"in":"123456789012345[7890","ok":false},{"in":"at","ok":false},{"in":"{'a':'b'X}","ok":false},{"in":"t.","ok":false},{"in":"1XX","ok":false},{"in":"1,2,3]","ok":true,"out":"1"},{"in":"-","ok":false},{"in":"[null,true,flse]","ok":false},{"in":"nfinit","ok":false},{"in":"0x1/F","ok":true,"out":"1"},{"in":"\"\"\\d/00\"","ok":true,"out":"\"\""},{"in":"\"[null,true,false]","ok":false},{"in":"00\\5","ok":false},{"in":"t.e5","ok":false},{"in":"10","ok":true,"out":"10"},{"in":"X'ab'","ok":false},{"in":"In\\finiy/","ok":false},{"in":"Na'","ok":false},{"in":".*c*[1","ok":false},{"in":"/*c*/[1","ok":true,"out":"\"c\""},{"in":"I.nfinitb.y","ok":false},{"in":"\\0","ok":false},{"in":"\"\\u00e9\\ud83d\\Nde00\"","ok":false},{"in":"t[ue","ok":false},{"in":"/**/","ok":true,"out":"\"\""},{"in":"[17,[]","ok":false},{"in":".ull7","ok":false},{"in":".5e[X3","ok":false},{"in":"07x1F","ok":false},{"in":"\"30","ok":false},{"in":"}N","ok":false},{"in":"b1/*c*/[7]","ok":false},{"in":"3be\"","ok":false},{"in":"3-0","ok":false},{"in":"\\10","ok":false},{"in":"...5","ok":false},{"in":".0","ok":true,"out":"0"},{"in":" 2","ok":true,"out":"2"},{"in":"010\"08,-010]","ok":false},{"in":"{\"a\"1,\"A\":2N","ok":false},{"in":"\\0e0","ok":false},{"in":"X1.5e-3","ok":false},{"in":"a'","ok":false},{"in":"[010,08,-00]","ok":false},{"in":"0x\\1F\"","ok":false},{"in":"[1/*c*//,2]","ok":false},{"in":"05","ok":true,"out":"5"},{"in":"[/[[1]]]","ok":false},{"in":"ne /Date(1)","ok":false},{"in":"treX","ok":false},{"in":"NX\"0","ok":false},{"in":".a:1}","ok":false},{"in":"nNll/x","ok":false},{"in":"\\","ok":false},{"in":"b/a\"'","ok":false},{"in":"/,1]","ok":false},{"in":" N2","ok":false},{"in":".x1","ok":false},{"in":"[1,,7].","ok":true,"out":"[\n 1,\n \"\",\n 7\n]"},{"in":"[010,08,-010","ok":false},{"in":"71b5","ok":false},{"in":"[e0","ok":false},{"in":"[1\",2]","ok":false},{"in":"[3/*c*/,2]","ok":true,"out":"[\n 3,\n 2\n]"},{"in":"[5X","ok":false},{"in":"nultl","ok":false},{"in":"/Na","ok":false},{"in":"b.b","ok":false},{"in":"[null,true.false","ok":false},{"in":"\"ul7\"","ok":true,"out":"\"ul7\""},{"in":"[null,Xrue,f/alsNe]","ok":false},{"in":"08.","ok":false},{"in":"3.ud800\"","ok":false},{"in":"\"\\u00e9\\ud83\\\\ude0b\"","ok":false},{"in":"X[1,2,3]","ok":false},{"in":"7","ok":true,"out":"7"},{"in":"{\"a\":[X1,{\"b\":null}]}","ok":false},{"in":"nu.l/x","ok":false},{"in":"bnullx","ok":false},{"in":"X","ok":false},{"in":"\"\"a\":[1,N{\"b\":null}]}","ok":true,"out":"\"\""},{"in":"[] x[","ok":true,"out":"[]"},{"in":"[] ","ok":true,"out":"[]"},{"in":"[1*c*/,2","ok":false},{"in":"/","ok":false},{"in":"\"In/finty","ok":false},{"in":"b\"","ok":false},{"in":"null/x3","ok":false},{"in":"Intiniy[","ok":false},{"in":"t0e","ok":false},{"in":"t","ok":false},{"in":"\".\\u800\"","ok":false},{"in":"e5\"","ok":false},{"in":"[[1]]]","ok":true,"out":"[\n [\n 1\n ]\n]"},{"in":"N.5e/3","ok":false},{"in":"{\"[a\"[:00}","ok":false},{"in":"7[ul\"/x","ok":false},{"in":"X08","ok":false},{"in":"{\"a\":[1,{\"b\":null}]}3","ok":true,"out":"{\n \"a\": [\n 1,\n {\n \"b\": null\n }\n ]\n}"},{"in":"N","ok":false},{"in":"[","ok":false},{"in":"7\"a\":010}","ok":false},{"in":".5t","ok":false},{"in":"\"[1,]","ok":false},{"in":"00\\","ok":false},{"in":"[N,]","ok":false},{"in":"[nfiity","ok":false},{"in":"-Inf[init\"","ok":false},{"in":"\"a\"\\X:010}","ok":true,"out":"\"a\""},{"in":"INf[nit\\","ok":false},{"in":"1.7e3","ok":true,"out":"1700"},{"in":"\\\"'a","ok":false},{"in":"738","ok":true,"out":"738"},{"in":"new XDate(1)","ok":true,"out":"\"new XDate(\\n 1\\n)\""},{"in":"3undef/ined","ok":false},{"in":".[[[1]]]","ok":false},{"in":"trt\\ue","ok":false},{"in":"/ll/x","ok":false},{"in":"{\"a\":[1,{\"b\":nuNll}]/","ok":false},{"in":"12345678901234567890\\","ok":false},{"in":"{a1}","ok":false},{"in":"{\"\":1,\"A\":2}","ok":true,"out":"{\n \"\": 1,\n \"A\": 2\n}"},{"in":"1","ok":true,"out":"1"},{"in":"X/*c*/1X","ok":false},{"in":"fa[s\"3","ok":false},{"in":"X0","ok":false},{"in":"t1 2","ok":false},{"in":"/null,t[rue,fale]","ok":false},{"in":"1.5e33","ok":true,"out":"1.5E+33"},{"in":"[8.","ok":false},{"in":".5e3","ok":true,"out":"500"},{"in":"new ate(\\1X)","ok":false},{"in":"falst","ok":false},{"in":"\\/\"a\":17}","ok":false},{"in":"[00,08,.-010","ok":false},{"in":"[] 3x","ok":true,"out":"[]"},{"in":"true[N","ok":false},{"in":"2/","ok":true,"out":"2"},{"in":"[0.","ok":false},{"in":"u\"ll/x","ok":false},{"in":"b/e0","ok":false},{"in":"\\NX0","ok":false},{"in":"\"\\ud8\"00\"","ok":false},{"in":"N.0","ok":false},{"in":"31E+","ok":false},{"in":"[[X1]]]","ok":false},{"in":"\"t\":1}","ok":true,"out":"\"t\""},{"in":"7b08.","ok":false},{"in":"[5.N[","ok":false},{"in":"[1,3]","ok":true,"out":"[\n 1,\n 3\n]"},{"in":"{\"a\":1,\"A:23}","ok":false},{"in":".00","ok":true,"out":"0"},{"in":"123745678901X34567890","ok":false},{"in":"\"undefined","ok":false},{"in":"\\[[1]]]","ok":false},{"in":"{'a'\\:'b'}","ok":false},{"in":"Xa\"","ok":false},{"in":"\\{\"a\":1}","ok":false},{"in":"]X","ok":false},{"in":"undebine3d","ok":false},{"in":"3e0","ok":true,"out":"3"},{"in":"new 3Datet1)","ok":false},{"in":"01F","ok":false},{"in":".]","ok":false},{"in":"[00,08,-010]","ok":false},{"in":"t[]","ok":false},{"in":"[\"","ok":false},{"in":"t.e","ok":false},{"in":"b/","ok":false},{"in":"1F","ok":false},{"in":".08X","ok":false},{"in":"\"3\\]","ok":false},{"in":"[0","ok":false},{"in":"1E+7/","ok":true,"out":"10000000"},{"in":"\\a'","ok":false},{"in":"7,b\"","ok":true,"out":"7"},{"in":"]","ok":false},{"in":"1\\2345678901234567890","ok":false},{"in":"0x1.","ok":false},{"in":"N'a'","ok":false},{"in":"\"\\u0e9\\ud83d\\ude00\"","ok":false},{"in":"t1+5","ok":false},{"in":"XX1]3","ok":false},{"in":"tnNw Date(1)","ok":false},{"in":"'\\","ok":false},{"in":"71 2","ok":true,"out":"71"},{"in":"3ublb","ok":false},{"in":"trtuX","ok":false},{"in":".,7","ok":false},{"in":"{\"a\"N1,\"[\"32}","ok":false},{"in":"N,1","ok":false},{"in":"X1t2345678901.34567890","ok":false},{"in":"a1,2,3]","ok":false},{"in":"b[[[1]]]","ok":false},{"in":"\"\\u00te9\\ud83d\\ude00\"","ok":false},{"in":"X1/*c*/","ok":false},{"in":"N1. 23","ok":false},{"in":"1/*.*/","ok":true,"out":"1"},{"in":"[1[,2","ok":false},{"in":"t10","ok":false},{"in":"[1N,23","ok":false},{"in":"'a':'b'","ok":true,"out":"\"a\""},{"in":"Infinity3","ok":false},{"in":"X[[1]]]","ok":false},{"in":".0e","ok":false},{"in":"3.","ok":true,"out":"3"},{"in":".null,tr\"ue,false]","ok":false},{"in":"e5","ok":false},{"in":"e0","ok":false},{"in":"\"\\ud8007\"","ok":true,"out":"\"�7\""},{"in":"ull","ok":false},{"in":".5e-3","ok":true,"out":"0.0005"},{"in":"X1/7Nc*/","ok":false},{"in":"\"\\ud800\"7","ok":true,"out":"\"�\""},{"in":".1e1","ok":true,"out":"1"},{"in":".70","ok":true,"out":"0.7"},{"in":" 2.","ok":true,"out":"2"},{"in":"b0.1e\"","ok":false},{"in":"1/*c/","ok":true,"out":"1"},{"in":"31,2,3]","ok":true,"out":"31"},{"in":"{at:1","ok":false},{"in":"/c*/1","ok":false},{"in":"1E+[","ok":false},{"in":".t[ue","ok":false},{"in":"a","ok":false},{"in":"-X3","ok":false},{"in":"5'","ok":false},{"in":"\"\\ud8t00\"","ok":false},{"in":"[.1]","ok":true,"out":"[\n 0.1\n]"},{"in":"/010","ok":false},{"in":"t.0","ok":false},{"in":"\\\",]","ok":false},{"in":"{a:1N}","ok":false},{"in":"007","ok":true,"out":"7"},{"in":"[.","ok":false},{"in":"b.1","ok":false},{"in":"\\5.b","ok":false},{"in":"\"\\ud80\"","ok":false},{"in":"\\1]","ok":false},{"in":"3,]","ok":true,"out":"3"},{"in":"1.5e73","ok":true,"out":"1.5E+73"},{"in":"3e5","ok":true,"out":"300000"},{"in":"{'a':''}","ok":true,"out":"{\n \"a\": \"\"\n}"},{"in":"33","ok":true,"out":"33"},{"in":"0.5","ok":true,"out":"0.5"},{"in":"X,N1]","ok":false},{"in":"unde/fited","ok":false},{"in":".3e3","ok":true,"out":"300"},{"in":"{\"/\"[1,{\"b7\":null}]}","ok":false},{"in":"new Date71)","ok":false},{"in":"nulltrue,fale]","ok":false},{"in":"1.5e","ok":false},{"in":"12345678\\01[34567890","ok":false},{"in":"{\"a\":[1,{\"b\":null}]t","ok":false},{"in":"/ull/x","ok":false},{"in":"tb[[1]]]","ok":false},{"in":"/ue","ok":false},{"in":"{'a''b'","ok":false},{"in":"0x1\"/","ok":false},{"in":"[I\"nfinitb","ok":false},{"in":"{a31.","ok":false},{"in":"{\"a\":1,\"A\":2N","ok":false},{"in":"3a'","ok":false},{"in":"70.5","ok":true,"out":"70.5"},{"in":"tnew Datet1/","ok":false},{"in":"\"\\u00e\\udt83d\\ude00\"","ok":false},{"in":"/nfinity","ok":false},{"in":"3.0.","ok":false},{"in":"\\u00e9\\ud83d\\ude00\"","ok":false},{"in":"-Infinbity","ok":false},{"in":"{\"a\":[1,{\"b[:null}]}","ok":false},{"in":"[]b","ok":true,"out":"[]"},{"in":"ntew ate\"1)","ok":false},{"in":"[1,2","ok":false},{"in":"0b0","ok":false},{"in":"t[1,b2,3]","ok":false},{"in":"tr.e","ok":false},{"in":".t0","ok":false},{"in":"/\\10","ok":false},{"in":"\"0","ok":false},{"in":"tr.u3","ok":false},{"in":"71[/*c*/","ok":false},{"in":"\"\"\":010}","ok":true,"out":"\"\""},{"in":"] 7x","ok":false},{"in":"3NN","ok":false},{"in":"t\\ue","ok":false},{"in":"[b\"a\":1}","ok":false},{"in":"[1,3,2]","ok":true,"out":"[\n 1,\n 3,\n 2\n]"},{"in":"/[1,2,\\3]","ok":false},{"in":"[NNa\"","ok":false},{"in":"{\"a\":1,\"A\"32}","ok":false},{"in":"[b x","ok":false},{"in":".[1,2,3]","ok":false},{"in":"3 2","ok":true,"out":"3"},{"in":"[[./]]","ok":false},{"in":"\"\\u00e9\\\\d83d\\ude00\"","ok":true,"out":"\"é\\\\d83d�\""},{"in":"{\"a\":1,\".\".2","ok":false},{"in":"/*.c*/1","ok":true,"out":"\".c\""},{"in":"-.0","ok":true,"out":"-0"},{"in":"Infinity.","ok":false},{"in":"[t,","ok":false},{"in":"{'ba':'b'}","ok":true,"out":"{\n \"ba\": \"b\"\n}"},{"in":"[/","ok":false},{"in":"X-Infinity","ok":false},{"in":"-I]nfinity","ok":false},{"in":"[,]","ok":true,"out":"[\n \"\"\n]"},{"in":"aN","ok":false},{"in":"0b","ok":false},{"in":"00[5","ok":false},{"in":"1234567890234567890","ok":true,"out":"1.23456789023457E+18"},{"in":"{'a'.'b'}","ok":false},{"in":"bull7/","ok":false},{"in":"-Ifiity","ok":false},{"in":"123456789012345678390","ok":true,"out":"1.23456789012346E+20"},{"in":".false","ok":false},{"in":"1N234567/89012345/67890","ok":false},{"in":"0\"","ok":false},{"in":"un7e3ined","ok":false},{"in":"{\"3\":00}","ok":true,"out":"{\n \"3\": 0\n}"},{"in":"1/*c*/t","ok":true,"out":"1"},{"in":"[010,08,-0\\0t","ok":false},{"in":"/1,2,3]","ok":false},{"in":"Nr.u3","ok":false},{"in":",1[","ok":true,"out":"\"\""},{"in":"Infi[7\"y","ok":false},{"in":"[\\","ok":false},{"in":"{\"a\":1\",\"A\":2}","ok":false},{"in":"talse","ok":false},{"in":"[1/*c*/,2","ok":false},{"in":"\"aX\"1}","ok":true,"out":"\"aX\""},{"in":"[[1]]","ok":true,"out":"[\n [\n 1\n ]\n]"},{"in":"\"null","ok":false},{"in":"[[1]]X]","ok":true,"out":"[\n [\n 1\n ]\n]"},{"in":"t[\\,]","ok":false},{"in":"\\.7","ok":false},{"in":"[]x","ok":true,"out":"[]"},{"in":"t.5e-33","ok":false},{"in":"{\"a3\":[1,{\"b\":nullb}]}t","ok":false},{"in":"-Ininit","ok":false},{"in":"{\"\":13,\"A\"\"2}","ok":false},{"in":"\"-0X","ok":false},{"in":"/1/*cX/","ok":false},{"in":"-Inf3nity","ok":false},{"in":"fase","ok":false},{"in":"/ 2","ok":false},{"in":"{\"a\":[1,{\"b\":null}]/}","ok":false},{"in":"[ulNl","ok":false},{"in":"{a:1/\"}","ok":false},{"in":"\\NaN","ok":false},{"in":"\\new Date(1)","ok":false},{"in":"\"e5","ok":false},{"in":",1/]","ok":true,"out":"\"\""},{"in":"\\1EX","ok":false},{"in":".","ok":false},{"in":"b\"a\"","ok":false},{"in":"7.Xet1","ok":false},{"in":"[1/,X\"","ok":false},{"in":"2","ok":true,"out":"2"},{"in":"\"\\bu09\\ud83d\\ude00\"","ok":true,"out":"\"\\bu09😀\""},{"in":"Ininity","ok":false},{"in":"1234567890[23456789b0","ok":false},{"in":"XXa/lse","ok":false},{"in":"Infi\\i7y","ok":false},{"in":".0X","ok":false},{"in":"5./","ok":true,"out":"5"},{"in":"\\[1/*c*/,2]","ok":false},{"in":".{\".\":1}","ok":false},{"in":"t-1.5e-3","ok":false},{"in":"tNaN","ok":false},{"in":".5/","ok":true,"out":"0.5"},{"in":"\"7u00e9\\ud83d\\ude00\"","ok":true,"out":"\"7u00e9😀\""},{"in":"[1,2b,3]","ok":false},{"in":"ew Date(b1)","ok":false},{"in":"5","ok":true,"out":"5"},{"in":".7","ok":true,"out":"0.7"},{"in":"-Inf3ini7y","ok":false},{"in":"[aN","ok":false},{"in":"X1.","ok":false},{"in":"{ta\":00}","ok":false},{"in":"5/","ok":true,"out":"5"},{"in":"N.[N","ok":false},{"in":"1,,2N]","ok":true,"out":"1"},{"in":"[null,tr[e,false]","ok":false},{"in":"3.aN","ok":false},{"in":"t8","ok":false},{"in":"XaN","ok":false},{"in":"X00","ok":false},{"in":"{'a':'b'7X","ok":false},{"in":"0.e1","ok":true,"out":"0"},{"in":"/*ct*/1","ok":true,"out":"\"ct\""},{"in":"un.defined","ok":false},{"in":"[,","ok":false},{"in":"7\\{\"a\":1}","ok":false},{"in":"[] xNt","ok":true,"out":"[]"},{"in":"0X","ok":false},{"in":"newDate[(1)","ok":false},{"in":"Infini[y","ok":false},{"in":".0/0..","ok":true,"out":"0"},{"in":"\"\\u30e9\\ud83d\\ude00\"","ok":true,"out":"\"ラ😀\""},{"in":"[null,truefalse]","ok":false},{"in":"[010.,08,-010]","ok":false},{"in":"/010,08,-00]","ok":false},{"in":"t0e0","ok":false},{"in":"1/","ok":true,"out":"1"},{"in":"\"\\u00e9\\ud83d\\ude00\"t","ok":true,"out":"\"é😀\""},{"in":"new ate(1)","ok":true,"out":"\"new ate(\\n 1\\n)\""},{"in":"5X","ok":false},{"in":"3X,2,3]","ok":false},{"in":"N/*c*7/1","ok":false},{"in":"8","ok":true,"out":"8"},{"in":"] .x","ok":false},{"in":"1234X678901234567890","ok":false},{"in":"3[null,true,false]7","ok":false},{"in":"{\"a\":[1,{\"b\":null}\\]}","ok":false},{"in":"1234567890123457890","ok":true,"out":"1.23456789012346E+18"},{"in":"00.5b","ok":false},{"in":"Xnul","ok":false},{"in":"\".1eX17","ok":false},{"in":"3300t","ok":false},{"in":"N{\"a\":010}","ok":false},{"in":"Infinittb","ok":false},{"in":"{\"\":030}","ok":true,"out":"{\n \"\": 24\n}"},{"in":"new 7ate.1)","ok":false},{"in":"{a\"010}","ok":false},{"in":".1/\\c*/.2]","ok":true,"out":"0.1"},{"in":"3E+X","ok":false},{"in":"/a\"","ok":false},{"in":"1X0","ok":false},{"in":"[/*c*/","ok":false},{"in":"1/*c/,2]","ok":true,"out":"1"},{"in":"310","ok":true,"out":"310"},{"in":"0.1e","ok":false},{"in":"b","ok":false},{"in":"\\31]","ok":false},{"in":"{\"a\"31,\"A\"\"2}","ok":false},{"in":"[7}","ok":false},{"in":"{'':'b\"'}","ok":true,"out":"{\n \"\": \"b\\\"\"\n}"},{"in":"[nutll,true[alse]","ok":false},{"in":"t\"a\":[1,{\"7\"\":null}]}","ok":false},{"in":"123456890123567890","ok":true,"out":"1.23456890123568E+17"},{"in":"[010,08,-010[","ok":false},{"in":"{\"a\":1,\"A2\\","ok":false},{"in":"/,31","ok":false},{"in":"/[1,b2,3]7","ok":false},{"in":"[\"eb","ok":false},{"in":"[a'","ok":false},{"in":"N,1[N]","ok":false},{"in":"bull/x7","ok":false},{"in":"/3","ok":false},{"in":"tr.7e","ok":false},{"in":"[.5","ok":false},{"in":"rue","ok":false},{"in":"1.5e/","ok":false},{"in":".ull","ok":false},{"in":"{\"ba\":1,{\"b\":null}]}\"","ok":false},{"in":"0/","ok":true,"out":"0"},{"in":"tru[","ok":false},{"in":"b-Infinity","ok":false},{"in":"{\"a\":1,\"A\":2","ok":false},{"in":"\"{a:1}","ok":false},{"in":"{'a':'b'","ok":false},{"in":"00.t5","ok":false},{"in":"3{\"a\":1}","ok":false},{"in":"tre","ok":false},{"in":"Inf\"nity","ok":false},{"in":"{'a':'b'N}","ok":false},{"in":"1234567890134567890","ok":true,"out":"1.23456789013457E+18"},{"in":"7a/1}","ok":false},{"in":"70.0","ok":true,"out":"70"},{"in":"\\ud80\"","ok":false},{"in":"[1.5e-3","ok":false},{"in":"/1e5","ok":false},{"in":"X\"\\ud800\"","ok":false},{"in":"\"\\u00e9[Nud83d\\ude00\"","ok":true,"out":"\"é[Nud83d�\""},{"in":"3new Date(1)","ok":false},{"in":"1.57e-3","ok":true,"out":"0.00157"},{"in":".5X","ok":false},{"in":"-finity","ok":false},{"in":"t/*c*/1[X","ok":false},{"in":"1,\",3]","ok":true,"out":"1"},{"in":"\"a\":1}","ok":true,"out":"\"a\""},{"in":"/1","ok":false},{"in":"10,08,-01]","ok":true,"out":"10"},{"in":"ninity","ok":false},{"in":"t0N07","ok":false},{"in":"{a:1[","ok":false},{"in":"[.a.","ok":false},{"in":"a\"","ok":false},{"in":"\"-00","ok":false},{"in":"3\"10","ok":false},{"in":"0.1/","ok":true,"out":"0.1"},{"in":"/0.0","ok":false},{"in":"5.t","ok":false},{"in":"3a7\"","ok":false},{"in":"Nt0e0","ok":false},{"in":"70e0","ok":true,"out":"70"},{"in":"1/*c7/","ok":true,"out":"1"},{"in":"X'a':'\\b'","ok":false},{"in":",][","ok":true,"out":"\"\""},{"in":"{'a'\"'b'b","ok":false},{"in":"tnull,.rue,fal7se]","ok":false},{"in":"1\\345678901N34567\"90","ok":false},{"in":"/*cb]/","ok":false},{"in":"\\ull/x","ok":false},{"in":"700","ok":true,"out":"700"},{"in":"N{\"a\":1}","ok":false},{"in":"\\se","ok":false},{"in":"lse","ok":false},{"in":"[a\"","ok":false},{"in":" ","ok":false},{"in":"\"\\\\ud800\"\"","ok":true,"out":"\"\\\\ud800\""},{"in":"[null,.true,false3","ok":false},{"in":"[]t","ok":true,"out":"[]"},{"in":"bInfinity","ok":false},{"in":"[1/b*c*/,2]","ok":false},{"in":"17.5e-3","ok":true,"out":"0.0175"},{"in":"{'a':'b'/","ok":false},{"in":"\"a:1}","ok":false},{"in":"t 2","ok":false},{"in":"12[456780123456890","ok":false},{"in":"b.1e.1","ok":false},{"in":"30/0","ok":true,"out":"30"},{"in":"{'a':'b'\"","ok":false},{"in":"/0","ok":false},{"in":"1.5eX","ok":false},{"in":"t010,08,-00]","ok":false},{"in":"XN","ok":false},{"in":"{'a':'Nb'}","ok":true,"out":"{\n \"a\": \"Nb\"\n}"},{"in":"0\\8","ok":false},{"in":"[1,t","ok":false},{"in":"bew Date(1)","ok":false},{"in":"010,08,-X10]","ok":true,"out":"8"},{"in":"0.1","ok":true,"out":"0.1"},{"in":"[[1]","ok":false},{"in":"/*7*/1","ok":true,"out":"\"7\""},{"in":"1.5e\"3","ok":false},{"in":"[1/*X*/,2]","ok":true,"out":"[\n 1,\n 2\n]"},{"in":"t[t[1]]]","ok":false},{"in":"..1e1","ok":false},{"in":"1/b*/","ok":true,"out":"1"},{"in":"3X\\ud80\"","ok":false},{"in":"0.1et","ok":false},{"in":"X.e1","ok":false},{"in":"e[0","ok":false},{"in":"/*c*/17","ok":true,"out":"\"c\""},{"in":"3[] x","ok":false},{"in":"-Infni73ty","ok":false},{"in":"3{\"a\":010}","ok":false},{"in":"{'':'b'}","ok":true,"out":"{\n \"\": \"b\"\n}"},{"in":"X[1X,2,\"]","ok":false},{"in":"\"\\d800\"\"","ok":false},{"in":".{\"\":010","ok":false},{"in":"\"a\":1\"}","ok":true,"out":"\"a\""},{"in":"1E+5[","ok":false},{"in":",.1","ok":true,"out":"\"\""},{"in":"[1X*c*/7t]","ok":false},{"in":"N/","ok":false},{"in":"null,true,false].","ok":true,"out":"null"},{"in":"tnull/xb","ok":false},{"in":"7new Da.e(1)","ok":false},{"in":"\\0.","ok":false},{"in":"bxF","ok":false},{"in":"70","ok":true,"out":"70"},{"in":"t[1,2,3]","ok":false},{"in":"N{\"a\"1,\"A\"2}","ok":false},{"in":"nulbl","ok":false},{"in":"00\\/","ok":false},{"in":"\"010,08,-010","ok":false},{"in":"X-1.5e-3","ok":false},{"in":"[\",]","ok":false},{"in":"{\"a\":[1,{.b\":null}]}","ok":false},{"in":"{'3':''}","ok":true,"out":"{\n \"3\": \"\"\n}"},{"in":"[N1]","ok":false},{"in":"..5\\","ok":false},{"in":"nul","ok":false},{"in":"\"5","ok":false},{"in":".-1.5e-3","ok":false},{"in":"[nul,\"rue,false]","ok":false},{"in":"t,]","ok":false},{"in":"[ru","ok":false},{"in":"[null,tre,false]","ok":false},{"in":",1N","ok":true,"out":"\"\""},{"in":"n3\"l","ok":false},{"in":"{\"3a\":1,\"A\":2}","ok":true,"out":"{\n \"3a\": 1,\n \"A\": 2\n}"},{"in":"ne\\ ate()","ok":false},{"in":"3[[1]]]","ok":false},{"in":"\\u00e9\\/ud83d\\ude00\"","ok":false},{"in":"\"\\00e9\\Xud83d\\ude00\"","ok":false},{"in":"\"-0.","ok":false},{"in":"1.-3","ok":false},{"in":"1+5","ok":false},{"in":"\"t1[,,2]","ok":false},{"in":"XInfinbty","ok":false},{"in":"t123456790123567890","ok":false},{"in":"3,1","ok":true,"out":"3"},{"in":"\"3\\u00e9\\ud83d\\ude00\"","ok":true,"out":"\"3é😀\""},{"in":"0.N1et","ok":false},{"in":"[null,3rue,f/lse]","ok":false},{"in":"\"00","ok":false},{"in":"/{\"a\":010}","ok":false},{"in":"ul\\","ok":false},{"in":"{\"a/\":010","ok":false},{"in":"{\"a\":1,\"\":2}","ok":true,"out":"{\n \"a\": 1,\n \"\": 2\n}"},{"in":"Xull/x","ok":false},{"in":"null/x/","ok":false},{"in":"[01008,-010]","ok":false},{"in":"t-003/","ok":false},{"in":"1.5e\"/3","ok":false},{"in":"\\a\"","ok":false},{"in":",2,3]b","ok":true,"out":"\"\""},{"in":".08","ok":true,"out":"0.08"},{"in":"\"0[0","ok":false},{"in":"{\"a\":[1,{\"\\\"/:nul/}]}","ok":false},{"in":"]7","ok":false},{"in":"nutlt","ok":false},{"in":"0/1F","ok":true,"out":"0"},{"in":"{\"a\":1,\"bA\":b}","ok":false},{"in":"/-1.5e-3","ok":false},{"in":".ull/\\[","ok":false},{"in":"7010,08,-0\\10]","ok":true,"out":"7010"},{"in":"X\"a\"","ok":false},{"in":"nu7ll","ok":false},{"in":"undefiXe.","ok":false},{"in":"]/","ok":false},{"in":"ull/x\".","ok":false},{"in":"0.1Ne.1","ok":false},{"in":"{'7a\"':'b'}","ok":true,"out":"{\n \"7a\\\"\": \"b\"\n}"},{"in":"{\"a\":1,\"A\\2}","ok":false},{"in":"nul/x","ok":false},{"in":".5et","ok":false},{"in":"*c*/","ok":false},{"in":"[1/**/32X","ok":false},{"in":"b'a'","ok":false},{"in":"NN b2","ok":false},{"in":"\"[\\Nud8t00\"","ok":false},{"in":"a'\\","ok":false},{"in":"/t{'a':'b'}","ok":false},{"in":"{\"a\"7:1,\"bA\":2}","ok":false},{"in":"null/","ok":false},{"in":"-IXfinity","ok":false},{"in":"unefined","ok":false},{"in":"[1/*.c*/7b2]","ok":false},{"in":"-Infinitby","ok":false},{"in":"b-00","ok":false},{"in":"N[1,","ok":false},{"in":"7[[[1]]]","ok":false},{"in":"\\0N","ok":false},{"in":"\"\\ud800\"N","ok":true,"out":"\"�\""},{"in":"0x1F/","ok":true,"out":"31"},{"in":"1.5-3","ok":false},{"in":"[[1]/]]","ok":false},{"in":"/Nte5","ok":false},{"in":"InfiXiXXy","ok":false},{"in":"308X","ok":false},{"in":"[''.","ok":false},{"in":"X[/.5","ok":false},{"in":"\\[null,tru,false]","ok":false},{"in":"1/*\\*/","ok":true,"out":"1"},{"in":"7[]\"","ok":false},{"in":"{3a''X'}","ok":false},{"in":"nfinity","ok":false},{"in":"3und3fined","ok":false},{"in":"Nre","ok":false},{"in":"[/. x","ok":false},{"in":"7n\"inity","ok":false},{"in":"bud800\"","ok":false},{"in":"1E/+5","ok":false},{"in":"\"[","ok":false},{"in":"X5","ok":false},{"in":"[N,1X]","ok":false},{"in":"{'a':Xbb'}","ok":false},{"in":"3.5","ok":true,"out":"3.5"},{"in":"t00/","ok":false},{"in":"nul/[","ok":false},{"in":"7\\.5","ok":false},{"in":"[null,trbu3.false]","ok":false},{"in":"[010,08,-0\\/0","ok":false},{"in":",1]","ok":true,"out":"\"\""},{"in":"undeNined","ok":false},{"in":"08t","ok":false},{"in":"X-1.5e-/3","ok":false},{"in":"N.","ok":false},{"in":"083","ok":false},{"in":"1.5e-3","ok":true,"out":"0.0015"},{"in":"\"\\u00e9\\ud83d\\ude0","ok":false},{"in":"33[a\":1}","ok":false},{"in":"\\,","ok":false},{"in":"{7}","ok":false},{"in":"ul[","ok":false},{"in":"1/*t*/","ok":true,"out":"1"},{"in":"7,]","ok":true,"out":"7"},{"in":"x","ok":false},{"in":"3Na:1}","ok":false},{"in":"[,b1][","ok":false},{"in":"{\"a\":010","ok":false},{"in":"[]bx","ok":true,"out":"[]"},{"in":"30,08,-010]","ok":true,"out":"30"},{"in":"[1*c*/,2]","ok":false},{"in":"XN\"","ok":false},{"in":"t/*c*7","ok":false},{"in":"[1/N]","ok":false},{"in":"-\\Infinit","ok":false},{"in":"\"\\u007e9\\ud83d\\ude00","ok":false},{"in":"fal","ok":false},{"in":"Infinitb","ok":false},{"in":"b0F","ok":false},{"in":"new Date.(1)","ok":false},{"in":"/[null,truefals]","ok":false},{"in":"Infinit3","ok":false},{"in":"XN5","ok":false},{"in":"\"a\":010}","ok":true,"out":"\"a\""},{"in":"3Na\"N","ok":false},{"in":"\\1t/*c*[","ok":false},{"in":"\\01","ok":false},{"in":"/NaN","ok":false},{"in":"N1e5","ok":false},{"in":"\"\\d800\"","ok":false},{"in":"1,]","ok":true,"out":"1"},{"in":"nul/t","ok":false},{"in":"{\"a\":010[","ok":false},{"in":"\"7\\ud800\"","ok":true,"out":"\"7�\""},{"in":"w Date(1\\","ok":false},{"in":"[0N10,08,-010]","ok":false},{"in":",1.","ok":true,"out":"\"\""},{"in":"[010,08,t010]","ok":false},{"in":"{\"a\"7:1,\"A\":2}","ok":false},{"in":"[-1.5e-3","ok":false},{"in":"1.5e-3\\","ok":false},{"in":"[1/*3X/,2]3","ok":false},{"in":"tx3F\\","ok":false},{"in":"0[1,2,3]","ok":false},{"in":"[010,08,.010]","ok":false},{"in":"ul/x","ok":false},{"in":"'.a'","ok":true,"out":"\".a\""},{"in":"un/deined","ok":false},{"in":"[010,08,010\\","ok":false},{"in":"e0b","ok":false},{"in":"x1","ok":false},{"in":"X15","ok":false},{"in":"t1.5e-3","ok":false},{"in":"00.[5","ok":false},{"in":"{\"a\":0N0}","ok":false},{"in":"b.e3","ok":false},{"in":"tabs","ok":false},{"in":"{\"a\":[b1,{b:null}]}","ok":false},{"in":"nuNlb","ok":false},{"in":"{\"a\":[1[\\\"b\":null}]}","ok":false},{"in":"trNu","ok":false},{"in":"tr\"e","ok":false},{"in":"t1F","ok":false},{"in":"X0e\"0","ok":false},{"in":"/*c*/1/","ok":true,"out":"\"c\""},{"in":".53X","ok":false},{"in":"..e[","ok":false},{"in":"\"ll","ok":false},{"in":"\"[ud800\"","ok":true,"out":"\"[ud800\""},{"in":"tun/efine7","ok":false},{"in":"}.","ok":false},{"in":"[,t1]","ok":false},{"in":"\"\\u00e[9\\ud8[X3d\\ude00\"","ok":false},{"in":"[t","ok":false},{"in":"XN00","ok":false},{"in":"1*c","ok":false},{"in":"1234[567890123456790","ok":false},{"in":"/.e","ok":false},{"in":"\"\\u0e9\\ud83d[\\ude00\"","ok":false},{"in":"0.1e\"","ok":false},{"in":"b.be1","ok":false},{"in":"3ul//x","ok":false},{"in":"{}.","ok":true,"out":"{}"},{"in":"X1/*/N*/","ok":false},{"in":"a:}","ok":false},{"in":"\"\\u00e9\\ud3d\\ude0[0\"","ok":false},{"in":"{\"a\":010\"b}3","ok":false},{"in":"0.1e31","ok":true,"out":"1E+30"},{"in":"X[.1,2,3]","ok":false},{"in":"Xntdeined","ok":false},{"in":"{'a'N'b'","ok":false},{"in":"X[[[1]]]","ok":false},{"in":"123[5677b01234567890","ok":false},{"in":"{\"a\"1,\"A\":2}","ok":false},{"in":"12345678.9012345678.","ok":false},{"in":"-Infin3ty","ok":false},{"in":"t1/*b*/,\"2]","ok":false},{"in":"700.t5","ok":false},{"in":"undefi\"ned","ok":false},{"in":"[\\a'","ok":false},{"in":"NN30","ok":false},{"in":"[null,trut,false3]","ok":false},{"in":"[,\\]\\","ok":false},{"in":"{\"a\":1,\"A\":2\\}","ok":false},{"in":"\".[","ok":false},{"in":"{aX}\"","ok":false},{"in":".{'a'.''}","ok":false},{"in":"1.\"eb","ok":false},{"in":"\"\\u00e9\\ud\"83d\\de0\"","ok":false},{"in":"0btx1","ok":false},{"in":"003\"\"","ok":false},{"in":"t1E\\+5","ok":false},{"in":".[] x","ok":false},{"in":"[/[ull/x","ok":false},{"in":"[1,X]","ok":false},{"in":".07","ok":true,"out":"0.07"},{"in":"/X","ok":false},{"in":"{\"a\"010}","ok":false},{"in":"[1/*c*/,/]","ok":false},{"in":"{\"a\":[,{\"b\":null/]}","ok":false},{"in":"N+5","ok":false},{"in":"\"\\ud[00\"","ok":false},{"in":"t,1]","ok":false},{"in":"1.e3","ok":true,"out":"1000"},{"in":"Xnfiniy","ok":false},{"in":"13+5","ok":false},{"in":"/[1]]]","ok":false},{"in":"1*c*/","ok":false},{"in":"0\\0","ok":false},{"in":"[X] x","ok":false},{"in":"-Infni[y3","ok":false},{"in":"\"{\"a\":1,\"\":2","ok":true,"out":"\"{\""},{"in":"t[]\"","ok":false},{"in":"new Date1/","ok":false},{"in":"\".5","ok":false},{"in":"3-1.5e-3","ok":false},{"in":"{a1\\","ok":false},{"in":"3}","ok":true,"out":"3"},{"in":"Nfbals","ok":false},{"in":"1/.c*/,2]","ok":true,"out":"1"},{"in":"N[null,ruebfalse]","ok":false},{"in":"15-3","ok":false},{"in":"-I3finty","ok":false},{"in":"b-15e-3","ok":false},{"in":"ud00\"","ok":false},{"in":"[Infinit","ok":false},{"in":"be0","ok":false},{"in":"X\"a\":1}","ok":false},{"in":"7b1,2,3]","ok":false},{"in":"7/5","ok":true,"out":"7"},{"in":"0b.77e1","ok":false},{"in":"balse","ok":false},{"in":"X x","ok":false},{"in":"7[010,0X8,-0170]","ok":false},{"in":"7\"\\u00e9\\ud83d\\ude00\"","ok":false},{"in":"\"1.5e-3","ok":false},{"in":"\"a\":1\\,\"A\":2[","ok":true,"out":"\"a\""},{"in":".5e7","ok":true,"out":"5000000"},{"in":"\"X\":1}","ok":true,"out":"\"X\""},{"in":"\"b{\"a\":1","ok":true,"out":"\"b{\""},{"in":"7null","ok":false},{"in":"\"a\":1,\"A\":2}","ok":true,"out":"\"a\""},{"in":"N\".Xe1","ok":false},{"in":"{\"\":010}","ok":true,"out":"{\n \"\": 8\n}"},{"in":"\"\\u0Xe9\\ud83d\\ude00\"","ok":false},{"in":"finit","ok":false},{"in":"..\"","ok":false},{"in":"\"'a':''}","ok":false},{"in":"7,,2]","ok":true,"out":"7"},{"in":"X71,,2]","ok":false},{"in":"\\00t","ok":false},{"in":"X0103","ok":false},{"in":"8[","ok":false},{"in":"{\"a\"00}","ok":false},{"in":"/*c*[/1","ok":false},{"in":"tX,.","ok":false},{"in":"[[1,2,]","ok":false},{"in":"un7Neined","ok":false},{"in":"Xa","ok":false},{"in":".[1,,\"2","ok":false},{"in":"..","ok":false},{"in":"ls3","ok":false},{"in":"\"\\ud/\"0\"","ok":false},{"in":"[010[,08,-010\\]","ok":false},{"in":"{\".a\"\\1,\"A\":2}","ok":false},{"in":"null7x","ok":false},{"in":"new atX1)","ok":false},{"in":"tr.7","ok":false},{"in":"\\{'a':'bX'}.","ok":false},{"in":"[010\\,08,-010]","ok":false},{"in":"\\1.5e7","ok":false},{"in":".b1 .","ok":false},{"in":"{'a':'b'3","ok":false},{"in":"/*c*/","ok":true,"out":"\"c\""},{"in":"new Date7(1)","ok":true,"out":"\"new Date7(\\n 1\\n)\""},{"in":"b1,,2]","ok":false},{"in":"3-Infnty","ok":false},{"in":"\\{\"a\":010}","ok":false},{"in":"ul","ok":false},{"in":"\\0.0","ok":false},{"in":"{'a\\t:'b'X}","ok":false},{"in":"a''b'}","ok":false},{"in":"tXrue","ok":false},{"in":"tr[e3","ok":false},{"in":"new Date1)","ok":false},{"in":"X{\"a\":010}","ok":false},{"in":"XN+5","ok":false},{"in":"\".[,1","ok":false},{"in":"[N1,,2]","ok":false},{"in":"\"\\7ud800\"","ok":false},{"in":"t{'a'7:''}","ok":false},{"in":"3.5b","ok":false},{"in":"[010,0,-010]","ok":true,"out":"[\n 8,\n 0,\n -10\n]"},{"in":"{\"a\":1\\\"A\"32}","ok":false},{"in":"b0[","ok":false},{"in":"[null,true,fale]","ok":false},{"in":"new \"Date(1)","ok":false},{"in":"b0.0","ok":false},{"in":"\\\"a\":1}","ok":false},{"in":"N-00","ok":false},{"in":"lt","ok":false},{"in":"\"\\u00e9\\ud8\"3d\\ude0N0X\"","ok":false},{"in":".5-3","ok":false},{"in":"\"\\ud[8007\"","ok":false},{"in":"1.eX","ok":false},{"in":"\\n7\\ull","ok":false},{"in":".1/*Xc*/b","ok":true,"out":"0.1"},{"in":",2,3N]","ok":true,"out":"\"\""},{"in":"[null,true,flse/","ok":false},{"in":"[010","ok":false},{"in":"\"\\u00e9\\ud83d\\ude0\"","ok":false},{"in":"N0.b","ok":false},{"in":"/\"0b0","ok":false},{"in":"[nul3,true,false]","ok":false},{"in":"b.","ok":false},{"in":"tr/u3e","ok":false},{"in":"08X","ok":false},{"in":"1/*\\c*/","ok":true,"out":"1"},{"in":"f[ls\"et","ok":false},{"in":"{/a\":[1,{\"b\":nul7l}]}","ok":false},{"in":"InfinXby","ok":false},{"in":"\"\\u00e9\\ud/3\\udte00\"","ok":false},{"in":"{7\"a\":1,\"A\"b:2\"","ok":false},{"in":"[1F","ok":false},{"in":"3700","ok":true,"out":"3700"},{"in":"t/300","ok":false},{"in":".5.[","ok":false},{"in":"{a:1.}","ok":true,"out":"{\n \"a\": 1\n}"},{"in":",N","ok":true,"out":"\"\""},{"in":"/*N*/1","ok":true,"out":"\"N\""},{"in":"\\t8","ok":false},{"in":"\"{t\"a\":1}","ok":true,"out":"\"{t\""},{"in":"/[[[1].]]","ok":false},{"in":"1/*c*/[","ok":true,"out":"1"},{"in":"[null,true,fNlse]","ok":false},{"in":"{\"a\":3010","ok":false},{"in":"null7","ok":false},{"in":".5\\e3","ok":false},{"in":"07x1\\","ok":false},{"in":"0x1Ft","ok":false},{"in":".E+5","ok":false},{"in":"7\"b","ok":false},{"in":" X","ok":false},{"in":"\"\\u009\\ud83dtude00\"","ok":false},{"in":"\"\\u0[0e9\\ud83d\\ue00\"","ok":false},{"in":"{'a'/:'b'}","ok":false},{"in":"[1/**/.2]","ok":false},{"in":"[1,/X","ok":false},{"in":"\"10","ok":false},{"in":"{\"a\":.[1,{\"b\":null}]}","ok":false},{"in":".1e/1","ok":false},{"in":"\"\"a\":1}","ok":true,"out":"\"\""},{"in":"1/c*/","ok":true,"out":"1"},{"in":"tx","ok":false},{"in":"\\/1,2,3]","ok":false},{"in":".a'","ok":false},{"in":"nbll/x","ok":false},{"in":"e","ok":false},{"in":"\"aN","ok":false},{"in":"babse","ok":false},{"in":"-Infintt","ok":false},{"in":"/e0","ok":false},{"in":",31","ok":true,"out":"\"\""},{"in":"3x1F","ok":false},{"in":"130","ok":true,"out":"130"},{"in":"{a1N","ok":false},{"in":"Ininity\"","ok":false},{"in":"ud800\"","ok":false},{"in":"070.\\","ok":false},{"in":"\\\"/1 2","ok":false},{"in":"[]7","ok":true,"out":"[]"},{"in":"N[].","ok":false},{"in":"Infinity[","ok":false},{"in":"a7","ok":false},{"in":"\"\\udN80","ok":false},{"in":"\"a\":\\1}","ok":true,"out":"\"a\""},{"in":"new DaX1)","ok":false},{"in":"a\"'","ok":false},{"in":"[null,true,fale/[","ok":false},{"in":"\"/0","ok":false},{"in":".0xFb","ok":false},{"in":"X[][","ok":false},{"in":"ew Date(1)","ok":false},{"in":"0x1/","ok":true,"out":"1"},{"in":"{\"a\"t:1,\"A\"b2}","ok":false},{"in":"undefi.7d","ok":false},{"in":"undtine","ok":false},{"in":"\"X\\u00e9\\ud83d\\ude00\"","ok":true,"out":"\"Xé😀\""},{"in":"1\\","ok":false},{"in":"X'a'","ok":false},{"in":"[1/*\"*/,2]X","ok":true,"out":"[\n 1,\n 2\n]"},{"in":".tr\\ue","ok":false},{"in":"1N","ok":false},{"in":"-1.e-3","ok":true,"out":"-0.001"},{"in":"\\.e5","ok":false},{"in":"Xb","ok":false},{"in":"-Inf[n/ty","ok":false},{"in":"NNaN","ok":false},{"in":"7] x\"","ok":true,"out":"7"},{"in":"7ull","ok":false},{"in":"00X5","ok":false},{"in":"[1/*.c*/N]","ok":false},{"in":"X''","ok":false},{"in":"eN","ok":false},{"in":"{a:1[}3","ok":false},{"in":"[]\"","ok":true,"out":"[]"},{"in":"31/*cX*/,2]","ok":true,"out":"31"},{"in":"7{}3","ok":false},{"in":"b0x1/","ok":false},{"in":"{}b","ok":true,"out":"{}"},{"in":"\\\".0","ok":false},{"in":"{\"a\"7010}N3","ok":false},{"in":".[5","ok":false},{"in":"N/*\"c*/1","ok":false},{"in":".}\\","ok":false},{"in":".0.5","ok":false},{"in":"\"a\":[1}","ok":true,"out":"\"a\""},{"in":"0x\\XF","ok":false},{"in":"/[1,2,3]","ok":false},{"in":"[\\ud00\"/","ok":false},{"in":"[17,N","ok":false},{"in":"\"\\7d[00\"/","ok":false},{"in":"{\"/\":1,\"\"A\":2}","ok":false},{"in":"undeNfined","ok":false},{"in":"n.7ll/x","ok":false},{"in":"[.,1]","ok":false},{"in":"/t*c*/1","ok":false},{"in":"nu\"lbx","ok":false},{"in":"1]","ok":true,"out":"1"},{"in":"t1/*c*/3","ok":false},{"in":"N\\}X","ok":false},{"in":"1/*\"*/","ok":true,"out":"1"},{"in":"0..eb","ok":false},{"in":"1.Ne3.","ok":false},{"in":".[3 ","ok":false},{"in":"[null,trbe,false]","ok":false},{"in":"b/*c*/17","ok":false},{"in":"/-1.5b-3","ok":false},{"in":"N{\"a\":1,\"A\":2}","ok":false},{"in":"{\"\":1\"A\":2}","ok":false},{"in":"{a:1","ok":false},{"in":"1E+","ok":false},{"in":"bN*c*1","ok":false},{"in":"{\"a\"N[1,{\"b7null}]}","ok":false},{"in":"[010,08,-0b0","ok":false},{"in":"123456/89.234567890","ok":true,"out":"123456"},{"in":"[\"1]","ok":false},{"in":"\"a/se","ok":false},{"in":"{\"a\"b,\"A\":2}","ok":false},{"in":"nNll\\","ok":false},{"in":"/0b[","ok":false},{"in":"unXdebineN","ok":false},{"in":"/00.5","ok":false},{"in":"XN1 ","ok":false},{"in":"/1,]\"","ok":false},{"in":"new DateXN(1)","ok":true,"out":"\"new DateXN(\\n 1\\n)\""},{"in":"['/':'b'/","ok":false},{"in":"[7e5","ok":false},{"in":"[]. x","ok":true,"out":"[]"},{"in":"[[[1]]t]","ok":false},{"in":"[1,//","ok":false},{"in":"30","ok":true,"out":"30"},{"in":"+5","ok":false},{"in":"{\"a\":/[1,{\"b\":nul}]}","ok":false},{"in":"\"\\u00e9\\.d83d\\ud.00\"","ok":false},{"in":"[35","ok":false},{"in":"701[","ok":false},{"in":"true[","ok":false},{"in":"Inf3inity","ok":false},{"in":"1*b/","ok":false},{"in":"b\\}3","ok":false},{"in":"null,true,false][","ok":true,"out":"null"},{"in":"31F","ok":false},{"in":"undefine","ok":false},{"in":"[1,,2","ok":false},{"in":"X{}X","ok":false},{"in":"3[]","ok":false},{"in":"Infinit\\","ok":false},{"in":"[\"\\u00e.9\\ud83d\\ude00\"","ok":false},{"in":"/*c*/\\/","ok":true,"out":"\"c\""},{"in":"InfiNit.y","ok":false},{"in":".1\\e1","ok":false},{"in":"\"aN:1}","ok":false},{"in":"Xbe/","ok":false},{"in":"{\"\":1,\"A\"\"2}","ok":false},{"in":"\\[1,]/","ok":false},{"in":"1/*c*/,.2]","ok":true,"out":"1"},{"in":"\"\\u00e9\\ud83d\\utde00\"","ok":false},{"in":"-I.n\\f\\inity","ok":false},{"in":"\"\\/0e9\\ud83d\\ude00\"b","ok":true,"out":"\"/0e9😀\""},{"in":"1,2,3\\]","ok":true,"out":"1"},{"in":"\"\"0","ok":true,"out":"\"\""},{"in":"0.7","ok":true,"out":"0.7"},{"in":"[1/.c*X,2]","ok":false},{"in":".007.5","ok":false},{"in":"\"\\udb800\"[","ok":true,"out":"\"�0\""},{"in":"[\\/*c*/","ok":false},{"in":"{\"a\":[1,{b\":null]}","ok":false},{"in":"[[1,,77]","ok":false},{"in":".[0","ok":false},{"in":"Infinty","ok":false},{"in":".5e-\"3","ok":false},{"in":"\"\"\\u00e\\ud8d\\ude00\"","ok":true,"out":"\"\""},{"in":"./","ok":false},{"in":"\"'a'","ok":false},{"in":"10N","ok":false},{"in":"nu\"l/x","ok":false},{"in":"\"\\N00e9\\ud83d\\ude7t00\"","ok":false},{"in":"[-0","ok":false},{"in":".t","ok":false},{"in":"trueX","ok":false},{"in":"N\"","ok":false},{"in":"[,1[","ok":false},{"in":"[null,true,f7als]","ok":false},{"in":"N-70","ok":false},{"in":"/0.","ok":false},{"in":"{'a'7'b'3}","ok":false},{"in":".07.5","ok":false},{"in":"3[1,2,3]","ok":false},{"in":"{a.1}","ok":false},{"in":".0.0","ok":false},{"in":"13E+5","ok":true,"out":"1300000"},{"in":"\\.","ok":false},{"in":"\\.aN","ok":false},{"in":"\\X[]","ok":false},{"in":"\"{\"a[\":1}","ok":true,"out":"\"{\""},{"in":"nu\"lN","ok":false},{"in":"01","ok":true,"out":"1"},{"in":"[alse","ok":false},{"in":"-Infint\\","ok":false},{"in":"[010\\,08,-0310]","ok":false},{"in":".5\"","ok":false},{"in":"/0.5","ok":false},{"in":"123456780123567890","ok":true,"out":"1.23456780123568E+17"},{"in":"\"\\u00e9\\.d83d\\ude00\"X","ok":false},{"in":"Nc","ok":false},{"in":"\"\\u00e9\\ud83d\\ude00\"N","ok":true,"out":"\"é😀\""},{"in":"71e\\5","ok":false},{"in":"ta'","ok":false},{"in":"{\"\\\":1,\"A\":2\"}","ok":false},{"in":"\\5.N","ok":false},{"in":"\"\\\\ud800\".","ok":true,"out":"\"\\\\ud800\""},{"in":"[010,08,\"-010]","ok":false},{"in":"\"010,08,-010]","ok":false},{"in":"unefineNd","ok":false},{"in":"fNseX","ok":false},{"in":"\\/","ok":false},{"in":"\"\"X","ok":true,"out":"\"\""},{"in":"Infnity","ok":false},{"in":"7[,1]","ok":false},{"in":"b\\1,2,]","ok":false},{"in":"-..","ok":false},{"in":"{N","ok":false},{"in":"X[[e0","ok":false},{"in":"[0.10,08,-010]","ok":false},{"in":"truXe","ok":false},{"in":"X0.1e1","ok":false},{"in":"{tb'':'b'}","ok":false},{"in":"nulx","ok":false},{"in":"bub.l","ok":false},{"in":"[,,2]","ok":true,"out":"[\n \"\",\n \"\",\n 2\n]"},{"in":"[1,2]","ok":true,"out":"[\n 1,\n 2\n]"},{"in":"-0X","ok":false},{"in":"31.5e-3","ok":true,"out":"0.0315"},{"in":"{a:1/","ok":false},{"in":"{'a'N:'b'}","ok":false},{"in":"b}/","ok":false},{"in":".e5","ok":false},{"in":"{'a'/:'\\'}X","ok":false},{"in":"finity","ok":false},{"in":".b1\"","ok":false},{"in":"[\"[[1N]]]","ok":false},{"in":"X\"1,","ok":false},{"in":"/0bb","ok":false},{"in":"aNN","ok":false},{"in":"[N/*c*/,2]","ok":false},{"in":"1E\\+\"5","ok":false},{"in":"\"/t*c*/1","ok":false},{"in":"0x1F3tt","ok":false},{"in":"[\"a\":[1,{b\":null}]}","ok":false},{"in":"bXa'","ok":false},{"in":"un\"de\"find","ok":false},{"in":"{a:N1","ok":false},{"in":"/t/ue","ok":false},{"in":"/708X","ok":false},{"in":".[[1]]]","ok":false},{"in":"[null,true,fa\\3se]","ok":false},{"in":"X0.0","ok":false},{"in":"03x1F","ok":false},{"in":"t1\"5e","ok":false},{"in":"[null,tr7ue,false\"","ok":false},{"in":"[010,0,-10]","ok":true,"out":"[\n 8,\n 0,\n -10\n]"},{"in":"[,/","ok":false},{"in":"N]","ok":false},{"in":"\"\\Nd80\"","ok":false},{"in":"0[0.5","ok":false},{"in":"t/*cX*/1","ok":false},{"in":"Inftnity","ok":false},{"in":"[null,tr\\e,false\"","ok":false},{"in":"bull/x","ok":false},{"in":".{\"a\"t1,\"A7\":2}","ok":false},{"in":"]\\aN","ok":false},{"in":"[1/]","ok":false},{"in":"\"0\"","ok":true,"out":"\"0\""},{"in":"{\"a\".1,\"A\":2}","ok":false},{"in":"[1 2b","ok":false},{"in":"1Ne5","ok":false},{"in":"\"1","ok":false},{"in":"{\"a\":[,{\"b\"\":null}\\}","ok":false},{"in":"/ndined","ok":false},{"in":"X[1\\]]","ok":false},{"in":"fals\\","ok":false},{"in":"t{\"a\":.}","ok":false},{"in":"\"a\":13}","ok":true,"out":"\"a\""},{"in":"{\"a\"N:010/}","ok":false},{"in":"a:[1}","ok":false},{"in":"41e5","ok":true,"out":"4100000"},{"in":"{\"a\"\\:\"010.","ok":false},{"in":"/aNN","ok":false},{"in":"\\31,2,3]","ok":false},{"in":"Nt0t","ok":false},{"in":"\"\\udb800\"3","ok":true,"out":"\"�0\""},{"in":"\"\\u00e9\\ud83[d\\ude00\"","ok":false},{"in":"7[1,N]","ok":false},{"in":"ba'","ok":false},{"in":"[[1]b]","ok":false},{"in":"[]t x","ok":true,"out":"[]"},{"in":"[1.5e[","ok":false},{"in":"/0be0","ok":false},{"in":"/-1X.5e-3","ok":false},{"in":"/0e0","ok":false},{"in":"[1,,2t3","ok":false},{"in":"1,bt]","ok":true,"out":"1"},{"in":"[ x","ok":false},{"in":"-Infintty","ok":false},{"in":"1,7]","ok":true,"out":"1"},{"in":"\"\\u0e9ud83d\\ude00\"","ok":false},{"in":"bN","ok":false},{"in":"ud80\"","ok":false},{"in":"new [Date(1)","ok":false},{"in":"[null,tr.e,false]","ok":false},{"in":"ew D/te(1)","ok":false},{"in":",2,3]","ok":true,"out":"\"\""},{"in":"-I\"fin\\itty","ok":false},{"in":".\\5","ok":false},{"in":"undefiNed","ok":false},{"in":"0x1","ok":true,"out":"1"},{"in":".{a1}7","ok":false},{"in":"/0[","ok":false},{"in":"x1F","ok":false},{"in":".finity","ok":false},{"in":"373ull/x","ok":false},{"in":"5.N","ok":false},{"in":"{a:\\1","ok":false},{"in":"0x1Fb\\","ok":false},{"in":"[1,]\\","ok":true,"out":"[\n 1\n]"},{"in":"nuXlbx","ok":false},{"in":"[//c*/,2]","ok":false},{"in":"tXue","ok":false},{"in":"N15","ok":false},{"in":"-tInfnity","ok":false},{"in":"\"0e0[","ok":false},{"in":"bt1","ok":false},{"in":"b1.5e-3","ok":false},{"in":"7,1]","ok":true,"out":"7"},{"in":"3[a:1b","ok":false},{"in":".10\\","ok":false},{"in":"\\[1/]/","ok":false},{"in":"null/xb","ok":false},{"in":"\\[[1].]]","ok":false},{"in":"Infinity\"","ok":false},{"in":"[\"\\ubd800\"","ok":false},{"in":"[1N*/*b,2]","ok":false},{"in":"b[1,2,3]","ok":false},{"in":"{\"a\":010/","ok":false},{"in":"[false","ok":false},{"in":"[1.57/","ok":false},{"in":"[[7[1]]]","ok":false},{"in":"tt}","ok":false},{"in":"{\"a:[1,{\"b\":7ull]}","ok":false},{"in":"N1E+[","ok":false},{"in":"c\"\\ub.800\"","ok":false},{"in":"1.Ne.","ok":false},{"in":"b{\"a\":010}","ok":false},{"in":"7Infiniy","ok":false},{"in":"\".'","ok":false},{"in":"unde\"ined","ok":false},{"in":"\"\\u\\d8N0","ok":false},{"in":"/false","ok":false},{"in":"\\5.","ok":false},{"in":".\\ud800","ok":false},{"in":"trut","ok":false},{"in":"'","ok":false},{"in":"tIN/nfinity","ok":false},{"in":"X-.X5e-3","ok":false},{"in":"7[1,,]","ok":false},{"in":"'a':'b'}","ok":true,"out":"\"a\""},{"in":"[5b","ok":false},{"in":"{\"3a\"010}[","ok":false},{"in":"ue","ok":false},{"in":"X-N0","ok":false},{"in":"\\.0X","ok":false},{"in":"1,2\\,3]","ok":true,"out":"1"},{"in":"\\-1.5e-3","ok":false},{"in":"\"\\u00e9\\ud83d\\ue00\"","ok":false},{"in":"\"N.0","ok":false},{"in":"[nu\\lb","ok":false},{"in":"XE+","ok":false},{"in":"[}t","ok":false},{"in":"N0\\0","ok":false},{"in":"\"1+5","ok":false},{"in":"//*tc*/","ok":true,"out":"\"*tc*/\""},{"in":"t..","ok":false},{"in":"[,\\]","ok":false},{"in":"[t]","ok":false},{"in":"new /Date(1)","ok":false},{"in":"[\\]","ok":false},{"in":"t5.","ok":false},{"in":"null,true,false]","ok":true,"out":"null"},{"in":"new DateXb1)","ok":false},{"in":"{'a't''}","ok":false},{"in":"X\"\"a\":[13{\"b\":null}]}","ok":false},{"in":"{\"a\":17\"A\":2}","ok":false},{"in":"bb 2","ok":false},{"in":"\"\\3u00e9\\ub83d\\ude00\"","ok":false},{"in":"\"a\"\\:1}","ok":true,"out":"\"a\""},{"in":"[n3ll,true,false]","ok":false},{"in":"-0/","ok":true,"out":"0"},{"in":"\"\\/ud800\"\\","ok":true,"out":"\"/ud800\""},{"in":"8b","ok":false},{"in":"/08","ok":false},{"in":"bnull,truefalse]","ok":false},{"in":"1E5t","ok":false},{"in":".5e3-3","ok":false},{"in":"../","ok":false},{"in":"01et7","ok":false},{"in":"3b 2","ok":false},{"in":"[1/*c/,2","ok":false},{"in":"{\"a\"\\N:1,\"A\":2}","ok":false},{"in":"X{\"a\":1}","ok":false},{"in":"1/*Xc*/,2]","ok":true,"out":"1"},{"in":"{'a':7\"b'.","ok":false},{"in":"\"\\udX0b\"","ok":false},{"in":"Ne0","ok":false},{"in":"ulXl/x.","ok":false},{"in":"[01008,t010]","ok":false},{"in":"[010,30X,010]","ok":false},{"in":"b5\\","ok":false},{"in":",1\\","ok":true,"out":"\"\""},{"in":"0x31","ok":true,"out":"49"},{"in":"\"\".3\"","ok":true,"out":"\"\""},{"in":"[,\".]","ok":false},{"in":"/aN","ok":false},{"in":"0X1F","ok":true,"out":"31"},{"in":"\"\\u00e9\\u83d\\ude00\"","ok":false},{"in":"/-00","ok":false},{"in":"\"\\u00e9\\ud83dbude00\"","ok":true,"out":"\"é�bude00\""},{"in":"Null/x","ok":false},{"in":"1.\"e","ok":false},{"in":"{a:1\\}","ok":false},{"in":"\"a\":01","ok":true,"out":"\"a\""},{"in":"{\"a\"[0.10}","ok":false},{"in":"0\"1F","ok":false},{"in":"*c/13","ok":false},{"in":"NX","ok":false},{"in":"\\N/N/","ok":false},{"in":"null/.x","ok":false},{"in":"Xullb","ok":false},{"in":"1.5e-b3","ok":false},{"in":"tN","ok":false},{"in":"{a:1X","ok":false},{"in":"\"t}","ok":false},{"in":"3ew Date(1)","ok":false},{"in":"\".ud800\"","ok":true,"out":"\".ud800\""},{"in":"{.a\":00}","ok":false},{"in":"0.b1b1.","ok":false},{"in":"7NaN","ok":false},{"in":"1/*c*/\\","ok":true,"out":"1"},{"in":"[null,tr3e,false]","ok":false},{"in":"\":1}","ok":false},{"in":".'a':'b'}","ok":false},{"in":"ab","ok":false},{"in":"[1//**/,2]","ok":false},{"in":"\\00","ok":false},{"in":"\"\\u00e9\\ud83d\\udt/700\"","ok":false},{"in":"NI\\nfinty","ok":false},{"in":"ull/","ok":false},{"in":"n[ll","ok":false},{"in":"\"a\":}","ok":true,"out":"\"a\""},{"in":"/.","ok":false},{"in":"X\\N{}","ok":false},{"in":"[010,08,-030]","ok":false},{"in":"/3c/1","ok":false},{"in":"[1/,2]","ok":false},{"in":"00.5\"","ok":false},{"in":"[,1","ok":false},{"in":"N] .b","ok":false},{"in":"new b3Date(1)","ok":true,"out":"\"new b3Date(\\n 1\\n)\""},{"in":"[\\.","ok":false},{"in":" t","ok":false},{"in":".\\ud80\"","ok":false},{"in":"1,3]","ok":true,"out":"1"},{"in":"01e/","ok":false},{"in":"b0e0","ok":false},{"in":"77N","ok":false},{"in":"baN","ok":false},{"in":"[.}","ok":false},{"in":".1.5e-3","ok":false},{"in":"-0\"","ok":false},{"in":"N\"a\":1}","ok":false},{"in":"3be0/","ok":false},{"in":"t[[[1]]]","ok":false},{"in":"7010","ok":true,"out":"7010"},{"in":"-Infinbt","ok":false},{"in":"3ew Datbe(1)","ok":false},{"in":"[1,,t]","ok":false},{"in":".aN","ok":false},{"in":"/*c*/1N","ok":true,"out":"\"c\""},{"in":"{a:1.","ok":false},{"in":"\"n\"ll","ok":true,"out":"\"n\""},{"in":"7X","ok":false},{"in":"7\"a\"","ok":false},{"in":"undebf/ed","ok":false},{"in":"Nue","ok":false},{"in":"\"t","ok":false},{"in":"\\ba'","ok":false},{"in":"[7,]","ok":true,"out":"[\n 7\n]"},{"in":"undefineX","ok":false},{"in":".a:1b}","ok":false},{"in":"/*c\"31","ok":false},{"in":"tt10","ok":false},{"in":"\"\\u0e9\\td83d/ude00\"","ok":false},{"in":"1e1","ok":true,"out":"10"},{"in":"\\ 2","ok":false},{"in":"\"1/*c*/[","ok":false},{"in":"{\"a\":[1,{\"b:null7}]}","ok":false},{"in":"ew ate()","ok":false},{"in":"\"new Date(1)","ok":false},{"in":"3010,08,-0\\0]","ok":true,"out":"3010"},{"in":"3.1,2,]","ok":true,"out":"3.1"},{"in":"53","ok":true,"out":"53"},{"in":"nll,tre,false]","ok":false},{"in":"0.1X","ok":false},{"in":"1*c*","ok":false},{"in":"[,1]X","ok":true,"out":"[\n \"\",\n 1\n]"},{"in":"f3ase","ok":false},{"in":"Xe5","ok":false},{"in":"5\\","ok":false},{"in":",1b.","ok":true,"out":"\"\""},{"in":"XX]N","ok":false},{"in":"\"010","ok":false},{"in":"\"\\u00e9\\3ud83d\\ude007\"","ok":false},{"in":".u\"","ok":false},{"in":"\\0[","ok":false},{"in":"7\"0","ok":false},{"in":"12345678t0234567890","ok":false},{"in":"\\null/x","ok":false},{"in":"null\"","ok":false},{"in":"\\ull/Nx","ok":false},{"in":"t0.0","ok":false},{"in":"udN00\"","ok":false},{"in":"-I.nfinityX","ok":false},{"in":"New bate(1)","ok":false},{"in":"tru\\","ok":false},{"in":"[010,08,01\\0]","ok":false},{"in":"10\\","ok":false},{"in":"\\Infinit","ok":false},{"in":"ull\\.x","ok":false},{"in":"[n[ull,true,false][","ok":false},{"in":"[1,23]","ok":true,"out":"[\n 1,\n 23\n]"},{"in":"70.X","ok":false},{"in":"btru","ok":false},{"in":"{'a':'b'[","ok":false},{"in":"a:1}[","ok":false},{"in":"7Infinit","ok":false},{"in":"\"NaN","ok":false},{"in":"[00","ok":false},{"in":"trNe","ok":false},{"in":"[0N.008,-010]","ok":false},{"in":"X}","ok":false},{"in":"[01,08,-010","ok":false},{"in":"Xt","ok":false},{"in":",]","ok":true,"out":"\"\""},{"in":"unde/i[e","ok":false},{"in":"{\"\"\":1,\"A\":2}","ok":false},{"in":"X-00","ok":false},{"in":"t{\"a\"7:010\\}","ok":false},{"in":"[\\5","ok":false},{"in":"t00","ok":false},{"in":"1/5b-3","ok":true,"out":"1"},{"in":"nullb","ok":false},{"in":"b5.","ok":false},{"in":"1/*cb*/","ok":true,"out":"1"},{"in":"N00.","ok":false},{"in":"7{'a':'b'}","ok":false},{"in":"\"]b","ok":false},{"in":"t53","ok":false},{"in":"/+5","ok":false},{"in":"\"[\\1,,2]","ok":false},{"in":"/\"\\u00e9\\/d83dude00\"","ok":false},{"in":"nu\"ll","ok":false},{"in":"\"\"a\":1,\"A\":2}","ok":true,"out":"\"\""},{"in":"b3","ok":false},{"in":"-In.finty","ok":false},{"in":"Xt00","ok":false},{"in":"{","ok":false},{"in":"t] ","ok":false},{"in":"0.","ok":true,"out":"0"},{"in":"0x/1F","ok":false},{"in":".0N","ok":false},{"in":"\\-00","ok":false},{"in":"[.a'","ok":false},{"in":"[1/*c\"/,2]","ok":false},{"in":"\"\\ud.8\\0X\"","ok":false},{"in":"/t","ok":false},{"in":".new Date(1","ok":false},{"in":".N0","ok":false},{"in":"1E+[3","ok":false},{"in":" b2","ok":false},{"in":"nXull","ok":false},{"in":"7.e0","ok":true,"out":"7"},{"in":"\\\"","ok":false},{"in":"\"a\":1,\"A\":2.","ok":true,"out":"\"a\""},{"in":"15Xe-3","ok":false},{"in":"nbl/x","ok":false},{"in":"Nnfnity","ok":false},{"in":".8t","ok":false},{"in":"/nullX/x","ok":false},{"in":"[.,]","ok":false},{"in":"ewtDate31)","ok":false},{"in":"null\\","ok":false},{"in":"0X8","ok":true,"out":"8"},{"in":"[1,N","ok":false},{"in":"bnul\\l/x","ok":false},{"in":"\"3","ok":false},{"in":"\"{\"a\":010}","ok":true,"out":"\"{\""},{"in":"['a'","ok":false},{"in":"undefiNeb","ok":false},{"in":"t[/1","ok":false},{"in":"XNaNt","ok":false},{"in":"-7","ok":true,"out":"-7"},{"in":"[010,0[8,-010]","ok":false},{"in":"ll","ok":false},{"in":"\\ew NNDate(1)","ok":false},{"in":"12,3]","ok":true,"out":"12"},{"in":"{\"a\":[1,\"b\":null}]}","ok":false},{"in":"N/*.c/1","ok":false},{"in":"{\"a\":[1,{\"\":null\"}]}","ok":false},{"in":".1e5","ok":true,"out":"10000"},{"in":"7/fa\"lse","ok":true,"out":"7"},{"in":"7c*/","ok":false},{"in":"7ew Nate(1)","ok":false},{"in":"Infinitby","ok":false},{"in":".[N","ok":false},{"in":"1N.N5e3","ok":false},{"in":"[1t,,2]","ok":false},{"in":".[0b0,08,-010]","ok":false},{"in":"[nll,true,falte]/","ok":false},{"in":"fa\"l/se","ok":false},{"in":"1.e-3","ok":true,"out":"0.001"},{"in":"Itfinity","ok":false},{"in":"[.]","ok":false},{"in":"0x.7F","ok":false},{"in":"ttrue","ok":false},{"in":"N[0.1e1","ok":false},{"in":"..t0.5","ok":false},{"in":"Infinitt","ok":false},{"in":"Infini3ty.","ok":false},{"in":"/\\,]","ok":false},{"in":"t\"0","ok":false},{"in":"unde7fined","ok":false},{"in":"b0.5","ok":false},{"in":"0.1eX","ok":false},{"in":"\\nfinit","ok":false},{"in":"\"null,rue,false]","ok":false},{"in":"et","ok":false},{"in":"0\\","ok":false},{"in":"] x/b","ok":false},{"in":"7t0e0","ok":false},{"in":"N/b}","ok":false},{"in":"[nu\\ll,true,f3alse]","ok":false},{"in":"t/.u/","ok":false},{"in":"\"\\ud800\"\"","ok":true,"out":"\"�\""},{"in":"5t3","ok":false},{"in":"{\"a\":1,\"A\":2}\\","ok":true,"out":"{\n \"a\": 2\n}"},{"in":".1eb1","ok":false},{"in":"N/N*c*/","ok":false},{"in":"aX1}","ok":false},{"in":"[330","ok":false},{"in":"-Inftinity","ok":false},{"in":"[null,true,false","ok":false},{"in":",t1","ok":true,"out":"\"\""},{"in":"1N+5","ok":false},{"in":"b.t/","ok":false},{"in":"]t","ok":false},{"in":".10X","ok":false},{"in":"/null,true,false]","ok":false},{"in":"7-1.5e-","ok":false},{"in":"3[,1","ok":false},{"in":"b\\1,,2]","ok":false},{"in":"[1N3","ok":false},{"in":"-07","ok":true,"out":"-7"},{"in":"3-00","ok":false},{"in":"t010","ok":false},{"in":"[2","ok":false},{"in":"[X \\x","ok":false},{"in":"tue","ok":false},{"in":"\"1b /2","ok":false},{"in":".15","ok":true,"out":"0.15"},{"in":"[]X","ok":true,"out":"[]"},{"in":"{\\\\","ok":false},{"in":"N0X1bF","ok":false},{"in":"\"\\1.5e-3","ok":false},{"in":"10[","ok":false},{"in":"{\"a[\":[1,{3\"b\":ull}]}","ok":false},{"in":"xF","ok":false},{"in":"[null,trNe,false]","ok":false},{"in":"a3","ok":false},{"in":"0N","ok":false},{"in":"01e","ok":false},{"in":"X1 2","ok":false},{"in":"new Dae1)","ok":false},{"in":"-I\\nfinNty","ok":false},{"in":"X*c*/1\"","ok":false},{"in":"\"a\":[1,b\"b\":null}]}","ok":true,"out":"\"a\""},{"in":"12345N678901234567890","ok":false},{"in":"1/\\3c*/,2]","ok":true,"out":"1"},{"in":".12","ok":true,"out":"0.12"},{"in":"[1\"/c*/,2]","ok":false},{"in":" 23","ok":true,"out":"23"}]⏎̸ | |||