{"type":"thread.started","thread_id":"01a02c47-a7d6-7072-8484-28a4c9f62b7c"}
{"type":"turn.started"}
{"type":"item.completed","item":{"id":"item_0","type":"agent_message","text":"I’m continuing the repair pass from the existing parser/evaluator. I’ll first rerun both authoritative scoped checks, inspect the actual failing cases, then fix the general behavior and rerun the gates."}}
{"type":"item.started","item":{"id":"item_1","type":"command_execution","command":"/bin/bash -lc \"ls -la && find jq_interpreter -maxdepth 2 -type f -print && python3 - <<'PY'\nimport json, os, subprocess, sys\nfor name, sel in [('parse-003', r'\\\\.|\\\\[|\\\\{|\\\\+|\\\\-|\\\\*|/|%'), ('parse-004', r'%%FAIL|if |try |reduce |foreach |def | as |label |module|include')]:\n p=subprocess.run([sys.executable,'sources/run_conformance.py','--select',sel,'--json'],capture_output=True,text=True,env={**os.environ,'JQ':os.path.abspath('jq')})\n print('\\\\n###',name,'rc',p.returncode)\n try:\n d=json.loads(p.stdout); print(d['summary']);\n for c in d.get('cases',[]):\n if c.get('status') not in ('pass','skip'):\n print(json.dumps(c,ensure_ascii=False)[:2000])\n except Exception: print(p.stdout, p.stderr)\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.started","item":{"id":"item_2","type":"command_execution","command":"/bin/bash -lc \"sed -n '1,260p' sources/run_conformance.py && sed -n '1,260p' jq_interpreter/parser.py\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_2","type":"command_execution","command":"/bin/bash -lc \"sed -n '1,260p' sources/run_conformance.py && sed -n '1,260p' jq_interpreter/parser.py\"","aggregated_output":"#!/usr/bin/env python3\n\"\"\"Run the upstream jq conformance corpus against a candidate implementation.\n\nThis is the scoring instrument. It is supplied, not authored: it is staged verbatim into the\nbuild directory, hash-verified against the import, and restored before grading. Its exit status\nis the acceptance verdict.\n\nIt is deliberately external to the implementation. Upstream jq grades itself, through its own\n``--run-tests`` flag; a self-graded suite proves nothing here, so this runner re-implements the\ncorpus protocol and drives the candidate as a subprocess, one process per case.\n\nImported sources land in ``sources/`` inside the application directory, so this is normally\ninvoked as ``python3 sources/run_conformance.py`` from that directory.\n\nUsage:\n JQ=./jq python3 sources/run_conformance.py # full corpus, the scored run\n JQ=./jq python3 sources/run_conformance.py -v # list passing cases too\n JQ=./jq python3 sources/run_conformance.py --json # machine-readable report\n JQ=./jq python3 sources/run_conformance.py --list # print cases, run nothing\n JQ=./jq python3 sources/run_conformance.py --select 'reduce' # develop one construct\n\nEnvironment:\n JQ command that runs the candidate. Required -- this harness is language-neutral\n and deliberately has no default implementation language.\n\nExit codes:\n 0 every case that ran passed\n 1 at least one case failed or errored\n 2 the harness could not run: bad usage, missing corpus, or a stale exclusion\n\"\"\"\n\nfrom __future__ import annotations\n\nimport argparse\nimport json\nimport os\nimport re\nimport shlex\nimport subprocess\nimport sys\nfrom dataclasses import dataclass, field\nfrom pathlib import Path\n\nHERE = Path(__file__).resolve().parent\nCORPUS = HERE / \"jq.test\"\nEXCLUSIONS = HERE / \"exclusions.txt\"\n\n#: A case that has not produced output in this long is not going to. jq's own suite runs the\n#: whole corpus in under a second; anything near this bound is a runaway generator.\nDEFAULT_TIMEOUT = 10.0\n\nPASS, FAIL, ERROR, SKIP = \"pass\", \"fail\", \"error\", \"skip\"\n\n#: jq's documented exit codes, which this kit's interface contract adopts. The distinction is\n#: load-bearing: the corpus's %%FAIL cases are programs that must not compile, while an ordinary\n#: case may legitimately raise at run time part-way through its output and still be correct.\nEXIT_COMPILE_ERROR = 3\nEXIT_RUNTIME_ERROR = 5\n\n\ndef split_lines(text: str) -> list[str]:\n \"\"\"Split on newlines only.\n\n ``str.splitlines`` is Unicode-aware and also breaks on U+000B, U+000C, U+0085, U+2028, and\n U+2029. The corpus contains cases whose expected output embeds those code points inside JSON\n strings -- ``trim, ltrim, rtrim`` over the Unicode whitespace set is one -- and splitting\n there shreds one JSON value into several, failing a correct implementation.\n \"\"\"\n lines = text.split(\"\\n\")\n if lines and lines[-1] == \"\":\n lines.pop()\n return lines\n\n\n@dataclass\nclass Case:\n \"\"\"One corpus case: a program, an input, and what it must produce.\n\n ``expect_failure`` cases are the corpus's ``%%FAIL`` blocks. Upstream compares their\n diagnostic text; this runner requires only that the candidate reject the program. The\n expected strings are jq's exact C-implementation diagnostics, down to the caret art\n underlining the offending token -- reproducing them is reverse-engineering an\n implementation, not conforming to a specification. The text is parsed and reported so a\n reader can see what upstream said, and is never compared.\n \"\"\"\n\n line: int\n program: str\n stdin: str = \"\"\n expected: list[str] = field(default_factory=list)\n expect_failure: bool = False\n diagnostic: str = \"\"\n\n\n@dataclass\nclass Result:\n case: Case\n status: str\n detail: str = \"\"\n actual: list[str] = field(default_factory=list)\n return_code: int | None = None\n stderr: str = \"\"\n\n\nclass HarnessError(Exception):\n \"\"\"A fault in the kit or its invocation, never a fault in the candidate.\"\"\"\n\n\n# --------------------------------------------------------------------------------------------\n# Corpus parsing\n# --------------------------------------------------------------------------------------------\n\n\ndef parse_corpus(text: str) -> list[Case]:\n \"\"\"Parse the jq test corpus.\n\n The format is documented in the corpus's own header: cases are groups of lines separated by\n blank lines; blank lines and lines starting with ``#`` are ignored. A case is a program\n line, an input line, and then zero or more expected output lines. A case preceded by a\n ``%%FAIL`` or ``%%FAIL IGNORE MSG`` marker is a program line followed by the diagnostic\n upstream jq emits, which may itself span several lines of source excerpt and caret art.\n \"\"\"\n cases: list[Case] = []\n block: list[tuple[int, str]] = []\n expect_failure = False\n lines = split_lines(text)\n\n def flush() -> None:\n nonlocal block, expect_failure\n if block:\n cases.append(_case_from_block(block, expect_failure))\n block = []\n expect_failure = False\n\n for number, raw in enumerate(lines, start=1):\n stripped = raw.strip()\n if not stripped:\n flush()\n continue\n if raw.startswith(\"%%FAIL\"):\n flush()\n expect_failure = True\n continue\n # A '#' comment closes nothing: upstream places section banners between cases, always\n # with blank lines around them, and never inside a case.\n if raw.lstrip().startswith(\"#\") and not block:\n continue\n if raw.lstrip().startswith(\"#\"):\n continue\n block.append((number, raw))\n flush()\n return cases\n\n\ndef _case_from_block(block: list[tuple[int, str]], expect_failure: bool) -> Case:\n line, program = block[0]\n if expect_failure:\n diagnostic = \"\\n\".join(text for _, text in block[1:])\n return Case(line=line, program=program, expect_failure=True, diagnostic=diagnostic)\n if len(block) < 2:\n raise HarnessError(\n f\"{CORPUS.name}:{line}: case has a program but no input line; the corpus is malformed\"\n )\n return Case(\n line=line,\n program=program,\n stdin=block[1][1],\n expected=[text for _, text in block[2:]],\n )\n\n\n# --------------------------------------------------------------------------------------------\n# Exclusions\n# --------------------------------------------------------------------------------------------\n\n\ndef parse_exclusions(path: Path) -> list[str]:\n \"\"\"Read the declared exclusions: one verbatim program line per entry, ``#`` for reasons.\"\"\"\n if not path.is_file():\n return []\n return [\n line\n for line in split_lines(path.read_text(encoding=\"utf-8\"))\n if line.strip() and not line.lstrip().startswith(\"#\")\n ]\n\n\ndef apply_exclusions(cases: list[Case], exclusions: list[str]) -> set[int]:\n \"\"\"Return the corpus line numbers of excluded cases.\n\n An exclusion that matches nothing is a hard error rather than a shrug. The corpus is pinned\n by hash, so a stale exclusion means the pin moved without the exclusion list being revisited\n -- and a silent no-op there would quietly re-admit a case the kit cannot run.\n \"\"\"\n by_program: dict[str, list[Case]] = {}\n for case in cases:\n by_program.setdefault(case.program, []).append(case)\n\n excluded: set[int] = set()\n stale: list[str] = []\n for program in exclusions:\n matched = by_program.get(program)\n if not matched:\n stale.append(program)\n continue\n excluded.update(case.line for case in matched)\n if stale:\n listed = \"\\n\".join(f\" {program}\" for program in stale)\n raise HarnessError(\n f\"{EXCLUSIONS.name}: these exclusions match no case in {CORPUS.name}:\\n{listed}\\n\"\n \"The corpus and the exclusion list have drifted apart.\"\n )\n return excluded\n\n\n# --------------------------------------------------------------------------------------------\n# Comparison\n# --------------------------------------------------------------------------------------------\n\n\ndef jv_equal(left: object, right: object) -> bool:\n \"\"\"Compare two decoded JSON values the way jq's own ``jv_equal`` does.\n\n Structural, not textual: ``1`` and ``1.0`` are the same jq value and the corpus relies on\n that. Python's ``==`` almost does this, but it also equates ``True`` with ``1`` and\n ``False`` with ``0``, which jq does not; booleans are therefore matched by identity of type\n before anything else.\n \"\"\"\n if isinstance(left, bool) or isinstance(right, bool):\n return isinstance(left, bool) and isinstance(right, bool) and left is right\n if isinstance(left, (int, float)) and isinstance(right, (int, float)):\n return left == right\n if isinstance(left, list) and isinstance(right, list):\n return len(left) == len(right) and all(jv_equal(a, b) for a, b in zip(left, right))\n if isinstance(left, dict) and isinstance(right, dict):\n return left.keys() == right.keys() and all(jv_equal(left[k], right[k]) for k in left)\n if type(left) is not type(right):\n return False\n return left == right\n\n\ndef _decode(line: str) -> tuple[bool, object]:\n try:\n return True, json.loads(line)\n except ValueError:\n return False, line\n\n\ndef outputs_match(expected: list[str], actual: list[str]) -> bool:\n if len(expected) != len(actual):\n return False\n for want, got in zip(expected, actual):\n want_ok, want_value = _decode(want)\n got_ok, got_value = _decode(got)\n if want_ok and got_ok:\n if not jv_equal(want_value, got_value):\n return False\n elif want.strip() != got.strip():\n return False\n return True\n\"\"\"Precedence-aware jq expression parser.\"\"\"\nimport json\nimport re\nfrom dataclasses import dataclass\nfrom .ast import Filter, Node, StringTemplate, Format\nfrom .errors import CompileError\nfrom .lexer import tokenize\n\n@dataclass(frozen=True)\nclass T: text: str\nOPS=(\"//=\",\"?//\",\"!=\",\"==\",\"|=\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"<=\",\">=\",\"..\",\"//\")\n# jq's query grammar gives the pipe lower precedence than comma. This is\n# significant for ``a | b, c``: it means ``a | (b, c)`` and keeps the input\n# stream attached to both branches. The parser's numeric levels increase\n# with binding strength.\nPREC={\"|\":1,\",\":2,\"=\":3,\"|=\":3,\"+=\":3,\"-=\":3,\"*=\":3,\"/=\":3,\"%=\":3,\"//=\":3,\"//\":4,\"or\":5,\"and\":6,\"==\":7,\"!=\":7,\"<\":7,\">\":7,\"<=\":7,\">=\":7,\"+\":8,\"-\":8,\"*\":9,\"/\":9,\"%\":9}\n\ndef lex(s: str) -> list[T]:\n s=re.sub(r\"#[^\\n]*\",\"\",s); out=[]; i=0\n while i<len(s):\n if s[i].isspace(): i+=1; continue\n if s[i]=='\"':\n a=i; i+=1; esc=False\n while i<len(s):\n c=s[i]; i+=1\n if esc: esc=False\n elif c=='\\\\': esc=True\n elif c=='\"': break\n else: raise CompileError(\"unterminated string\")\n out.append(T(s[a:i])); continue\n op=next((x for x in OPS if s.startswith(x,i)),None)\n if op: out.append(T(op)); i+=len(op); continue\n m=re.match(r\"(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\",s[i:])\n if m: out.append(T(m.group())); i+=len(m.group()); continue\n m=re.match(r\"(?:[A-Za-z_][A-Za-z_0-9]*::)*[A-Za-z_][A-Za-z_0-9]*\",s[i:])\n if m: out.append(T(m.group())); i+=len(m.group()); continue\n if s[i]=='$':\n m=re.match(r\"\\$[A-Za-z_][A-Za-z_0-9]*(?:::[A-Za-z_][A-Za-z_0-9]*)*\",s[i:])\n if not m: raise CompileError(\"invalid binding\")\n out.append(T(m.group())); i+=len(m.group()); continue\n if s[i]=='.' and i+1<len(s) and re.match(r\"[A-Za-z_]\",s[i+1]):\n m=re.match(r\"\\.[A-Za-z_][A-Za-z_0-9]*\",s[i:]); out.append(T(m.group())); i+=len(m.group()); continue\n if s[i]=='@':\n m=re.match(r\"@[A-Za-z_][A-Za-z_0-9]*\",s[i:])\n if not m: raise CompileError(\"invalid format\")\n out.append(T(m.group())); i+=len(m.group()); continue\n if s[i] in \".?=;,:|+-*/%$<>()[]{}\": out.append(T(s[i])); i+=1; continue\n raise CompileError(\"unexpected character\")\n out.append(T(\"<eof>\")); return out\n\nclass Parser:\n def __init__(self,s:str): self.t=lex(s); self.i=0\n def p(self): return self.t[self.i].text\n def take(self,x=None):\n v=self.p()\n if x is not None and v!=x: raise CompileError(f\"expected {x}\")\n self.i+=1; return v\n def parse(self):\n if self.p()==\"<eof>\": raise CompileError(\"empty program\")\n x=self.expr(0)\n while self.p()==';': self.take()\n if self.p()!='<eof>': raise CompileError(\"unexpected token\")\n return x\n def expr(self,n, stop_comma=False):\n x=self.prefix()\n # Binding is a query construct, below all ordinary operators.\n if self.p()=='as' and n <= 2:\n self.take('as'); pattern=self.pattern(); self.take('|')\n return Node('bind',(x,pattern,self.expr(0)))\n while (self.p() in PREC or self.p() in ('and','or')) and PREC.get(self.p(), 0)>=n:\n if stop_comma and self.p() == ',': break\n op=self.take(); q=PREC[op]; x=Node(\"binary\",(op,x,self.expr(q if op in (\"=\",\"|=\",\"+=\",\"-=\",\"*=\",\"/=\",\"%=\",\"//=\") else q+1, stop_comma)))\n if self.p()=='as' and n <= 2:\n self.take('as'); pattern=self.pattern(); self.take('|')\n return Node('bind',(x,pattern,self.expr(0)))\n return x\n def prefix(self):\n t=self.p()\n if t=='-':\n # Unary minus binds to the complete postfix term. In particular\n # ``-.?`` is try-able arithmetic, not an optional identity.\n self.take(); return Node('unary',('-',self.prefix()))\n if t=='if': return self.post(self.if_expr())\n if t in ('try','reduce','foreach','label','break','def','module','import','include'): return self.post(self.control(t))\n if t=='(': self.take(); x=self.expr(0); self.take(')'); return self.post(x)\n if t=='[':\n self.take()\n if self.p()==']': x=Node('array',(None,))\n else:\n # Commas delimit array elements here; query commas inside an\n # element remain available through parentheses.\n parts=[self.expr(1, True)]\n while self.p()==',': self.take(); parts.append(self.expr(1, True))\n combined=parts[0]\n for part in parts[1:]: combined=Node('binary',(',',combined,part))\n x=Node('array',(combined,))\n self.take(']'); return self.post(x)\n if t=='{': return self.object()\n if t=='.': self.take(); return self.post(Node('identity'))\n if t=='..': self.take(); return self.post(Node('recurse'))\n if t.startswith('.'): self.take(); return self.post(Node('field',(t[1:],)))\n if t.startswith('$'): self.take(); return self.post(Node('var',(t[1:],)))\n if t.startswith('\"'): self.take(); return self.post(Node('string',(t,)))\n if t.startswith('@'): self.take(); return self.post(Node('format',(t[1:],)))\n self.take()\n if t in ('true','false','null','nan','infinite','-infinite','-nan') or re.fullmatch(r'(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?',t): return self.post(Node('literal',(t,)))\n return self.post(Node('call',(t,())))\n def post(self,x):\n while True:\n if self.p().startswith('\"') and isinstance(x,Node) and x.operation=='format':\n x=Node('format_template',(x.arguments[0],self.take())); continue\n if self.p().startswith('\"'):\n x=Node('indexexpr',(x,Node('string',(self.take(),)))); continue\n if self.p()=='?': self.take(); x=Node('optional',(x,)); continue\n if self.p().startswith('.') and len(self.p())>1: x=Node('index',(x,self.take()[1:],False)); continue\n if self.p()=='.' and self.t[self.i+1].text.startswith('\"'):\n self.take('.'); x=Node('indexexpr',(x,Node('string',(self.take(),)))); continue\n if self.p()=='.' and self.t[self.i+1].text=='[':\n self.take('.'); continue\n if self.p()=='[':\n self.take()\n if self.p()==']': self.take(); x=Node('iterate',(x,)); continue\n a = Node('literal', ('null',)) if self.p()==':' else self.expr(0)\n if self.p()==':': self.take(); b=None if self.p()==']' else self.expr(0); self.take(']'); x=Node('slice',(x,a,b))\n else: self.take(']'); x=Node('indexexpr',(x,a))\n continue\n if self.p()=='(' and isinstance(x,Node) and x.operation=='call':\n name=x.arguments[0]; self.take(); args=[]\n if self.p()!=')':\n args.append(self.expr(1))\n # jq's grammar uses semicolons for filter arguments. The\n # corpus also exercises the permissive comma spelling.\n while self.p()==';': self.take(); args.append(self.expr(1))\n self.take(')'); x=Node('call',(name,tuple(args))); continue\n break\n return x\n def object(self):\n self.take('{'); pairs=[]\n while self.p()!='}':\n if self.p()=='(':\n self.take('('); key=self.expr(0); self.take(')')\n else:\n k=self.take()\n if k.startswith('\"'):\n key=Node('string',(k,))\n elif k.startswith('$'):\n key=Node('var',(k[1:],))\n else:\n key=Node('string',(json.dumps(k.lstrip('$').lstrip('.')),))\n if self.p()==':': self.take(); v=self.expr(1, True)\n else:\n # `{name}` and `{$name}` abbreviate an access using the key.\n if k.startswith('\"'):\n # The key itself may be an interpolated jq string; keep\n # it as a filter so decoding happens at evaluation time.\n raw = None\n v = Node('indexexpr',(Node('identity'), key))\n else:\n raw = k.lstrip('$').lstrip('.')\n if k.startswith('$'):\n key = Node('string',(json.dumps(raw),))\n v=Node('var',(raw,))\n elif not k.startswith('\"'):\n v=Node('index',(Node('identity'),raw,False))\n if key.operation == 'literal':\n raise CompileError('object key must be a string')\n if key.operation == 'literal':\n raise CompileError('object key must be a string')\n pairs.append((key,v))\n if self.p()!= '}': self.take(',')\n self.take('}'); return Node('object',(tuple(pairs),))\n\n def pattern(self):\n t=self.p()\n if t.startswith('$'):\n result=Node('pattern_var',(self.take()[1:],))\n return self._pattern_alt(result)\n if t=='[':\n self.take()\n if self.p()==']': raise CompileError('empty destructuring pattern')\n items=[]\n if self.p()!=']':\n items.append(self.pattern())\n while self.p()==',': self.take(); items.append(self.pattern())\n self.take(']'); return self._pattern_alt(Node('pattern_array',(tuple(items),)))\n if t=='{':\n self.take()\n if self.p()=='}': raise CompileError('empty destructuring pattern')\n items=[]\n if self.p()!='}':\n while True:\n if self.p() == '(':\n self.take('('); key_node = self.expr(0); self.take(')')\n if key_node.operation == 'literal':\n raise CompileError('object key must be a string')\n key = '<computed>'\n else:\n key=self.take(); key_node = None\n if key.startswith('\"'): key = json.loads(key)\n if self.p()==':':\n self.take(); pat=self.pattern()\n if key.startswith('$'):\n pat = Node('pattern_bind',(key[1:],pat))\n elif key.startswith('$'): pat=Node('pattern_var',(key[1:],))\n else: pat=Node('pattern_var',(key,))\n items.append((key_node if key_node is not None else key.lstrip('$'),pat))\n if self.p()!='}': self.take(',')\n else: break\n self.take('}'); return self._pattern_alt(Node('pattern_object',(tuple(items),)))\n raise CompileError('expected binding pattern')\n\n def _pattern_alt(self, result):\n if self.p()=='?//':\n self.take('?//'); return Node('pattern_alt',(result,self.pattern()))\n return result\n def if_expr(self):\n self.take('if'); c=self.expr(0); self.take('then'); a=self.expr(0); b=Node('literal',('null',))\n if self.p()=='else': self.take(); b=self.expr(0); self.take('end')\n elif self.p()=='elif':\n b=self._elif_expr()\n else: self.take('end'); b=Node('identity')\n return Node('if',(c,a,b))\n def _elif_expr(self):\n self.take('elif'); c=self.expr(0); self.take('then'); a=self.expr(0)\n if self.p()=='elif': b=self._elif_expr()\n elif self.p()=='else': self.take(); b=self.expr(0); self.take('end')\n else: self.take('end'); b=Node('identity')\n return Node('if',(c,a,b))\n def control(self,w):\n self.take(w)\n if w in ('module', 'import', 'include'):\n raise CompileError('module directives are not available')\n if w=='try':\n # In object values the following comma belongs to the object,\n # while the try/catch body still admits the full query pipe.\n # `try` binds more tightly than defined-or and comma. Its\n # optional catch clause is consequently visible to this control\n # production rather than being swallowed by the protected query.\n a=self.expr(10, True); b=None\n if self.p()=='catch': self.take(); b=self.expr(10, True)\n return Node('try',(a,b))\n if w=='def':\n name=self.take(); ps=[]\n if self.p()=='(': self.take();\n while self.p() not in (')',':'):\n ps.append(self.take().lstrip('$'))\n if self.p()==';': self.take()\n if ps: self.take(')')\n self.take(':'); b=self.expr(0); self.take(';')\n definition=Node('def',(name,tuple(ps),b))\n if self.p()!='<eof>': return Node('defprog',(definition,self.expr(0)))\n return definition\n if w in ('reduce','foreach'):\n src=self.expr(3); self.take('as'); pat=self.pattern(); self.take('('); init=self.expr(0); self.take(';'); upd=self.expr(2); ext=None\n if self.p()==';': self.take(); ext=self.expr(2)\n self.take(')'); return Node(w,(src,pat,init,upd,ext))\n if w=='label': name=self.take().lstrip('$'); self.take('|'); return Node('label',(name,self.expr(0)))\n if w=='break': return Node('break',(self.take().lstrip('$'),))\n return Node('unsupported',(w,))\n\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_3","type":"command_execution","command":"/bin/bash -lc \"sed -n '260,560p' sources/run_conformance.py; sed -n '1,260p' jq_interpreter/evaluator.py; sed -n '1,220p' jq_interpreter/interpreter.py\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_3","type":"command_execution","command":"/bin/bash -lc \"sed -n '260,560p' sources/run_conformance.py; sed -n '1,260p' jq_interpreter/evaluator.py; sed -n '1,220p' jq_interpreter/interpreter.py\"","aggregated_output":" return True\n\n\n# --------------------------------------------------------------------------------------------\n# Execution\n# --------------------------------------------------------------------------------------------\n\n\ndef run_case(case: Case, argv: list[str], timeout: float) -> Result:\n try:\n completed = subprocess.run(\n [*argv, \"-c\", case.program],\n input=case.stdin,\n capture_output=True,\n text=True,\n timeout=timeout,\n )\n except subprocess.TimeoutExpired:\n return Result(case, ERROR, detail=f\"timed out after {timeout:g}s\")\n except OSError as exc:\n raise HarnessError(f\"cannot execute {shlex.join(argv)}: {exc}\") from exc\n\n actual = split_lines(completed.stdout)\n stderr = completed.stderr.strip()\n code = completed.returncode\n first_diagnostic = split_lines(stderr)[0] if stderr else \"\"\n\n if case.expect_failure:\n # The corpus's %%FAIL cases are programs that must be rejected at compile time. Accepting\n # one and then failing at run time is a different, wrong behaviour, so the compile-error\n # code specifically -- not merely a non-zero exit -- is what passes here.\n if code == EXIT_COMPILE_ERROR:\n return Result(case, PASS, return_code=code, stderr=stderr)\n detail = (\n \"program was accepted, but the corpus marks it %%FAIL\"\n if code == 0\n else f\"exited {code}; a rejected program must exit {EXIT_COMPILE_ERROR}\"\n )\n return Result(case, FAIL, detail=detail, actual=actual, return_code=code, stderr=stderr)\n\n if code == EXIT_COMPILE_ERROR:\n return Result(\n case,\n FAIL,\n detail=f\"program did not compile: {first_diagnostic}\",\n actual=actual,\n return_code=code,\n stderr=stderr,\n )\n if code not in (0, EXIT_RUNTIME_ERROR):\n # A runtime error is legitimate: several cases raise part-way through a generator and are\n # judged on the outputs produced before the raise, exactly as upstream judges them. Any\n # other non-zero status is the program failing in a way the contract does not describe.\n return Result(\n case,\n FAIL,\n detail=f\"exited {code}: {first_diagnostic}\",\n actual=actual,\n return_code=code,\n stderr=stderr,\n )\n if not outputs_match(case.expected, actual):\n return Result(\n case,\n FAIL,\n detail=\"output mismatch\",\n actual=actual,\n return_code=code,\n stderr=stderr,\n )\n return Result(case, PASS, actual=actual, return_code=code, stderr=stderr)\n\n\n# --------------------------------------------------------------------------------------------\n# Reporting\n# --------------------------------------------------------------------------------------------\n\n\ndef _render_failure(result: Result) -> str:\n case = result.case\n lines = [\n f\"FAIL {CORPUS.name}:{case.line} {result.detail}\",\n f\" program: {case.program}\",\n ]\n if not case.expect_failure:\n lines.append(f\" input: {case.stdin}\")\n lines.append(f\" expected: {case.expected if case.expected else '(no output)'}\")\n lines.append(f\" actual: {result.actual if result.actual else '(no output)'}\")\n if result.stderr:\n lines.append(f\" stderr: {split_lines(result.stderr)[0]}\")\n return \"\\n\".join(lines)\n\n\ndef main(argv: list[str] | None = None) -> int:\n parser = argparse.ArgumentParser(\n description=\"Run the upstream jq conformance corpus against a candidate implementation.\",\n )\n parser.add_argument(\"--jq\", default=None, help=\"candidate command (default: $JQ)\")\n parser.add_argument(\"--timeout\", type=float, default=DEFAULT_TIMEOUT, help=\"seconds per case\")\n parser.add_argument(\"--json\", action=\"store_true\", help=\"machine-readable report\")\n parser.add_argument(\"-v\", \"--verbose\", action=\"store_true\", help=\"list passing cases too\")\n parser.add_argument(\"--list\", action=\"store_true\", help=\"print the cases and run nothing\")\n parser.add_argument(\n \"--select\",\n default=None,\n metavar=\"REGEX\",\n help=\"run only cases whose program matches REGEX (development aid; the acceptance \"\n \"gate always runs the whole corpus)\",\n )\n args = parser.parse_args(argv)\n\n try:\n return _run(args)\n except HarnessError as exc:\n print(f\"error: {exc}\", file=sys.stderr)\n return 2\n\n\ndef _run(args: argparse.Namespace) -> int:\n if not CORPUS.is_file():\n raise HarnessError(f\"corpus not found at {CORPUS}\")\n\n cases = parse_corpus(CORPUS.read_text(encoding=\"utf-8\"))\n excluded = apply_exclusions(cases, parse_exclusions(EXCLUSIONS))\n\n selector = re.compile(args.select) if args.select else None\n if selector is not None:\n cases = [case for case in cases if selector.search(case.program)]\n\n if args.list:\n for case in cases:\n mark = \"skip\" if case.line in excluded else \"run \"\n print(f\"{mark} {CORPUS.name}:{case.line} {case.program}\")\n print(f\"\\n{len(cases)} cases, {sum(1 for c in cases if c.line in excluded)} excluded\")\n return 0\n\n command = args.jq or os.environ.get(\"JQ\") or \"\"\n if not command.strip():\n raise HarnessError(\n \"JQ is not set; give the command that runs your implementation, e.g.\\n\"\n ' JQ=\"$PWD/jq\" python3 sources/run_conformance.py'\n )\n jq_argv = shlex.split(command)\n\n results: list[Result] = []\n for case in cases:\n if case.line in excluded:\n results.append(Result(case, SKIP, detail=\"declared in exclusions.txt\"))\n continue\n results.append(run_case(case, jq_argv, args.timeout))\n\n tally = {status: sum(1 for r in results if r.status == status) for status in\n (PASS, FAIL, ERROR, SKIP)}\n summary = (\n f\"jq conformance: {tally[PASS]} passed, {tally[FAIL]} failed, \"\n f\"{tally[ERROR]} errored, {tally[SKIP]} skipped \"\n f\"(corpus {CORPUS.name} @ jq-1.8.2)\"\n )\n\n if args.json:\n print(json.dumps(\n {\n \"candidate\": jq_argv,\n \"corpus\": CORPUS.name,\n \"summary\": tally,\n \"cases\": [\n {\n \"line\": r.case.line,\n \"program\": r.case.program,\n \"status\": r.status,\n \"detail\": r.detail,\n \"expect_failure\": r.case.expect_failure,\n \"expected\": r.case.expected,\n \"actual\": r.actual,\n }\n for r in results\n if args.verbose or r.status != PASS\n ],\n },\n indent=2,\n ))\n else:\n for result in results:\n if result.status in (FAIL, ERROR):\n print(_render_failure(result))\n elif args.verbose and result.status == PASS:\n print(f\"ok {CORPUS.name}:{result.case.line} {result.case.program}\")\n elif args.verbose and result.status == SKIP:\n print(f\"skip {CORPUS.name}:{result.case.line} {result.case.program}\")\n print(summary)\n\n return 0 if tally[FAIL] == 0 and tally[ERROR] == 0 else 1\n\n\nif __name__ == \"__main__\":\n raise SystemExit(main())\n\"\"\"Ordered generator evaluator boundary.\"\"\"\nimport json\nimport math\nimport datetime\n\nfrom .ast import Add, Array, Comma, Filter, Format, Identity, Iterate, Literal, Limit, Node, Pipe, Raise, StringTemplate\nfrom .errors import RuntimeError\nfrom .runtime import JsonValue, ValueStream, identity_stream\n\n\ndef evaluate(program: Filter, value: JsonValue) -> ValueStream:\n \"\"\"Evaluate one input as an ordered stream of output values.\"\"\"\n if isinstance(program, Node):\n yield from _node(program, value, {})\n return\n if isinstance(program, Identity):\n yield from identity_stream(value)\n return\n if isinstance(program, Iterate):\n if isinstance(value, list):\n yield from value\n elif isinstance(value, dict):\n yield from value.values()\n else:\n raise RuntimeError(f\"Cannot iterate over {_type_name(value)} ({_stringify(value)})\")\n return\n if isinstance(program, Literal):\n yield program.value\n return\n if isinstance(program, Pipe):\n for intermediate in evaluate(program.left, value): yield from evaluate(program.right, intermediate)\n return\n if isinstance(program, Add):\n left = list(evaluate(program.left, value))\n right = list(evaluate(program.right, value))\n for first in left:\n for second in right:\n if isinstance(first, (int, float)) and isinstance(second, (int, float)):\n yield first + second\n elif isinstance(first, str) and isinstance(second, str): yield first + second\n elif first is None: yield second\n elif second is None: yield first\n else: raise RuntimeError(\"cannot add values\")\n return\n if isinstance(program, StringTemplate):\n pieces: list[str] = []\n for part in program.parts:\n pieces.append(part if isinstance(part, str) else \"\".join(_stringify(x) for x in evaluate(part, value)))\n yield \"\".join(pieces)\n return\n if isinstance(program, Format):\n if program.template is None: yield _apply_format(program.name, value)\n else:\n pieces: list[str] = []\n for part in program.template.parts:\n if isinstance(part, str): pieces.append(part)\n else:\n pieces.extend(_apply_format(program.name, item) for item in evaluate(part, value))\n yield \"\".join(pieces)\n return\n if isinstance(program, Comma):\n yield from evaluate(program.left, value)\n yield from evaluate(program.right, value)\n return\n if isinstance(program, Raise):\n raise RuntimeError(program.message)\n if isinstance(program, Array):\n yield list(evaluate(program.expression, value))\n return\n if isinstance(program, Limit):\n outputs = iter(evaluate(program.expression, value))\n for _ in range(program.count):\n try:\n yield next(outputs)\n except StopIteration:\n break\n return\n raise RuntimeError(\"unknown compiled filter\")\n\ndef _node(node: Node, value: object, env: dict[str, object]) -> ValueStream:\n op, a = node.operation, node.arguments\n if op == \"identity\": yield value\n elif op == \"literal\":\n text=a[0]; special={\"true\":True,\"false\":False,\"null\":None,\"nan\":float(\"nan\"),\"infinite\":float(\"inf\"),\"-infinite\":float(\"-inf\"),\"-nan\":float(\"nan\")}; yield special[text] if text in special else json.loads(text)\n elif op == \"string\": yield _decode_string(a[0], value, env)\n elif op == \"format\": yield _apply_format(a[0], value)\n elif op == \"format_template\":\n # Interpolation is evaluated first; the formatter consumes the\n # resulting string (not the original input value).\n yield _apply_format(a[0], _decode_string(a[1], value, env))\n elif op == \"var\":\n if a[0] == '__loc__':\n yield {'file': '<top-level>', 'line': 1}\n return\n if a[0] in env and not isinstance(env[a[0]], tuple):\n bound = env[a[0]]\n if isinstance(bound, Node): yield from _node(bound, value, env)\n else: yield bound\n return\n if a[0] in env.get('__params__', {}):\n captured, argument = env['__params__'][a[0]]\n yield from _node(argument, value, captured)\n return\n if a[0] not in env: raise RuntimeError(f\"variable ${a[0]} is not defined\")\n bound = env[a[0]]\n if isinstance(bound, tuple) and bound and bound[0] == '__closure__':\n yield from _node(bound[1], value, {**env, **bound[2]})\n elif isinstance(bound, Node):\n yield from _node(bound, value, env)\n else:\n yield bound\n elif op == \"bind\":\n for item in _node(a[0], value, env):\n bound=dict(env)\n _initialize_pattern(a[1], bound)\n if not _bind_pattern(a[1], item, bound):\n continue\n # `exp as $x | rest` binds the value produced by exp while the\n # remainder continues with the original input.\n yield from _node(a[2], value, bound)\n elif op == \"field\": yield _index(value, a[0])\n elif op == \"recurse\":\n def walk(item):\n yield item\n if isinstance(item, list):\n for child in item: yield from walk(child)\n elif isinstance(item, dict):\n for child in item.values(): yield from walk(child)\n yield from walk(value)\n elif op == \"index\":\n for base in _node(a[0],value,env): yield _index(base,a[1])\n elif op == \"iterate\":\n for base in _node(a[0],value,env):\n if isinstance(base,dict): yield from base.values()\n elif isinstance(base,list): yield from base\n else: raise RuntimeError(f\"Cannot iterate over {_type_name(base)} ({_stringify(base)})\")\n elif op in (\"indexexpr\",\"slice\"):\n for base in _node(a[0],value,env):\n if op==\"slice\":\n # Slice bounds are filters over the surrounding input, not\n # over the value being sliced (for example map([1,2][0:.])).\n start=_one(a[1],value,env); end=None if a[2] is None else _one(a[2],value,env)\n import math as _math\n first = 0 if start is None or (isinstance(start, float) and _math.isnan(start)) else _math.floor(start)\n last = None if end is None or (isinstance(end, float) and _math.isnan(end)) else _math.ceil(end)\n if first < 0: first = max(0, len(base) + int(first))\n if last is not None and last < 0: last = max(0, len(base) + int(last))\n if base is None:\n yield None\n elif isinstance(base, (list, str)):\n yield base[int(first):None if last is None else int(last)]\n else:\n raise RuntimeError(f'Cannot index {_type_name(base)} with string (\"\\\")')\n else:\n for key in _node(a[1], value, env):\n yield _index(base, key)\n elif op == \"array\": yield [] if a[0] is None else list(_node(a[0],value,env))\n elif op == \"object\":\n results=[{}]\n for key, expr in a[0]:\n keys=list(_node(key,value,env))\n values=list(_node(expr,value,env))\n expanded=[]\n for prior in results:\n for k in keys:\n for v in values:\n item=dict(prior); item[str(k)]=v; expanded.append(item)\n results=expanded\n yield from results\n elif op == \"binary\": yield from _binary(a[0],a[1],a[2],value,env)\n elif op == \"unary\":\n # Unary operators are filters and must preserve generator\n # multiplicity (``-.[]`` negates every array element).\n for x in _node(a[1], value, env):\n if not isinstance(x, (int, float)) or isinstance(x, bool):\n raise RuntimeError(f\"{_type_name(x)} ({_short(x)}) cannot be negated\")\n yield -x\n elif op == \"optional\":\n stream = iter(_node(a[0], value, env))\n while True:\n try:\n yield next(stream)\n except StopIteration:\n return\n except (RuntimeError, ValueError, TypeError, IndexError):\n return\n elif op == \"if\":\n # The condition is a filter, not a scalar expression. jq evaluates\n # each condition result independently and therefore may select both\n # branches for one input.\n for condition in _node(a[0], value, env):\n branch = a[1] if _truth(condition) else a[2]\n yield from _node(branch, value, env)\n elif op == \"try\":\n try: yield from _node(a[0],value,env)\n except (RuntimeError, ValueError, TypeError, IndexError) as error:\n if a[1] is not None:\n caught = error.args[0] if error.args else str(error)\n yield from _node(a[1],caught,env)\n elif op == \"label\":\n try: yield from _node(a[1], value, {**env, '__label__': a[0]})\n except _Break as exc:\n if exc.name != a[0]: raise\n elif op == \"break\":\n raise _Break(a[0])\n elif op in (\"reduce\", \"foreach\"):\n states=list(_node(a[0], value, env))\n # Binary filters in jq are generator products whose divisor-side\n # stream is advanced outermost. This matters for reductions and\n # foreach because their state observes the ordering, even though the\n # resulting multiset is unchanged.\n source = a[0]\n if (source.operation == 'binary' and source.arguments[0] == '/'\n and source.arguments[1].operation == 'iterate'\n and source.arguments[2].operation == 'iterate'):\n left = list(_node(source.arguments[1], value, env))\n right = list(_node(source.arguments[2], value, env))\n states = [x / y for y in right for x in left]\n initial=list(_node(a[2], value, env))\n if op == 'foreach':\n for start in initial:\n current = start\n for item in states:\n bound=dict(env)\n if not _bind_pattern(a[1], item, bound): continue\n outputs=list(_node(a[3], current, bound))\n for result in outputs:\n current = result\n if a[4] is None: yield result\n else: yield from _node(a[4], result, bound)\n return\n currents=initial\n for item in states:\n next_currents=[]\n for current in currents:\n bound=dict(env)\n _initialize_pattern(a[1], bound)\n if not _bind_pattern(a[1], item, bound):\n continue\n next_currents.extend(_node(a[3], current, bound))\n currents=next_currents\n if op == \"foreach\":\n if a[4] is None:\n yield from currents\n else:\n for result in currents: yield from _node(a[4], result, env)\n if op==\"reduce\": yield from currents\n elif op == \"call\": yield from _call(a[0],a[1],value,env)\n elif op == \"def\":\n env.setdefault('__funcs__',{})[(a[0], len(a[1]))]=(a[1],a[2])\n yield value\n elif op == \"defprog\":\n funcs=dict(env.get('__funcs__',{}))\n definitions=[]\n program: Node = node\n while program.operation == 'defprog':\n definitions.append(program.arguments[0].arguments)\n program = program.arguments[1]\n # Each definition captures the overload set visible at its point of\n # declaration. Later redefinitions affect the remainder of the\n\"\"\"Application-facing interpreter orchestration.\"\"\"\n\nimport json\nfrom collections.abc import Iterable, Iterator\n\nfrom .evaluator import evaluate\nfrom .parser import parse\nfrom .runtime import JsonValue\n\n\nclass Interpreter:\n \"\"\"Compile once, then evaluate each JSON input in order.\"\"\"\n\n def __init__(self, program: str) -> None:\n self._compiled = parse(program)\n\n def run(self, inputs: Iterable[JsonValue]) -> Iterator[JsonValue]:\n \"\"\"Yield every output, preserving input and generator ordering.\"\"\"\n for value in inputs:\n yield from evaluate(self._compiled, value)\n\n\ndef parse_input(line: str) -> JsonValue:\n \"\"\"Decode one JSON input value.\"\"\"\n return json.loads(line.lstrip(\"\\ufeff\"), parse_constant=_parse_json_constant)\n\n\ndef parse_inputs(text: str) -> Iterator[JsonValue]:\n \"\"\"Decode every whitespace-separated JSON value in an input stream.\n\n ``jq`` accepts JSON values separated by arbitrary whitespace, so a value may\n span multiple physical lines. ``raw_decode`` preserves the boundary\n between successive values without requiring a non-standard JSON parser.\n \"\"\"\n # jq accepts its non-standard constants in lower case as well. The\n # standard decoder only dispatches parse_constant for JSON's capitalized\n # spellings, so normalize standalone bare constants before decoding.\n import re\n text = re.sub(r'(?<![A-Za-z_])-(?:nan|infinite)(?![A-Za-z_])', lambda m: '-NaN' if 'nan' in m.group(0) else '-Infinity', text)\n text = re.sub(r'(?<![A-Za-z_])(?:nan|infinite)(?![A-Za-z_])', lambda m: 'NaN' if m.group(0) == 'nan' else 'Infinity', text)\n decoder = json.JSONDecoder(parse_constant=_parse_json_constant)\n position = 0\n while True:\n while position < len(text) and text[position].isspace():\n position += 1\n if position >= len(text):\n return\n if position == 0 and text.startswith(\"\\ufeff\"):\n position += 1\n continue\n value, position = decoder.raw_decode(text, position)\n yield value\n\n\ndef _parse_json_constant(value: str) -> float:\n \"\"\"Decode jq's accepted non-standard numeric constants.\"\"\"\n return {\"NaN\": float(\"nan\"), \"nan\": float(\"nan\"),\n \"Infinity\": float(\"inf\"), \"infinite\": float(\"inf\"),\n \"-Infinity\": float(\"-inf\"), \"-infinite\": float(\"-inf\"),\n \"-NaN\": float(\"nan\"), \"-nan\": float(\"nan\")} [value]\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_4","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\nimport sys,os,re,json\nsys.path.insert(0,'sources'); import run_conformance as h\ncases=h.parse_corpus(h.CORPUS.read_text()); ex=h.apply_exclusions(cases,h.parse_exclusions(h.EXCLUSIONS));\nfor name,rx in [('p3',r'\\\\.|\\\\[|\\\\{|\\\\+|\\\\-|\\\\*|/|%'),('p4',r'%%FAIL|if |try |reduce |foreach |def | as |label |module|include')]:\n print(name)\n out=[]\n for c in cases:\n if c.line in ex or not re.search(rx,c.program): continue\n r=h.run_case(c,[os.path.abspath('jq')],1.0)\n if r.status\"'!='\"'pass': out.append((c.line,c.program,r.status,r.detail,r.actual,c.expected,r.return_code))\n print('fail',len(out))\n for x in out: print(json.dumps(x,ensure_ascii=False)[:1800])\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.started","item":{"id":"item_5","type":"command_execution","command":"/bin/bash -lc \"for q in 'reduce ' 'foreach ' 'def ' 'if ' 'try ' ' as ' 'label ' '\\\\.\\\\[' 'object' ; do echo ===\"'$q; timeout 25s bash -c \"JQ='\"\\\\\"'$PWD/jq python3 sources/run_conformance.py --select '\"\\\\\\\"\"'$q'\"\\\\\\\" --json\\\" | python3 -c 'import sys,json; d=json.load(sys.stdin); print(d[\\\"summary\\\"]); [print(x) for x in d[\\\"cases\\\"]]' 2>/dev/null || echo timed; done\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_1","type":"command_execution","command":"/bin/bash -lc \"ls -la && find jq_interpreter -maxdepth 2 -type f -print && python3 - <<'PY'\nimport json, os, subprocess, sys\nfor name, sel in [('parse-003', r'\\\\.|\\\\[|\\\\{|\\\\+|\\\\-|\\\\*|/|%'), ('parse-004', r'%%FAIL|if |try |reduce |foreach |def | as |label |module|include')]:\n p=subprocess.run([sys.executable,'sources/run_conformance.py','--select',sel,'--json'],capture_output=True,text=True,env={**os.environ,'JQ':os.path.abspath('jq')})\n print('\\\\n###',name,'rc',p.returncode)\n try:\n d=json.loads(p.stdout); print(d['summary']);\n for c in d.get('cases',[]):\n if c.get('status') not in ('pass','skip'):\n print(json.dumps(c,ensure_ascii=False)[:2000])\n except Exception: print(p.stdout, p.stderr)\nPY\"","aggregated_output":"\n### parse-003 rc 1\n{'pass': 425, 'fail': 30, 'error': 0, 'skip': 9}\n{\"line\": 661, \"program\": \"9E999999999, 9999999999E999999990, 1E-999999999, 0.000000001E-999999990\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"9E+999999999\", \"9.999999999E+999999999\", \"1E-999999999\", \"1E-999999999\"], \"actual\": [\"null\", \"null\", \"0.0\", \"0.0\"]}\n{\"line\": 689, \"program\": \"[(infinite, -infinite) % (1, -1, infinite)]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"[0,0,0,0,0,-1]\"], \"actual\": []}\n{\"line\": 693, \"program\": \"[nan % 1, 1 % nan | isnan]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"[true,true]\"], \"actual\": [\"[null,true]\"]}\n{\"line\": 1201, \"program\": \"pick(.a.b.c)\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"{\\\"a\\\":{\\\"b\\\":{\\\"c\\\":null}}}\"], \"actual\": []}\n{\"line\": 1258, \"program\": \".[] | try (getpath([\\\"a\\\",0,\\\"b\\\"]) |= 5) catch .\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"b\\\":0,\\\"a\\\":[{\\\"b\\\":5}]}\", \"\\\"Cannot index number with number (0)\\\"\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"\\\"Cannot index number with string (\\\\\\\"b\\\\\\\")\\\"\", \"\\\"Cannot index object with number (0)\\\"\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"c\\\":3,\\\"b\\\":5}]}\"], \"actual\": [\"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"b\\\":0,\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"b\\\":5},1]}\", \"\\\"Cannot index object with number (0)\\\"\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"c\\\":3,\\\"b\\\":5}]}\"]}\n{\"line\": 1302, \"program\": \"try (def x: reverse; x=10) catch .\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"\\\"Invalid path expression with result [2,1,0]\\\"\"], \"actual\": [\"\\\"Invalid path expression\\\"\"]}\n{\"line\": 1306, \"program\": \".[] = 1\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"[1,1,1,1,1,1]\"], \"actual\": []}\n{\"line\": 1693, \"program\": \"[min, max, min_by(.[1]), max_by(.[1]), min_by(.[2]), max_by(.[2])]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"[[1,3,\\\"a\\\"],[4,2,\\\"a\\\"],[3,1,\\\"a\\\"],[2,4,\\\"a\\\"],[4,2,\\\"a\\\"],[1,3,\\\"a\\\"]]\"], \"actual\": [\"[[1,3,\\\"a\\\"],[4,2,\\\"a\\\"],[3,1,\\\"a\\\"],[3,1,\\\"a\\\"],[2,4,\\\"a\\\"],[2,4,\\\"a\\\"]]\"]}\n{\"line\": 1697, \"program\": \"[min,max,min_by(.),max_by(.)]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"[null,null,null,null]\"], \"actual\": [\"[null,null,[],[]]\"]}\n{\"line\": 1847, \"program\": \"strftime(\\\"%A, %B %d, %Y\\\")\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"\\\"Tuesday, June 30, 2015\\\"\"], \"actual\": []}\n{\"line\": 1851, \"program\": \"strftime(\\\"%Y-%m-%dT%H:%M:%SZ\\\")\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"\\\"2024-03-15T00:00:00Z\\\"\"], \"actual\": []}\n{\"line\": 1889, \"program\": \"[strptime(\\\"%Y-%m-%dT%H:%M:%SZ\\\")|(.,mktime)]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"[[2015,2,5,23,51,47,4,63],1425599507]\"], \"actual\": []}\n{\"line\": 1895, \"program\": \"last(range(365 * 67)|(\\\"1970-03-01T01:02:03Z\\\"|strptime(\\\"%Y-%m-%dT%H:%M:%SZ\\\")|mktime) + (86400 * .)|strftime(\\\"%Y-%m-%dT%H:%M:%SZ\\\")|strptime(\\\"%Y-%m-%dT%H:%M:%SZ\\\"))\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"[2037,1,11,1,2,3,3,41]\"], \"actual\": []}\n{\"line\": 2005, \"program\": \"\\\"x\\\" * range(0; 12; 2) + \\\"☆\\\" * 8 | try -. catch .\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"\\\"string (\\\\\\\"☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxx☆☆☆☆☆☆...\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxx☆☆☆☆☆☆...\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxx☆☆☆☆☆...\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxxxx☆☆☆☆...\\\\\\\") cannot be negated\\\"\"], \"actual\": [\"\\\"string (\\\\\\\"☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\"]}\n{\"line\": 2014, \"program\": \"try (. + \\\"x\\\") catch . == if have_decnum then \\\"number (12345678901234567890123456...) and string (\\\\\\\"x\\\\\\\") cannot be added\\\" else \\\"number (12345678901234568000000000...) and string (\\\\\\\"x\\\\\\\") cannot be added\\\" end\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"true\"], \"actual\": [\"false\"]}\n{\"line\": 2089, \"program\": \"INDEX(range(5)|[., \\\"foo\\\\(.)\\\"]; .[0])\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"{\\\"0\\\":[0,\\\"foo0\\\"],\\\"1\\\":[1,\\\"foo1\\\"],\\\"2\\\":[2,\\\"foo2\\\"],\\\"3\\\":[3,\\\"foo3\\\"],\\\"4\\\":[4,\\\"foo4\\\"]}\"], \"actual\": []}\n{\"line\": 2093, \"program\": \"JOIN({\\\"0\\\":[0,\\\"abc\\\"],\\\"1\\\":[1,\\\"bcd\\\"],\\\"2\\\":[2,\\\"def\\\"],\\\"3\\\":[3,\\\"efg\\\"],\\\"4\\\":[4,\\\"fgh\\\"]}; .[0]|tostring)\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"[[[5,\\\"foo\\\"],null],[[3,\\\"bar\\\"],[3,\\\"efg\\\"]],[[1,\\\"foobar\\\"],[1,\\\"bcd\\\"]]]\"], \"actual\": []}\n{\"line\": 2135, \"program\": \"(.. | select(type == \\\"object\\\" and has(\\\"b\\\") and (.b | type) == \\\"array\\\")|.b) |= .[0]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"{\\\"a\\\": {\\\"b\\\": 1}}\"], \"actual\": []}\n{\"line\": 2161, \"program\": \"\\\"-1\\\"|IN(builtins[] / \\\"/\\\"|.[1])\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"false\"], \"actual\": []}\n{\"line\": 2165, \"program\": \"all(builtins[] / \\\"/\\\"; .[1]|tonumber >= 0)\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"true\"], \"actual\": []}\n{\"line\": 2169, \"program\": \"builtins|any(.[:1] == \\\"_\\\")\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"false\"], \"actual\": []}\n{\"line\": 2228, \"program\": \"-. | tojson == if have_decnum then \\\"0.12345678901234567890123456789\\\" else \\\"0.12345678901234568\\\" end\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"true\"], \"actual\": [\"false\"]}\n{\"line\": 2232, \"program\": \"[1E+1000,-1E+1000 | tojson] == if have_decnum then [\\\"1E+1000\\\",\\\"-1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\",\\\"-1.7976931348623157e+308\\\"] end\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"true\"], \"actual\": [\"false\"]}\n{\"line\": 2241, \"program\": \".[] as $n | $n+0 | [., tostring, . == $n]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"[-9007199254740992,\\\"-9007199254740992\\\",true]\", \"[-9007199254740992,\\\"-9007199254740992\\\",true]\", \"[9007199254740992,\\\"9007199254740992\\\",true]\", \"[9007199254740992,\\\"9007199254740992\\\",true]\", \"[13911860366432392,\\\"13911860366432392\\\",true]\"], \"actual\": [\"[-9007199254740992.0,\\\"-9007199254740992.0\\\",false]\", \"[-9007199254740992,\\\"-9007199254740992\\\",true]\", \"[9007199254740992,\\\"9007199254740992\\\",true]\", \"[9007199254740992.0,\\\"9007199254740992.0\\\",false]\", \"[1.3911860366432392e+16,\\\"1.3911860366432392e+16\\\",false]\"]}\n{\"line\": 2271, \"program\": \"[1E+1000,-1E+1000 | abs | tojson] | unique == if have_decnum then [\\\"1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\"] end\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"true\"], \"actual\": [\"false\"]}\n{\"line\": 2275, \"program\": \"[1E+1000,-1E+1000 | length | tojson] | unique == if have_decnum then [\\\"1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\"] end\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"true\"], \"actual\": [\"false\"]}\n{\"line\": 2425, \"program\": \"[walk(.,1)]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"[{\\\"x\\\":0},1]\"], \"actual\": [\"[{\\\"x\\\":0}]\"]}\n{\"line\": 2430, \"program\": \"walk(select(IN({}, []) | not))\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"{\\\"a\\\":1}\"], \"actual\": []}\n{\"line\": 2455, \"program\": \"[[range(10)] | .[1.1,1.5,1.7]]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"[1,1,1]\"], \"actual\": []}\n{\"line\": 2548, \"program\": \"strflocaltime(\\\"\\\" | ., @uri)\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"\\\"\\\"\", \"\\\"\\\"\"], \"actual\": []}\n\n### parse-004 rc 1\n{'pass': 202, 'fail': 9, 'error': 0, 'skip': 13}\n{\"line\": 1258, \"program\": \".[] | try (getpath([\\\"a\\\",0,\\\"b\\\"]) |= 5) catch .\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"b\\\":0,\\\"a\\\":[{\\\"b\\\":5}]}\", \"\\\"Cannot index number with number (0)\\\"\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"\\\"Cannot index number with string (\\\\\\\"b\\\\\\\")\\\"\", \"\\\"Cannot index object with number (0)\\\"\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"c\\\":3,\\\"b\\\":5}]}\"], \"actual\": [\"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"b\\\":0,\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"b\\\":5},1]}\", \"\\\"Cannot index object with number (0)\\\"\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"c\\\":3,\\\"b\\\":5}]}\"]}\n{\"line\": 1302, \"program\": \"try (def x: reverse; x=10) catch .\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"\\\"Invalid path expression with result [2,1,0]\\\"\"], \"actual\": [\"\\\"Invalid path expression\\\"\"]}\n{\"line\": 2005, \"program\": \"\\\"x\\\" * range(0; 12; 2) + \\\"☆\\\" * 8 | try -. catch .\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"\\\"string (\\\\\\\"☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxx☆☆☆☆☆☆...\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxx☆☆☆☆☆☆...\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxx☆☆☆☆☆...\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxxxx☆☆☆☆...\\\\\\\") cannot be negated\\\"\"], \"actual\": [\"\\\"string (\\\\\\\"☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\"]}\n{\"line\": 2014, \"program\": \"try (. + \\\"x\\\") catch . == if have_decnum then \\\"number (12345678901234567890123456...) and string (\\\\\\\"x\\\\\\\") cannot be added\\\" else \\\"number (12345678901234568000000000...) and string (\\\\\\\"x\\\\\\\") cannot be added\\\" end\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"true\"], \"actual\": [\"false\"]}\n{\"line\": 2228, \"program\": \"-. | tojson == if have_decnum then \\\"0.12345678901234567890123456789\\\" else \\\"0.12345678901234568\\\" end\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"true\"], \"actual\": [\"false\"]}\n{\"line\": 2232, \"program\": \"[1E+1000,-1E+1000 | tojson] == if have_decnum then [\\\"1E+1000\\\",\\\"-1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\",\\\"-1.7976931348623157e+308\\\"] end\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"true\"], \"actual\": [\"false\"]}\n{\"line\": 2241, \"program\": \".[] as $n | $n+0 | [., tostring, . == $n]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"[-9007199254740992,\\\"-9007199254740992\\\",true]\", \"[-9007199254740992,\\\"-9007199254740992\\\",true]\", \"[9007199254740992,\\\"9007199254740992\\\",true]\", \"[9007199254740992,\\\"9007199254740992\\\",true]\", \"[13911860366432392,\\\"13911860366432392\\\",true]\"], \"actual\": [\"[-9007199254740992.0,\\\"-9007199254740992.0\\\",false]\", \"[-9007199254740992,\\\"-9007199254740992\\\",true]\", \"[9007199254740992,\\\"9007199254740992\\\",true]\", \"[9007199254740992.0,\\\"9007199254740992.0\\\",false]\", \"[1.3911860366432392e+16,\\\"1.3911860366432392e+16\\\",false]\"]}\n{\"line\": 2271, \"program\": \"[1E+1000,-1E+1000 | abs | tojson] | unique == if have_decnum then [\\\"1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\"] end\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"true\"], \"actual\": [\"false\"]}\n{\"line\": 2275, \"program\": \"[1E+1000,-1E+1000 | length | tojson] | unique == if have_decnum then [\\\"1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\"] end\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expect_failure\": false, \"expected\": [\"true\"], \"actual\": [\"false\"]}\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_6","type":"command_execution","command":"/bin/bash -lc \"sed -n '220,620p' jq_interpreter/evaluator.py; sed -n '1,240p' jq_interpreter/ast.py; grep -R \\\"have_decnum\\\\|Invalid path expression\\\\|getpath\\\\|reverse\\\" -n jq_interpreter\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_6","type":"command_execution","command":"/bin/bash -lc \"sed -n '220,620p' jq_interpreter/evaluator.py; sed -n '1,240p' jq_interpreter/ast.py; grep -R \\\"have_decnum\\\\|Invalid path expression\\\\|getpath\\\\|reverse\\\" -n jq_interpreter\"","aggregated_output":"grep: jq_interpreter/__pycache__/evaluator.cpython-310.pyc: binary file matches\njq_interpreter/evaluator.py:365: raise RuntimeError('Invalid path expression')\njq_interpreter/evaluator.py:395: reverse=False)\njq_interpreter/evaluator.py:677: raise RuntimeError(f'Invalid path expression near attempt to iterate through {_stringify(produced[0])}')\njq_interpreter/evaluator.py:703: if op == 'call' and args[0] == 'getpath' and args[1]:\njq_interpreter/evaluator.py:881: if name == 'have_decnum': yield True; return\njq_interpreter/evaluator.py:953: if name == 'reverse':\njq_interpreter/evaluator.py:955: else: raise RuntimeError('cannot reverse value')\njq_interpreter/evaluator.py:965: for item in reversed(items):\njq_interpreter/evaluator.py:970: result.reverse()\njq_interpreter/evaluator.py:1103: raise RuntimeError(f'Invalid path expression with result {shown}')\njq_interpreter/evaluator.py:1105: raise RuntimeError(f'Invalid path expression near attempt to iterate through {shown}')\njq_interpreter/evaluator.py:1109: raise RuntimeError(f'Invalid path expression near attempt to access element {_stringify(key_value)} of {shown}')\njq_interpreter/evaluator.py:1111: raise RuntimeError(f'Invalid path expression near attempt to access element {json.dumps(tail.arguments[0])} of {shown}')\njq_interpreter/evaluator.py:1112: raise RuntimeError(f'Invalid path expression with result {shown}')\njq_interpreter/evaluator.py:1115: raise RuntimeError('Invalid path expression')\njq_interpreter/evaluator.py:1120: if not paths: raise RuntimeError('Invalid path expression')\njq_interpreter/evaluator.py:1178: if name == 'getpath':\njq_interpreter/evaluator.py:1220: for parent in sorted(grouped, key=lambda item: len(item), reverse=True):\njq_interpreter/evaluator.py:1221: for key in sorted(grouped[parent], key=lambda item: item if isinstance(item, (int, float)) else 0, reverse=True):\njq_interpreter/parser.py:296: known = set('empty error length type not tostring tojson abs fabs floor ceil round sqrt sin cos tan asin acos atan log log10 exp exp2 log2 pow keys sort add min max min_by max_by any all arrays objects iterables booleans numbers normals finites strings nulls values scalars unique reverse paths path indices builtins modulemeta input debug implode explode trim ltrim rtrim isempty have_decnum gmtime'.split())\ngrep: jq_interpreter/__pycache__/evaluator.cpython-312.pyc: binary file matches\ngrep: jq_interpreter/__pycache__/parser.cpython-310.pyc: binary file matches\ngrep: jq_interpreter/__pycache__/parser.cpython-312.pyc: binary file matches\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_7","type":"command_execution","command":"/bin/bash -lc \"sed -n '640,740p' jq_interpreter/evaluator.py; sed -n '840,990p' jq_interpreter/evaluator.py; sed -n '1060,1130p' jq_interpreter/evaluator.py; sed -n '1,180p' jq_interpreter/lexer.py\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_7","type":"command_execution","command":"/bin/bash -lc \"sed -n '640,740p' jq_interpreter/evaluator.py; sed -n '840,990p' jq_interpreter/evaluator.py; sed -n '1060,1130p' jq_interpreter/evaluator.py; sed -n '1,180p' jq_interpreter/lexer.py\"","aggregated_output":" for key in _node(args[1], value, env):\n if isinstance(key, float) and math.isnan(key):\n raise RuntimeError('Cannot set array element at NaN index')\n if isinstance(key, (dict, list)):\n raise RuntimeError(f'Cannot index object with {_type_name(key)} ({_short(key)})')\n if isinstance(key, (int, float)) and not isinstance(key, bool) and int(key) >= 10000000:\n raise RuntimeError('Array index too large')\n if isinstance(current, list) and isinstance(key, (int, float)):\n if int(key) < 0 and abs(int(key)) > len(current): raise RuntimeError('Out of bounds negative array index')\n if int(key) >= 10000000: raise RuntimeError('Array index too large')\n elif isinstance(key, (int, float)) and key < 0 and current is None:\n raise RuntimeError('Out of bounds negative array index')\n result.append(p + (key,))\n return result\n if op == 'slice':\n result = []\n for p in _paths(args[0], value, env):\n current = _get_path(value, p)\n if not isinstance(current, (list, str)):\n continue\n start = _one(args[1], value, env)\n end = None if args[2] is None else _one(args[2], value, env)\n first = 0 if start is None or (isinstance(start, float) and math.isnan(start)) else math.floor(start)\n last = len(current) if end is None or (isinstance(end, float) and math.isnan(end)) else math.ceil(end)\n if first < 0: first = max(0, len(current) + int(first))\n if last < 0: last = max(0, len(current) + int(last))\n result.extend(p + (i,) for i in range(max(0, int(first)), min(len(current), int(last))))\n return result\n if op == 'iterate':\n result = []\n for p in _paths(args[0], value, env):\n current = _get_path(value, p)\n if isinstance(current, list): result.extend(p + (i,) for i in range(len(current)))\n elif isinstance(current, dict): result.extend(p + (k,) for k in current)\n if not result and args[0].operation == 'call' and args[0].arguments[0] == 'map':\n produced = list(_node(args[0], value, env))\n if produced:\n raise RuntimeError(f'Invalid path expression near attempt to iterate through {_stringify(produced[0])}')\n return result\n if op == 'bind':\n return _paths(args[2], value, env)\n if op == 'var' and args[0] in env.get('__params__', {}):\n # Function parameters are filter aliases. When a parameter occurs on\n # the left side of an update, its caller-supplied filter supplies the\n # paths being updated (not merely its current value).\n _, argument = env['__params__'][args[0]]\n return _paths(argument, value, env)\n if op == 'binary' and args[0] == '|':\n result = []\n for p in _paths(args[1], value, env):\n current = _get_path(value, p)\n result.extend(p + tail for tail in _paths(args[2], current, env))\n return result\n if op == 'call' and not args[1] and (args[0], 0) in env.get('__funcs__', {}):\n function = env['__funcs__'][(args[0], 0)]\n closure_env = dict(env)\n if len(function) > 2:\n closure_env['__funcs__'] = function[2]\n return _paths(function[1], value, closure_env)\n if op == 'call' and not args[1] and args[0] in env:\n bound = env[args[0]]\n if isinstance(bound, tuple) and bound and bound[0] == '__closure__':\n return _paths(bound[1], value, bound[2])\n if op == 'call' and args[0] == 'getpath' and args[1]:\n path = _one(args[1][0], value, env)\n if isinstance(path, list):\n return [tuple(path)]\n if op == 'call' and args[0] == 'select' and args[1]:\n return [()] if _truth(_one(args[1][0], value, env)) else []\n if op == 'call' and not args[1] and args[0] == 'last':\n return [(-1,)]\n return []\n\ndef _assign_slice(node, value, replacement, env):\n base_node, start_node, end_node = node.arguments\n result = value\n for parent in _paths(base_node, value, env):\n current = _get_path(result, parent)\n if not isinstance(current, (list, str)):\n continue\n start = _one(start_node, current, env)\n end = None if end_node is None else _one(end_node, current, env)\n first = 0 if start is None or (isinstance(start, float) and math.isnan(start)) else math.floor(start)\n last = len(current) if end is None or (isinstance(end, float) and math.isnan(end)) else math.ceil(end)\n if isinstance(current, str):\n raise RuntimeError('Cannot update string slices')\n updated = list(current)\n updated[int(first):int(last)] = replacement if isinstance(replacement, list) else [replacement]\n result = _set_path(result, parent, updated)\n return result\n\ndef _validate_path_key(container: object, key: object, *, updating: bool) -> None:\n if isinstance(container, list):\n if isinstance(key, bool) or not isinstance(key, (int, float)) or (isinstance(key, float) and math.isnan(key)):\n message = 'Cannot set array element at NaN index' if updating and isinstance(key, float) and math.isnan(key) else 'Cannot update field at array index of array'\n raise RuntimeError(message)\n elif isinstance(container, dict) and not isinstance(key, str):\n raise RuntimeError(f'Cannot index object with {_type_name(key)} ({_short(key)})')\n\n\ndef _get_path_checked(value, path):\n local=dict(env)\n if closure:\n local['__funcs__'] = closure[0]\n if not args:\n yield from _node(body,value,local); return\n # Function parameters are filters, not eagerly evaluated values. A\n # parameter is evaluated against the function's current input each\n # time its name is used, which preserves jq's generator semantics.\n parameters = dict(local.get('__params__', {}))\n # Filter arguments are closures over the caller, not over the callee\n # after its local parameter frame has been installed. This is what\n # makes `def f(x): 1 as $x | ...` preserve the caller's `x` filter.\n captured = dict(env)\n for param, arg in zip(params, args):\n parameters[param] = (captured, arg)\n local['__params__'] = parameters\n yield from _node(body,value,local); return\n if name == 'empty': return\n if name == 'error': raise RuntimeError(_one(args[0],value,env) if args else value)\n if name=='length':\n if isinstance(value, (list, dict, str)): yield len(value)\n elif isinstance(value, (int, float)) and not isinstance(value, bool): yield abs(value)\n else: raise RuntimeError('length requires a string, array, object or number')\n return\n if name == 'add':\n items = list(_node(args[0], value, env)) if args else list(value)\n if not items: yield None\n else:\n result = items[0]\n for item in items[1:]:\n if result is None: result = item\n elif item is None: continue\n elif isinstance(result, (int,float)) and isinstance(item,(int,float)): result += item\n elif isinstance(result, str) and isinstance(item,str): result += item\n elif isinstance(result,list) and isinstance(item,list): result += item\n elif isinstance(result,dict) and isinstance(item,dict): result = {**result,**item}\n else: raise RuntimeError('cannot add values')\n yield result\n return\n if name=='type': yield 'null' if value is None else 'boolean' if isinstance(value,bool) else 'number' if isinstance(value,(int,float)) else 'string' if isinstance(value,str) else 'array' if isinstance(value,list) else 'object'; return\n if name=='not': yield not _truth(value); return\n if name == 'have_decnum': yield True; return\n if name in ('any', 'all'):\n stream = _node(args[0], value, env) if args else iter(value if isinstance(value, list) else [])\n desired = name == 'any'\n result = not desired\n for item in stream:\n tested = _one(args[1], item, env) if len(args) > 1 else item\n if _truth(tested) == desired:\n result = desired\n break\n yield result\n return\n if name in ('min', 'max', 'min_by', 'max_by'):\n items = list(_node(args[0], value, env)) if args else (list(value) if isinstance(value, list) else [])\n if not items:\n yield None\n return\n if name in ('min_by', 'max_by'):\n yield (min if name == 'min_by' else max)(items, key=lambda item: _jq_sort_key(_one(args[0], item, env)))\n else:\n yield (min if name == 'min' else max)(items, key=_jq_sort_key)\n return\n if name == 'isempty':\n try:\n next(_node(args[0], value, env))\n yield False\n except StopIteration:\n yield True\n return\n if name in ('tostring','tojson'): yield _deep_json_dumps(value) if name=='tojson' else _stringify(value); return\n if name=='abs': yield abs(value); return\n if name=='fabs': yield math.fabs(value); return\n if name=='floor': yield math.floor(value); return\n if name=='ceil': yield math.ceil(value); return\n if name=='map':\n result=[]\n for x in value:\n result.extend(_node(args[0], x, env))\n yield result; return\n if name == 'map_values':\n if isinstance(value, list):\n result=[]\n for item in value: result.extend(_node(args[0], item, env))\n yield result; return\n if isinstance(value, dict):\n result={}\n for key, item in value.items():\n outputs=list(_node(args[0], item, env))\n if outputs: result[key]=outputs[0]\n yield result; return\n raise RuntimeError('map_values requires an array or object')\n if name == 'with_entries':\n if not isinstance(value, dict): raise RuntimeError('with_entries requires an object')\n entries = [{'key': key, 'value': item} for key, item in value.items()]\n transformed = []\n for entry in entries:\n transformed.extend(_node(args[0], entry, env))\n result = {}\n for entry in transformed:\n if isinstance(entry, dict) and 'key' in entry:\n result[str(entry['key'])] = entry.get('value')\n yield result; return\n if name == 'walk':\n def visit(item):\n if isinstance(item, list):\n item = [visit(child) for child in item]\n elif isinstance(item, dict):\n item = {key: visit(child) for key, child in item.items()}\n outputs = list(_node(args[0], item, env))\n return outputs[0] if outputs else None\n yield visit(value)\n return\n if name == 'reverse':\n if isinstance(value, (list, str)): yield value[::-1]\n else: raise RuntimeError('cannot reverse value')\n return\n if name == 'flatten':\n depth = None if not args else int(_one(args[0], value, env))\n if depth is not None and depth < 0: raise RuntimeError('flatten depth must not be negative')\n if not isinstance(value, list): raise RuntimeError('flatten input must be an array')\n result=[]\n stack=[(value, depth)]\n while stack:\n items, remaining = stack.pop()\n for item in reversed(items):\n if isinstance(item, list) and (remaining is None or remaining > 0):\n stack.append((item, None if remaining is None else remaining - 1))\n else:\n result.append(item)\n result.reverse()\n yield result; return\n if name == 'contains':\n needle = _one(args[0], value, env)\n yield _contains(value, needle); return\n if name=='range':\n import itertools\n choices = [list(_node(arg, value, env)) for arg in args]\n for combo in itertools.product(*choices):\n if len(combo) == 1:\n start, end, step = 0, combo[0], 1\n else:\n start, end = combo[0], combo[1]\n step = combo[2] if len(combo) > 2 else 1\n yield from range(int(start), int(end), int(step))\n return\n if name in ('while', 'until'):\n current = value\n while True:\n tests = list(_node(args[0], current, env))\n if name == 'while' and not any(_truth(item) for item in tests):\n elif isinstance(value, str) and value in ('true', 'false'): yield value == 'true'\n else: raise RuntimeError(f'{_type_name(value)} ({_stringify(value) if not isinstance(value, str) else json.dumps(value)}) cannot be parsed as a boolean')\n return\n if name == 'utf8bytelength':\n if not isinstance(value, str): raise RuntimeError(f'{_type_name(value)} ({_stringify(value)}) only strings have UTF-8 byte length')\n yield len(value.encode()); return\n if name == 'fromjson':\n if not isinstance(value, str): raise RuntimeError('only strings can be parsed')\n if value.startswith(\"{'\"):\n raise RuntimeError(\"Invalid string literal; expected \\\", but got ' at line 1, column 5 (while parsing '{'a': 123}')\")\n try:\n if value in ('NaN', '-NaN'):\n yield float('nan'); return\n if value.startswith(('NaN', '-NaN')) and len(value) > 3:\n raise RuntimeError(f\"Invalid numeric literal at EOF at line 1, column {len(value)} (while parsing '{value}')\")\n yield _deep_json_loads(value)\n except RuntimeError: raise\n except Exception: raise RuntimeError('invalid JSON')\n return\n if name == 'path':\n # A mapped value is no longer a location. Preserve jq's useful\n # diagnostic about the first operation that makes the path invalid.\n expression = args[0]\n mapped_node = None\n tail = None\n if expression.operation == 'binary' and expression.arguments[0] == '|':\n if expression.arguments[2].operation == 'call' and expression.arguments[2].arguments[0] == 'map':\n mapped_node = expression.arguments[2]\n elif (expression.arguments[1].operation == 'binary'\n and expression.arguments[1].arguments[0] == '|'\n and expression.arguments[1].arguments[2].operation == 'call'\n and expression.arguments[1].arguments[2].arguments[0] == 'map'):\n mapped_node = expression.arguments[1].arguments[2]\n tail = expression.arguments[2]\n if mapped_node is not None:\n if expression.arguments[2] is mapped_node:\n source = expression.arguments[1]\n else:\n source = expression.arguments[1].arguments[1]\n source_values = list(_node(source, value, env))\n mapped = list(_node(mapped_node, source_values[0] if source_values else [], env))\n shown = _stringify(mapped[0]) if mapped else '[]'\n if tail is None:\n raise RuntimeError(f'Invalid path expression with result {shown}')\n if tail.operation == 'iterate':\n raise RuntimeError(f'Invalid path expression near attempt to iterate through {shown}')\n if tail.operation in ('indexexpr', 'index'):\n key = tail.arguments[1] if tail.operation == 'indexexpr' else tail.arguments[1]\n key_value = _one(key, mapped[0] if mapped else value, env) if isinstance(key, Node) else key\n raise RuntimeError(f'Invalid path expression near attempt to access element {_stringify(key_value)} of {shown}')\n if tail.operation == 'field':\n raise RuntimeError(f'Invalid path expression near attempt to access element {json.dumps(tail.arguments[0])} of {shown}')\n raise RuntimeError(f'Invalid path expression with result {shown}')\n paths = _paths(args[0], value, env)\n if not paths:\n raise RuntimeError('Invalid path expression')\n for path in paths: yield list(path)\n return\n if name == 'pick':\n paths = _paths(args[0], value, env)\n if not paths: raise RuntimeError('Invalid path expression')\n if paths[0] and paths[0][-1] < 0:\n raise RuntimeError('Out of bounds negative array index')\n yield _get_path(value, paths[0])\n return\n if name == 'paths':\n def paths_of(item, prefix=()):\n if isinstance(item, list):\n for i, child in enumerate(item):\n p=prefix+(i,); yield list(p); yield from paths_of(child,p)\n elif isinstance(item, dict):\n\"\"\"Lexical scanner for jq source text.\"\"\"\n\nfrom dataclasses import dataclass\nfrom enum import Enum, auto\nimport re\n\nfrom .errors import CompileError\n\n\nclass TokenKind(Enum):\n IDENTIFIER = auto()\n NUMBER = auto()\n STRING = auto()\n FIELD = auto()\n BINDING = auto()\n FORMAT = auto()\n KEYWORD = auto()\n OPERATOR = auto()\n DELIMITER = auto()\n INTERPOLATION_START = auto()\n INTERPOLATION_END = auto()\n END = auto()\n IDENTITY = auto()\n\n\n@dataclass(frozen=True)\nclass Token:\n kind: TokenKind\n text: str\n position: int\n\n\n_KEYWORDS = {\"as\", \"def\", \"module\", \"import\", \"include\", \"if\", \"then\", \"else\", \"elif\", \"and\", \"or\", \"end\", \"reduce\", \"foreach\", \"try\", \"catch\", \"label\", \"break\"}\n_OPERATORS = (\"//=\", \"?//\", \"!=\", \"==\", \"|=\", \"+=\", \"-=\", \"*=\", \"/=\", \"%=\", \"<=\", \">=\", \"..\", \"//\")\n_DELIMITERS = set(\".?!=;,,:|+-*/%$<>{}[]()\")\n_NUMBER = re.compile(r\"(?:[0-9]+(?:\\.[0-9]*)?|\\.[0-9]+)(?:[eE][+-]?[0-9]+)?\")\n_NAME = re.compile(r\"[A-Za-z_][A-Za-z_0-9]*\")\n_QUALIFIED_NAME = re.compile(r\"(?:[A-Za-z_][A-Za-z_0-9]*::)*[A-Za-z_][A-Za-z_0-9]*\")\n\n\ndef _error(source: str, position: int, message: str) -> CompileError:\n line = source.count(\"\\n\", 0, position) + 1\n line_start = source.rfind(\"\\n\", 0, position) + 1\n return CompileError(f\"{message} at line {line}, column {position - line_start + 1}\")\n\n\ndef _scan_string(source: str, start: int) -> tuple[list[Token], int]:\n tokens = [Token(TokenKind.STRING, '\"', start)]\n position = start + 1\n text_start = position\n while position < len(source):\n character = source[position]\n if character == \"\\\\\":\n if position + 1 >= len(source):\n raise _error(source, position, \"unterminated string\")\n if source[position + 1] == \"(\":\n if text_start < position:\n tokens.append(Token(TokenKind.STRING, source[text_start:position], text_start))\n tokens.append(Token(TokenKind.INTERPOLATION_START, \"\\\\(\", position))\n expression_start = position + 2\n cursor = expression_start\n depth = 1\n quoted_expression = False\n escaped_expression = False\n while cursor < len(source):\n current = source[cursor]\n if quoted_expression:\n if escaped_expression:\n escaped_expression = False\n elif current == \"\\\\\":\n escaped_expression = True\n elif current == '\"':\n quoted_expression = False\n elif current == '\"':\n quoted_expression = True\n elif current == \"(\":\n depth += 1\n elif current == \")\":\n depth -= 1\n if depth == 0:\n inner = tokenize(source[expression_start:cursor])\n tokens.extend(inner[:-1])\n tokens.append(Token(TokenKind.INTERPOLATION_END, \")\", cursor))\n position = cursor + 1\n text_start = position\n break\n cursor += 1\n else:\n raise _error(source, position, \"unterminated interpolation\")\n continue\n if source[position + 1] == \"u\":\n escape = source[position + 2:position + 6]\n if len(escape) != 4 or not re.fullmatch(r\"[0-9A-Fa-f]{4}\", escape):\n raise _error(source, position, \"invalid unicode escape\")\n position += 6\n else:\n if source[position + 1] not in '\"\\\\/bfnrt':\n raise _error(source, position, \"invalid escape\")\n position += 2\n continue\n if character == '\"':\n if text_start < position:\n tokens.append(Token(TokenKind.STRING, source[text_start:position], text_start))\n tokens.append(Token(TokenKind.STRING, '\"', position))\n return tokens, position + 1\n if ord(character) < 0x20:\n raise _error(source, position, \"control character in string\")\n position += 1\n raise _error(source, start, \"unterminated string\")\n\n\ndef tokenize(source: str) -> list[Token]:\n \"\"\"Tokenize jq source, retaining offsets and rejecting lexical errors.\"\"\"\n tokens: list[Token] = []\n position = 0\n while position < len(source):\n character = source[position]\n if character.isspace():\n position += 1\n continue\n if character == \"#\":\n newline = source.find(\"\\n\", position)\n position = len(source) if newline < 0 else newline + 1\n continue\n if character == '\"':\n string_tokens, position = _scan_string(source, position)\n tokens.extend(string_tokens)\n continue\n number = _NUMBER.match(source, position)\n if number:\n tokens.append(Token(TokenKind.NUMBER, number.group(), position))\n position = number.end()\n continue\n if character == \".\" and position + 1 < len(source) and source[position + 1].isalpha():\n name = _NAME.match(source, position + 1)\n assert name is not None\n tokens.append(Token(TokenKind.FIELD, source[position:name.end()], position))\n position = name.end()\n continue\n if character == \"$\":\n name = _QUALIFIED_NAME.match(source, position + 1)\n if not name:\n raise _error(source, position, \"invalid binding\")\n tokens.append(Token(TokenKind.BINDING, source[position:name.end()], position))\n position = name.end()\n continue\n if character == \"@\":\n name = _NAME.match(source, position + 1)\n if not name:\n raise _error(source, position, \"invalid format\")\n tokens.append(Token(TokenKind.FORMAT, source[position:name.end()], position))\n position = name.end()\n continue\n qualified = _QUALIFIED_NAME.match(source, position)\n if qualified:\n text = qualified.group()\n kind = TokenKind.KEYWORD if text in _KEYWORDS else TokenKind.IDENTIFIER\n tokens.append(Token(kind, text, position))\n position = qualified.end()\n continue\n operator = next((value for value in _OPERATORS if source.startswith(value, position)), None)\n if operator:\n tokens.append(Token(TokenKind.OPERATOR, operator, position))\n position += len(operator)\n continue\n if character in _DELIMITERS:\n kind = TokenKind.IDENTITY if character == \".\" else TokenKind.DELIMITER\n tokens.append(Token(kind, character, position))\n position += 1\n continue\n raise _error(source, position, \"unexpected character\")\n tokens.append(Token(TokenKind.END, \"\", len(source)))\n return tokens\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_8","type":"command_execution","command":"/bin/bash -lc \"for q in '\"'^'\"\\\\.' '\"'^'\"\\\\[' '\"'^'\"\\\\{' '[+*/%]' '[-]' 'assignment' ; do echo ===\"'$q; timeout 25s bash -c \"JQ='\"\\\\\"'$PWD/jq python3 sources/run_conformance.py --select '\"\\\\\\\"\"'$q'\"\\\\\\\" --json\\\" > /tmp/out.json; rc=\"'$?; if [ $rc -eq 0 ]; then python3 -c '\"'import json;d=json.load(open(\\\"/tmp/out.json\\\"));print(d[\\\"summary\\\"]);[print(x) for x in d[\\\"cases\\\"]]'; else echo timed-\"'$rc; fi; done'","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_5","type":"command_execution","command":"/bin/bash -lc \"for q in 'reduce ' 'foreach ' 'def ' 'if ' 'try ' ' as ' 'label ' '\\\\.\\\\[' 'object' ; do echo ===\"'$q; timeout 25s bash -c \"JQ='\"\\\\\"'$PWD/jq python3 sources/run_conformance.py --select '\"\\\\\\\"\"'$q'\"\\\\\\\" --json\\\" | python3 -c 'import sys,json; d=json.load(sys.stdin); print(d[\\\"summary\\\"]); [print(x) for x in d[\\\"cases\\\"]]' 2>/dev/null || echo timed; done\"","aggregated_output":"{'pass': 21, 'fail': 0, 'error': 0, 'skip': 0}\n===foreach\n{'pass': 10, 'fail': 0, 'error': 0, 'skip': 0}\n===def\n{'pass': 14, 'fail': 1, 'error': 0, 'skip': 2}\n{'line': 1302, 'program': 'try (def x: reverse; x=10) catch .', 'status': 'fail', 'detail': 'output mismatch', 'expect_failure': False, 'expected': ['\"Invalid path expression with result [2,1,0]\"'], 'actual': ['\"Invalid path expression\"']}\n{'line': 1900, 'program': 'import \"a\" as foo; import \"b\" as bar; def fooa: foo::a; [fooa, bar::a, bar::b, foo::a]', 'status': 'skip', 'detail': 'declared in exclusions.txt', 'expect_failure': False, 'expected': ['[\"a\",\"b\",\"c\",\"a\"]'], 'actual': []}\n{'line': 1917, 'program': 'import \"data\" as $a; import \"data\" as $b; def f: {$a, $b}; f', 'status': 'skip', 'detail': 'declared in exclusions.txt', 'expect_failure': False, 'expected': ['{\"a\":[{\"this\":\"is a test\",\"that\":\"is too\"}],\"b\":[{\"this\":\"is a test\",\"that\":\"is too\"}]}'], 'actual': []}\n===if\n{'pass': 31, 'fail': 5, 'error': 0, 'skip': 0}\n{'line': 2014, 'program': 'try (. + \"x\") catch . == if have_decnum then \"number (12345678901234567890123456...) and string (\\\\\"x\\\\\") cannot be added\" else \"number (12345678901234568000000000...) and string (\\\\\"x\\\\\") cannot be added\" end', 'status': 'fail', 'detail': 'output mismatch', 'expect_failure': False, 'expected': ['true'], 'actual': ['false']}\n{'line': 2228, 'program': '-. | tojson == if have_decnum then \"0.12345678901234567890123456789\" else \"0.12345678901234568\" end', 'status': 'fail', 'detail': 'output mismatch', 'expect_failure': False, 'expected': ['true'], 'actual': ['false']}\n{'line': 2232, 'program': '[1E+1000,-1E+1000 | tojson] == if have_decnum then [\"1E+1000\",\"-1E+1000\"] else [\"1.7976931348623157e+308\",\"-1.7976931348623157e+308\"] end', 'status': 'fail', 'detail': 'output mismatch', 'expect_failure': False, 'expected': ['true'], 'actual': ['false']}\n{'line': 2271, 'program': '[1E+1000,-1E+1000 | abs | tojson] | unique == if have_decnum then [\"1E+1000\"] else [\"1.7976931348623157e+308\"] end', 'status': 'fail', 'detail': 'output mismatch', 'expect_failure': False, 'expected': ['true'], 'actual': ['false']}\n{'line': 2275, 'program': '[1E+1000,-1E+1000 | length | tojson] | unique == if have_decnum then [\"1E+1000\"] else [\"1.7976931348623157e+308\"] end', 'status': 'fail', 'detail': 'output mismatch', 'expect_failure': False, 'expected': ['true'], 'actual': ['false']}\n===try\n{'pass': 86, 'fail': 4, 'error': 0, 'skip': 0}\n{'line': 1258, 'program': '.[] | try (getpath([\"a\",0,\"b\"]) |= 5) catch .', 'status': 'fail', 'detail': 'output mismatch', 'expect_failure': False, 'expected': ['{\"a\":[{\"b\":5}]}', '{\"b\":0,\"a\":[{\"b\":5}]}', '\"Cannot index number with number (0)\"', '{\"a\":[{\"b\":5}]}', '\"Cannot index number with string (\\\\\"b\\\\\")\"', '\"Cannot index object with number (0)\"', '{\"a\":[{\"b\":5}]}', '{\"a\":[{\"c\":3,\"b\":5}]}'], 'actual': ['{\"a\":[{\"b\":5}]}', '{\"b\":0,\"a\":[{\"b\":5}]}', '{\"a\":[{\"b\":5}]}', '{\"a\":[{\"b\":5}]}', '{\"a\":[{\"b\":5},1]}', '\"Cannot index object with number (0)\"', '{\"a\":[{\"b\":5}]}', '{\"a\":[{\"c\":3,\"b\":5}]}']}\n{'line': 1302, 'program': 'try (def x: reverse; x=10) catch .', 'status': 'fail', 'detail': 'output mismatch', 'expect_failure': False, 'expected': ['\"Invalid path expression with result [2,1,0]\"'], 'actual': ['\"Invalid path expression\"']}\n{'line': 2005, 'program': '\"x\" * range(0; 12; 2) + \"☆\" * 8 | try -. catch .', 'status': 'fail', 'detail': 'output mismatch', 'expect_failure': False, 'expected': ['\"string (\\\\\"☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"', '\"string (\\\\\"xx☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"', '\"string (\\\\\"xxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxx☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxxxx☆☆☆☆...\\\\\") cannot be negated\"'], 'actual': ['\"string (\\\\\"☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"', '\"string (\\\\\"xx☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"', '\"string (\\\\\"xxxx☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxx☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxx☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxxxx☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"']}\n{'line': 2014, 'program': 'try (. + \"x\") catch . == if have_decnum then \"number (12345678901234567890123456...) and string (\\\\\"x\\\\\") cannot be added\" else \"number (12345678901234568000000000...) and string (\\\\\"x\\\\\") cannot be added\" end', 'status': 'fail', 'detail': 'output mismatch', 'expect_failure': False, 'expected': ['true'], 'actual': ['false']}\n=== as\n{'pass': 87, 'fail': 1, 'error': 0, 'skip': 7}\n{'line': 1900, 'program': 'import \"a\" as foo; import \"b\" as bar; def fooa: foo::a; [fooa, bar::a, bar::b, foo::a]', 'status': 'skip', 'detail': 'declared in exclusions.txt', 'expect_failure': False, 'expected': ['[\"a\",\"b\",\"c\",\"a\"]'], 'actual': []}\n{'line': 1904, 'program': 'import \"c\" as foo; [foo::a, foo::c]', 'status': 'skip', 'detail': 'declared in exclusions.txt', 'expect_failure': False, 'expected': ['[0,\"acmehbah\"]'], 'actual': []}\n{'line': 1912, 'program': 'import \"data\" as $e; import \"data\" as $d; [$d[].this,$e[].that,$d::d[].this,$e::e[].that]|join(\";\")', 'status': 'skip', 'detail': 'declared in exclusions.txt', 'expect_failure': False, 'expected': ['\"is a test;is too;is a test;is too\"'], 'actual': []}\n{'line': 1917, 'program': 'import \"data\" as $a; import \"data\" as $b; def f: {$a, $b}; f', 'status': 'skip', 'detail': 'declared in exclusions.txt', 'expect_failure': False, 'expected': ['{\"a\":[{\"this\":\"is a test\",\"that\":\"is too\"}],\"b\":[{\"this\":\"is a test\",\"that\":\"is too\"}]}'], 'actual': []}\n{'line': 1929, 'program': 'import \"shadow1\" as f; import \"shadow2\" as f; import \"shadow1\" as e; [e::e, f::e]', 'status': 'skip', 'detail': 'declared in exclusions.txt', 'expect_failure': False, 'expected': ['[2,3]'], 'actual': []}\n{'line': 1982, 'program': 'import \"syntaxerror\" as e; .', 'status': 'skip', 'detail': 'declared in exclusions.txt', 'expect_failure': True, 'expected': [], 'actual': []}\n{'line': 1993, 'program': 'import \"test_bind_order\" as check; check::check', 'status': 'skip', 'detail': 'declared in exclusions.txt', 'expect_failure': False, 'expected': ['true'], 'actual': []}\n{'line': 2241, 'program': '.[] as $n | $n+0 | [., tostring, . == $n]', 'status': 'fail', 'detail': 'output mismatch', 'expect_failure': False, 'expected': ['[-9007199254740992,\"-9007199254740992\",true]', '[-9007199254740992,\"-9007199254740992\",true]', '[9007199254740992,\"9007199254740992\",true]', '[9007199254740992,\"9007199254740992\",true]', '[13911860366432392,\"13911860366432392\",true]'], 'actual': ['[-9007199254740992.0,\"-9007199254740992.0\",false]', '[-9007199254740992,\"-9007199254740992\",true]', '[9007199254740992,\"9007199254740992\",true]', '[9007199254740992.0,\"9007199254740992.0\",false]', '[1.3911860366432392e+16,\"1.3911860366432392e+16\",false]']}\n===label\n{'pass': 5, 'fail': 0, 'error': 0, 'skip': 0}\n===\\.\\[\ntimed\n===object\n{'pass': 2, 'fail': 1, 'error': 0, 'skip': 0}\n{'line': 2135, 'program': '(.. | select(type == \"object\" and has(\"b\") and (.b | type) == \"array\")|.b) |= .[0]', 'status': 'fail', 'detail': 'output mismatch', 'expect_failure': False, 'expected': ['{\"a\": {\"b\": 1}}'], 'actual': []}\n","exit_code":0,"status":"completed"}}
{"type":"item.completed","item":{"id":"item_4","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\nimport sys,os,re,json\nsys.path.insert(0,'sources'); import run_conformance as h\ncases=h.parse_corpus(h.CORPUS.read_text()); ex=h.apply_exclusions(cases,h.parse_exclusions(h.EXCLUSIONS));\nfor name,rx in [('p3',r'\\\\.|\\\\[|\\\\{|\\\\+|\\\\-|\\\\*|/|%'),('p4',r'%%FAIL|if |try |reduce |foreach |def | as |label |module|include')]:\n print(name)\n out=[]\n for c in cases:\n if c.line in ex or not re.search(rx,c.program): continue\n r=h.run_case(c,[os.path.abspath('jq')],1.0)\n if r.status\"'!='\"'pass': out.append((c.line,c.program,r.status,r.detail,r.actual,c.expected,r.return_code))\n print('fail',len(out))\n for x in out: print(json.dumps(x,ensure_ascii=False)[:1800])\nPY\"","aggregated_output":"fail 30\n[661, \"9E999999999, 9999999999E999999990, 1E-999999999, 0.000000001E-999999990\", \"fail\", \"output mismatch\", [\"null\", \"null\", \"0.0\", \"0.0\"], [\"9E+999999999\", \"9.999999999E+999999999\", \"1E-999999999\", \"1E-999999999\"], 0]\n[689, \"[(infinite, -infinite) % (1, -1, infinite)]\", \"fail\", \"output mismatch\", [], [\"[0,0,0,0,0,-1]\"], 5]\n[693, \"[nan % 1, 1 % nan | isnan]\", \"fail\", \"output mismatch\", [\"[null,true]\"], [\"[true,true]\"], 0]\n[1201, \"pick(.a.b.c)\", \"fail\", \"output mismatch\", [], [\"{\\\"a\\\":{\\\"b\\\":{\\\"c\\\":null}}}\"], 5]\n[1258, \".[] | try (getpath([\\\"a\\\",0,\\\"b\\\"]) |= 5) catch .\", \"fail\", \"output mismatch\", [\"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"b\\\":0,\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"b\\\":5},1]}\", \"\\\"Cannot index object with number (0)\\\"\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"c\\\":3,\\\"b\\\":5}]}\"], [\"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"b\\\":0,\\\"a\\\":[{\\\"b\\\":5}]}\", \"\\\"Cannot index number with number (0)\\\"\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"\\\"Cannot index number with string (\\\\\\\"b\\\\\\\")\\\"\", \"\\\"Cannot index object with number (0)\\\"\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"c\\\":3,\\\"b\\\":5}]}\"], 0]\n[1302, \"try (def x: reverse; x=10) catch .\", \"fail\", \"output mismatch\", [\"\\\"Invalid path expression\\\"\"], [\"\\\"Invalid path expression with result [2,1,0]\\\"\"], 0]\n[1306, \".[] = 1\", \"fail\", \"output mismatch\", [], [\"[1,1,1,1,1,1]\"], 5]\n[1693, \"[min, max, min_by(.[1]), max_by(.[1]), min_by(.[2]), max_by(.[2])]\", \"fail\", \"output mismatch\", [\"[[1,3,\\\"a\\\"],[4,2,\\\"a\\\"],[3,1,\\\"a\\\"],[3,1,\\\"a\\\"],[2,4,\\\"a\\\"],[2,4,\\\"a\\\"]]\"], [\"[[1,3,\\\"a\\\"],[4,2,\\\"a\\\"],[3,1,\\\"a\\\"],[2,4,\\\"a\\\"],[4,2,\\\"a\\\"],[1,3,\\\"a\\\"]]\"], 0]\n[1697, \"[min,max,min_by(.),max_by(.)]\", \"fail\", \"output mismatch\", [\"[null,null,[],[]]\"], [\"[null,null,null,null]\"], 0]\n[1847, \"strftime(\\\"%A, %B %d, %Y\\\")\", \"fail\", \"output mismatch\", [], [\"\\\"Tuesday, June 30, 2015\\\"\"], 5]\n[1851, \"strftime(\\\"%Y-%m-%dT%H:%M:%SZ\\\")\", \"fail\", \"output mismatch\", [], [\"\\\"2024-03-15T00:00:00Z\\\"\"], 5]\n[1889, \"[strptime(\\\"%Y-%m-%dT%H:%M:%SZ\\\")|(.,mktime)]\", \"fail\", \"output mismatch\", [], [\"[[2015,2,5,23,51,47,4,63],1425599507]\"], 5]\n[1895, \"last(range(365 * 67)|(\\\"1970-03-01T01:02:03Z\\\"|strptime(\\\"%Y-%m-%dT%H:%M:%SZ\\\")|mktime) + (86400 * .)|strftime(\\\"%Y-%m-%dT%H:%M:%SZ\\\")|strptime(\\\"%Y-%m-%dT%H:%M:%SZ\\\"))\", \"fail\", \"output mismatch\", [], [\"[2037,1,11,1,2,3,3,41]\"], 5]\n[2005, \"\\\"x\\\" * range(0; 12; 2) + \\\"☆\\\" * 8 | try -. catch .\", \"fail\", \"output mismatch\", [\"\\\"string (\\\\\\\"☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\"], [\"\\\"string (\\\\\\\"☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxx☆☆☆☆☆☆...\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxx☆☆☆☆☆☆...\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxx☆☆☆☆☆...\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxxxx☆☆☆☆...\\\\\\\") cannot be negated\\\"\"], 0]\n[2014, \"try (. + \\\"x\\\") catch . == if have_decnum then \\\"number (12345678901234567890123456...) and string (\\\\\\\"x\\\\\\\") cannot be added\\\" else \\\"number (12345678901234568000000000...) and string (\\\\\\\"x\\\\\\\") cannot be added\\\" end\", \"fail\", \"output mismatch\", [\"false\"], [\"true\"], 0]\n[2089, \"INDEX(range(5)|[., \\\"foo\\\\(.)\\\"]; .[0])\", \"fail\", \"output mismatch\", [], [\"{\\\"0\\\":[0,\\\"foo0\\\"],\\\"1\\\":[1,\\\"foo1\\\"],\\\"2\\\":[2,\\\"foo2\\\"],\\\"3\\\":[3,\\\"foo3\\\"],\\\"4\\\":[4,\\\"foo4\\\"]}\"], 5]\n[2093, \"JOIN({\\\"0\\\":[0,\\\"abc\\\"],\\\"1\\\":[1,\\\"bcd\\\"],\\\"2\\\":[2,\\\"def\\\"],\\\"3\\\":[3,\\\"efg\\\"],\\\"4\\\":[4,\\\"fgh\\\"]}; .[0]|tostring)\", \"fail\", \"output mismatch\", [], [\"[[[5,\\\"foo\\\"],null],[[3,\\\"bar\\\"],[3,\\\"efg\\\"]],[[1,\\\"foobar\\\"],[1,\\\"bcd\\\"]]]\"], 5]\n[2135, \"(.. | select(type == \\\"object\\\" and has(\\\"b\\\") and (.b | type) == \\\"array\\\")|.b) |= .[0]\", \"fail\", \"output mismatch\", [], [\"{\\\"a\\\": {\\\"b\\\": 1}}\"], 5]\n[2161, \"\\\"-1\\\"|IN(builtins[] / \\\"/\\\"|.[1])\", \"fail\", \"output mismatch\", [], [\"false\"], 5]\n[2165, \"all(builtins[] / \\\"/\\\"; .[1]|tonumber >= 0)\", \"fail\", \"output mismatch\", [], [\"true\"], 5]\n[2169, \"builtins|any(.[:1] == \\\"_\\\")\", \"fail\", \"output mismatch\", [], [\"false\"], 5]\n[2228, \"-. | tojson == if have_decnum then \\\"0.12345678901234567890123456789\\\" else \\\"0.12345678901234568\\\" end\", \"fail\", \"output mismatch\", [\"false\"], [\"true\"], 0]\n[2232, \"[1E+1000,-1E+1000 | tojson] == if have_decnum then [\\\"1E+1000\\\",\\\"-1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\",\\\"-1.7976931348623157e+308\\\"] end\", \"fail\", \"output mismatch\", [\"false\"], [\"true\"], 0]\n[2241, \".[] as $n | $n+0 | [., tostring, . == $n]\", \"fail\", \"output mismatch\", [\"[-9007199254740992.0,\\\"-9007199254740992.0\\\",false]\", \"[-9007199254740992,\\\"-9007199254740992\\\",true]\", \"[9007199254740992,\\\"9007199254740992\\\",true]\", \"[9007199254740992.0,\\\"9007199254740992.0\\\",false]\", \"[1.3911860366432392e+16,\\\"1.3911860366432392e+16\\\",false]\"], [\"[-9007199254740992,\\\"-9007199254740992\\\",true]\", \"[-9007199254740992,\\\"-9007199254740992\\\",true]\", \"[9007199254740992,\\\"9007199254740992\\\",true]\", \"[9007199254740992,\\\"9007199254740992\\\",true]\", \"[13911860366432392,\\\"13911860366432392\\\",true]\"], 0]\n[2271, \"[1E+1000,-1E+1000 | abs | tojson] | unique == if have_decnum then [\\\"1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\"] end\", \"fail\", \"output mismatch\", [\"false\"], [\"true\"], 0]\n[2275, \"[1E+1000,-1E+1000 | length | tojson] | unique == if have_decnum then [\\\"1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\"] end\", \"fail\", \"output mismatch\", [\"false\"], [\"true\"], 0]\n[2425, \"[walk(.,1)]\", \"fail\", \"output mismatch\", [\"[{\\\"x\\\":0}]\"], [\"[{\\\"x\\\":0},1]\"], 0]\n[2430, \"walk(select(IN({}, []) | not))\", \"fail\", \"output mismatch\", [], [\"{\\\"a\\\":1}\"], 5]\n[2455, \"[[range(10)] | .[1.1,1.5,1.7]]\", \"fail\", \"output mismatch\", [], [\"[1,1,1]\"], 5]\n[2548, \"strflocaltime(\\\"\\\" | ., @uri)\", \"fail\", \"output mismatch\", [], [\"\\\"\\\"\", \"\\\"\\\"\"], 5]\np4\nfail 9\n[1258, \".[] | try (getpath([\\\"a\\\",0,\\\"b\\\"]) |= 5) catch .\", \"fail\", \"output mismatch\", [\"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"b\\\":0,\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"b\\\":5},1]}\", \"\\\"Cannot index object with number (0)\\\"\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"c\\\":3,\\\"b\\\":5}]}\"], [\"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"b\\\":0,\\\"a\\\":[{\\\"b\\\":5}]}\", \"\\\"Cannot index number with number (0)\\\"\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"\\\"Cannot index number with string (\\\\\\\"b\\\\\\\")\\\"\", \"\\\"Cannot index object with number (0)\\\"\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"c\\\":3,\\\"b\\\":5}]}\"], 0]\n[1302, \"try (def x: reverse; x=10) catch .\", \"fail\", \"output mismatch\", [\"\\\"Invalid path expression\\\"\"], [\"\\\"Invalid path expression with result [2,1,0]\\\"\"], 0]\n[2005, \"\\\"x\\\" * range(0; 12; 2) + \\\"☆\\\" * 8 | try -. catch .\", \"fail\", \"output mismatch\", [\"\\\"string (\\\\\\\"☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\"], [\"\\\"string (\\\\\\\"☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxx☆☆☆☆☆☆...\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxx☆☆☆☆☆☆...\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxx☆☆☆☆☆...\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxxxx☆☆☆☆...\\\\\\\") cannot be negated\\\"\"], 0]\n[2014, \"try (. + \\\"x\\\") catch . == if have_decnum then \\\"number (12345678901234567890123456...) and string (\\\\\\\"x\\\\\\\") cannot be added\\\" else \\\"number (12345678901234568000000000...) and string (\\\\\\\"x\\\\\\\") cannot be added\\\" end\", \"fail\", \"output mismatch\", [\"false\"], [\"true\"], 0]\n[2228, \"-. | tojson == if have_decnum then \\\"0.12345678901234567890123456789\\\" else \\\"0.12345678901234568\\\" end\", \"fail\", \"output mismatch\", [\"false\"], [\"true\"], 0]\n[2232, \"[1E+1000,-1E+1000 | tojson] == if have_decnum then [\\\"1E+1000\\\",\\\"-1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\",\\\"-1.7976931348623157e+308\\\"] end\", \"fail\", \"output mismatch\", [\"false\"], [\"true\"], 0]\n[2241, \".[] as $n | $n+0 | [., tostring, . == $n]\", \"fail\", \"output mismatch\", [\"[-9007199254740992.0,\\\"-9007199254740992.0\\\",false]\", \"[-9007199254740992,\\\"-9007199254740992\\\",true]\", \"[9007199254740992,\\\"9007199254740992\\\",true]\", \"[9007199254740992.0,\\\"9007199254740992.0\\\",false]\", \"[1.3911860366432392e+16,\\\"1.3911860366432392e+16\\\",false]\"], [\"[-9007199254740992,\\\"-9007199254740992\\\",true]\", \"[-9007199254740992,\\\"-9007199254740992\\\",true]\", \"[9007199254740992,\\\"9007199254740992\\\",true]\", \"[9007199254740992,\\\"9007199254740992\\\",true]\", \"[13911860366432392,\\\"13911860366432392\\\",true]\"], 0]\n[2271, \"[1E+1000,-1E+1000 | abs | tojson] | unique == if have_decnum then [\\\"1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\"] end\", \"fail\", \"output mismatch\", [\"false\"], [\"true\"], 0]\n[2275, \"[1E+1000,-1E+1000 | length | tojson] | unique == if have_decnum then [\\\"1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\"] end\", \"fail\", \"output mismatch\", [\"false\"], [\"true\"], 0]\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_9","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\nimport sys,os,re,concurrent.futures,json,subprocess\nsys.path.insert(0,'sources'); import run_conformance as h\ncases=h.parse_corpus(h.CORPUS.read_text()); ex=h.apply_exclusions(cases,h.parse_exclusions(h.EXCLUSIONS)); rx=re.compile(r'\\\\.|\\\\[|\\\\{|\\\\+|\\\\-|\\\\*|/|%')\nsel=[c for c in cases if c.line not in ex and rx.search(c.program)]\ndef one(c): return h.run_case(c,[os.path.abspath('jq')],2)\nwith concurrent.futures.ThreadPoolExecutor(24) as pool:\n out=[r for r in pool.map(one,sel) if r.status\"'!='\"'pass']\nprint('selected',len(sel),'bad',len(out))\nfor r in out: print(json.dumps({'line':r.case.line,'program':r.case.program,'status':r.status,'detail':r.detail,'expected':r.case.expected,'actual':r.actual,'code':r.return_code},ensure_ascii=False))\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_9","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\nimport sys,os,re,concurrent.futures,json,subprocess\nsys.path.insert(0,'sources'); import run_conformance as h\ncases=h.parse_corpus(h.CORPUS.read_text()); ex=h.apply_exclusions(cases,h.parse_exclusions(h.EXCLUSIONS)); rx=re.compile(r'\\\\.|\\\\[|\\\\{|\\\\+|\\\\-|\\\\*|/|%')\nsel=[c for c in cases if c.line not in ex and rx.search(c.program)]\ndef one(c): return h.run_case(c,[os.path.abspath('jq')],2)\nwith concurrent.futures.ThreadPoolExecutor(24) as pool:\n out=[r for r in pool.map(one,sel) if r.status\"'!='\"'pass']\nprint('selected',len(sel),'bad',len(out))\nfor r in out: print(json.dumps({'line':r.case.line,'program':r.case.program,'status':r.status,'detail':r.detail,'expected':r.case.expected,'actual':r.actual,'code':r.return_code},ensure_ascii=False))\nPY\"","aggregated_output":"selected 455 bad 32\n{\"line\": 520, \"program\": \"1 as $x | [$x,$x,$x as $x | $x]\", \"status\": \"error\", \"detail\": \"timed out after 2s\", \"expected\": [\"[1,1,1]\"], \"actual\": [], \"code\": null}\n{\"line\": 661, \"program\": \"9E999999999, 9999999999E999999990, 1E-999999999, 0.000000001E-999999990\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"9E+999999999\", \"9.999999999E+999999999\", \"1E-999999999\", \"1E-999999999\"], \"actual\": [\"null\", \"null\", \"0.0\", \"0.0\"], \"code\": 0}\n{\"line\": 689, \"program\": \"[(infinite, -infinite) % (1, -1, infinite)]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"[0,0,0,0,0,-1]\"], \"actual\": [], \"code\": 5}\n{\"line\": 693, \"program\": \"[nan % 1, 1 % nan | isnan]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"[true,true]\"], \"actual\": [\"[null,true]\"], \"code\": 0}\n{\"line\": 899, \"program\": \"reduce .[] as $x (0; . + $x)\", \"status\": \"error\", \"detail\": \"timed out after 2s\", \"expected\": [\"7\"], \"actual\": [], \"code\": null}\n{\"line\": 1201, \"program\": \"pick(.a.b.c)\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"{\\\"a\\\":{\\\"b\\\":{\\\"c\\\":null}}}\"], \"actual\": [], \"code\": 5}\n{\"line\": 1258, \"program\": \".[] | try (getpath([\\\"a\\\",0,\\\"b\\\"]) |= 5) catch .\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"b\\\":0,\\\"a\\\":[{\\\"b\\\":5}]}\", \"\\\"Cannot index number with number (0)\\\"\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"\\\"Cannot index number with string (\\\\\\\"b\\\\\\\")\\\"\", \"\\\"Cannot index object with number (0)\\\"\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"c\\\":3,\\\"b\\\":5}]}\"], \"actual\": [\"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"b\\\":0,\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"b\\\":5},1]}\", \"\\\"Cannot index object with number (0)\\\"\", \"{\\\"a\\\":[{\\\"b\\\":5}]}\", \"{\\\"a\\\":[{\\\"c\\\":3,\\\"b\\\":5}]}\"], \"code\": 0}\n{\"line\": 1302, \"program\": \"try (def x: reverse; x=10) catch .\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"\\\"Invalid path expression with result [2,1,0]\\\"\"], \"actual\": [\"\\\"Invalid path expression\\\"\"], \"code\": 0}\n{\"line\": 1306, \"program\": \".[] = 1\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"[1,1,1,1,1,1]\"], \"actual\": [], \"code\": 5}\n{\"line\": 1693, \"program\": \"[min, max, min_by(.[1]), max_by(.[1]), min_by(.[2]), max_by(.[2])]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"[[1,3,\\\"a\\\"],[4,2,\\\"a\\\"],[3,1,\\\"a\\\"],[2,4,\\\"a\\\"],[4,2,\\\"a\\\"],[1,3,\\\"a\\\"]]\"], \"actual\": [\"[[1,3,\\\"a\\\"],[4,2,\\\"a\\\"],[3,1,\\\"a\\\"],[3,1,\\\"a\\\"],[2,4,\\\"a\\\"],[2,4,\\\"a\\\"]]\"], \"code\": 0}\n{\"line\": 1697, \"program\": \"[min,max,min_by(.),max_by(.)]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"[null,null,null,null]\"], \"actual\": [\"[null,null,[],[]]\"], \"code\": 0}\n{\"line\": 1847, \"program\": \"strftime(\\\"%A, %B %d, %Y\\\")\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"\\\"Tuesday, June 30, 2015\\\"\"], \"actual\": [], \"code\": 5}\n{\"line\": 1851, \"program\": \"strftime(\\\"%Y-%m-%dT%H:%M:%SZ\\\")\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"\\\"2024-03-15T00:00:00Z\\\"\"], \"actual\": [], \"code\": 5}\n{\"line\": 1889, \"program\": \"[strptime(\\\"%Y-%m-%dT%H:%M:%SZ\\\")|(.,mktime)]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"[[2015,2,5,23,51,47,4,63],1425599507]\"], \"actual\": [], \"code\": 5}\n{\"line\": 1895, \"program\": \"last(range(365 * 67)|(\\\"1970-03-01T01:02:03Z\\\"|strptime(\\\"%Y-%m-%dT%H:%M:%SZ\\\")|mktime) + (86400 * .)|strftime(\\\"%Y-%m-%dT%H:%M:%SZ\\\")|strptime(\\\"%Y-%m-%dT%H:%M:%SZ\\\"))\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"[2037,1,11,1,2,3,3,41]\"], \"actual\": [], \"code\": 5}\n{\"line\": 2005, \"program\": \"\\\"x\\\" * range(0; 12; 2) + \\\"☆\\\" * 8 | try -. catch .\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"\\\"string (\\\\\\\"☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxx☆☆☆☆☆☆...\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxx☆☆☆☆☆☆...\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxx☆☆☆☆☆...\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxxxx☆☆☆☆...\\\\\\\") cannot be negated\\\"\"], \"actual\": [\"\\\"string (\\\\\\\"☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\", \"\\\"string (\\\\\\\"xxxxxxxxxx☆☆☆☆☆☆☆☆\\\\\\\") cannot be negated\\\"\"], \"code\": 0}\n{\"line\": 2014, \"program\": \"try (. + \\\"x\\\") catch . == if have_decnum then \\\"number (12345678901234567890123456...) and string (\\\\\\\"x\\\\\\\") cannot be added\\\" else \\\"number (12345678901234568000000000...) and string (\\\\\\\"x\\\\\\\") cannot be added\\\" end\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"true\"], \"actual\": [\"false\"], \"code\": 0}\n{\"line\": 2089, \"program\": \"INDEX(range(5)|[., \\\"foo\\\\(.)\\\"]; .[0])\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"{\\\"0\\\":[0,\\\"foo0\\\"],\\\"1\\\":[1,\\\"foo1\\\"],\\\"2\\\":[2,\\\"foo2\\\"],\\\"3\\\":[3,\\\"foo3\\\"],\\\"4\\\":[4,\\\"foo4\\\"]}\"], \"actual\": [], \"code\": 5}\n{\"line\": 2093, \"program\": \"JOIN({\\\"0\\\":[0,\\\"abc\\\"],\\\"1\\\":[1,\\\"bcd\\\"],\\\"2\\\":[2,\\\"def\\\"],\\\"3\\\":[3,\\\"efg\\\"],\\\"4\\\":[4,\\\"fgh\\\"]}; .[0]|tostring)\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"[[[5,\\\"foo\\\"],null],[[3,\\\"bar\\\"],[3,\\\"efg\\\"]],[[1,\\\"foobar\\\"],[1,\\\"bcd\\\"]]]\"], \"actual\": [], \"code\": 5}\n{\"line\": 2135, \"program\": \"(.. | select(type == \\\"object\\\" and has(\\\"b\\\") and (.b | type) == \\\"array\\\")|.b) |= .[0]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"{\\\"a\\\": {\\\"b\\\": 1}}\"], \"actual\": [], \"code\": 5}\n{\"line\": 2161, \"program\": \"\\\"-1\\\"|IN(builtins[] / \\\"/\\\"|.[1])\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"false\"], \"actual\": [], \"code\": 5}\n{\"line\": 2165, \"program\": \"all(builtins[] / \\\"/\\\"; .[1]|tonumber >= 0)\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"true\"], \"actual\": [], \"code\": 5}\n{\"line\": 2169, \"program\": \"builtins|any(.[:1] == \\\"_\\\")\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"false\"], \"actual\": [], \"code\": 5}\n{\"line\": 2228, \"program\": \"-. | tojson == if have_decnum then \\\"0.12345678901234567890123456789\\\" else \\\"0.12345678901234568\\\" end\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"true\"], \"actual\": [\"false\"], \"code\": 0}\n{\"line\": 2232, \"program\": \"[1E+1000,-1E+1000 | tojson] == if have_decnum then [\\\"1E+1000\\\",\\\"-1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\",\\\"-1.7976931348623157e+308\\\"] end\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"true\"], \"actual\": [\"false\"], \"code\": 0}\n{\"line\": 2241, \"program\": \".[] as $n | $n+0 | [., tostring, . == $n]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"[-9007199254740992,\\\"-9007199254740992\\\",true]\", \"[-9007199254740992,\\\"-9007199254740992\\\",true]\", \"[9007199254740992,\\\"9007199254740992\\\",true]\", \"[9007199254740992,\\\"9007199254740992\\\",true]\", \"[13911860366432392,\\\"13911860366432392\\\",true]\"], \"actual\": [\"[-9007199254740992.0,\\\"-9007199254740992.0\\\",false]\", \"[-9007199254740992,\\\"-9007199254740992\\\",true]\", \"[9007199254740992,\\\"9007199254740992\\\",true]\", \"[9007199254740992.0,\\\"9007199254740992.0\\\",false]\", \"[1.3911860366432392e+16,\\\"1.3911860366432392e+16\\\",false]\"], \"code\": 0}\n{\"line\": 2271, \"program\": \"[1E+1000,-1E+1000 | abs | tojson] | unique == if have_decnum then [\\\"1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\"] end\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"true\"], \"actual\": [\"false\"], \"code\": 0}\n{\"line\": 2275, \"program\": \"[1E+1000,-1E+1000 | length | tojson] | unique == if have_decnum then [\\\"1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\"] end\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"true\"], \"actual\": [\"false\"], \"code\": 0}\n{\"line\": 2425, \"program\": \"[walk(.,1)]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"[{\\\"x\\\":0},1]\"], \"actual\": [\"[{\\\"x\\\":0}]\"], \"code\": 0}\n{\"line\": 2430, \"program\": \"walk(select(IN({}, []) | not))\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"{\\\"a\\\":1}\"], \"actual\": [], \"code\": 5}\n{\"line\": 2455, \"program\": \"[[range(10)] | .[1.1,1.5,1.7]]\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"[1,1,1]\"], \"actual\": [], \"code\": 5}\n{\"line\": 2548, \"program\": \"strflocaltime(\\\"\\\" | ., @uri)\", \"status\": \"fail\", \"detail\": \"output mismatch\", \"expected\": [\"\\\"\\\"\", \"\\\"\\\"\"], \"actual\": [], \"code\": 5}\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_10","type":"command_execution","command":"/bin/bash -lc \"find tests -type f -maxdepth 2 -print -exec sed -n '1,240p' {} \\\\;\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_10","type":"command_execution","command":"/bin/bash -lc \"find tests -type f -maxdepth 2 -print -exec sed -n '1,240p' {} \\\\;\"","aggregated_output":"\"\"\"Acceptance coverage for JSON stream input and compact output.\"\"\"\n\nimport json\nimport subprocess\nfrom pathlib import Path\n\n\nROOT = Path(__file__).parents[1]\nEXECUTABLE = ROOT / \"jq\"\n\n\ndef run_jq(program: str, input_text: str) -> subprocess.CompletedProcess[str]:\n return subprocess.run(\n [str(EXECUTABLE), \"-c\", program],\n input=input_text,\n capture_output=True,\n text=True,\n check=False,\n )\n\n\ndef test_multiple_input_values_are_processed_in_order() -> None:\n inputs = \"1\\n2\\n3\\n\"\n result = run_jq(\".\", inputs)\n assert result.returncode == 0\n assert result.stdout.splitlines() == inputs.splitlines()\n\n\ndef test_generator_outputs_preserve_order_and_multiplicity() -> None:\n result = run_jq(\".[]\", \"[1,2,3]\\n\")\n assert result.returncode == 0\n assert result.stdout.splitlines() == [\"1\", \"2\", \"3\"]\n\n\ndef test_objects_are_compact_single_line_json() -> None:\n input_text = '{\"a\": 1, \"b\": [2, 3]}\\n'\n result = run_jq(\".\", input_text)\n assert result.returncode == 0\n assert json.loads(result.stdout) == json.loads(input_text)\n assert len(result.stdout.splitlines()) == 1\n\n\ndef test_multiline_and_unicode_json_values_are_decoded() -> None:\n result = run_jq(\".\", '{\\n \"answer\": \"μ\"\\n}\\n[1, 2]\\n')\n assert result.returncode == 0\n assert [json.loads(line) for line in result.stdout.splitlines()] == [\n {\"answer\": \"μ\"},\n [1, 2],\n ]\ntests/test_lexer.py\nimport pytest\n\nfrom jq_interpreter.errors import CompileError\nfrom jq_interpreter.lexer import TokenKind, tokenize\n\n\ndef test_scans_literals_keywords_and_operators_in_source_order() -> None:\n tokens = tokenize('def f($x): .foo == 1; $x // null')\n assert [token.kind for token in tokens[:-1]] == [\n TokenKind.KEYWORD, TokenKind.IDENTIFIER, TokenKind.DELIMITER,\n TokenKind.BINDING, TokenKind.DELIMITER, TokenKind.DELIMITER,\n TokenKind.FIELD, TokenKind.OPERATOR, TokenKind.NUMBER,\n TokenKind.DELIMITER, TokenKind.BINDING, TokenKind.OPERATOR,\n TokenKind.IDENTIFIER,\n ]\n assert [token.position for token in tokens[:3]] == [0, 4, 5]\n assert tokens[-1].kind is TokenKind.END\n\n\ndef test_scans_comments_and_json_string_escapes() -> None:\n tokens = tokenize('1 # ignored\\n \"a\\\\n#b\"')\n assert [token.text for token in tokens[:-1]] == [\"1\", '\"', r\"a\\n#b\", '\"']\n\n\ndef test_scans_formats_and_qualified_bindings() -> None:\n tokens = tokenize('@json $module::value .field')\n assert [(token.kind, token.text) for token in tokens[:-1]] == [\n (TokenKind.FORMAT, \"@json\"),\n (TokenKind.BINDING, \"$module::value\"),\n (TokenKind.FIELD, \".field\"),\n ]\n\n\n@pytest.mark.parametrize(\"source\", ['\"bad\\\\q\"', '\"unterminated'])\ndef test_rejects_invalid_lexical_source(source: str) -> None:\n with pytest.raises(CompileError):\n tokenize(source)\ntests/test_parse_002.py\nimport json\nimport subprocess\nfrom pathlib import Path\n\nimport pytest\n\nfrom jq_interpreter.errors import CompileError\nfrom jq_interpreter.parser import parse\n\n\nROOT = Path(__file__).parents[1]\n\n\ndef run(program: str, value: object) -> subprocess.CompletedProcess[str]:\n return subprocess.run(\n [str(ROOT / \"jq\"), \"-c\", program],\n input=json.dumps(value) + \"\\n\",\n text=True,\n capture_output=True,\n check=False,\n )\n\n\ndef test_unicode_json_escapes_are_decoded() -> None:\n result = run(r'\"Aa\\r\\n\\t\\b\\f\\u03bc\"', None)\n assert result.returncode == 0\n assert json.loads(result.stdout) == \"Aa\\r\\n\\t\\b\\fμ\"\n\n\ndef test_interpolation_uses_filter_output() -> None:\n result = run(r'\"inter\\(\"pol\" + \"ation\")\"', None)\n assert result.returncode == 0\n assert json.loads(result.stdout) == \"interpolation\"\n\n\n@pytest.mark.parametrize(\n (\"program\", \"value\", \"expected\"),\n [\n (\"@uri\", \"μ\", \"%CE%BC\"),\n (\"@base64\", \"foóbar\\n\", \"Zm/Ds2Jhcgo=\"),\n ('@html \"<b>\\\\(.)</b>\"', \"<script>hax</script>\", \"<b><script>hax</script></b>\"),\n ],\n)\ndef test_format_literals(program: str, value: object, expected: str) -> None:\n result = run(program, value)\n assert result.returncode == 0\n assert json.loads(result.stdout) == expected\n\n\ndef test_invalid_escape_is_compile_failure() -> None:\n with pytest.raises(CompileError):\n parse(r'\"u\\vw\"')\n\ntests/__pycache__/conftest.cpython-310-pytest-9.0.2.pyc\no\r\r\n\u0000\u0000\u0000\u0000\u001d��j�\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0005\u0000\u0000\u0000@\u0000\u0000\u0000sd\u0000\u0000\u0000d\u0000d\u0001l\u0000Z\u0001d\u0000d\u0001l\u0002m\u0003\u0002\u0000\u0001\u0000m\u0004Z\u0005\u0001\u0000d\u0000d\u0001l\u0006Z\u0006d\u0000d\u0002l\u0007m\bZ\b\u0001\u0000e\be\t�\u0001j\nd\u0003\u0019\u0000Z\u000be\fe\u000b�\u0001e\u0006j\rv\u0001r0e\u0006j\r�\u000ed\u0000e\fe\u000b�\u0001�\u0002\u0001\u0000d\u0001S\u0000d\u0001S\u0000)\u0004�\u0000\u0000\u0000\u0000N)\u0001�\u0004Path�\u0001\u0000\u0000\u0000)\u000f�\bbuiltins�\f@py_builtins�\u0019_pytest.assertion.rewrite�\tassertion�\u0007rewrite�\n@pytest_ar�\u0003sys�\u0007pathlibr\u0002\u0000\u0000\u0000�\b__file__�\u0007parents�\u0004ROOT�\u0003str�\u0004path�\u0006insert�\u0000r\u0012\u0000\u0000\u0000r\u0012\u0000\u0000\u0000�Z/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/tests/conftest.py�\b<module>\u0001\u0000\u0000\u0000s\f\u0000\u0000\u0000\"\u0000\f\u0001\u000e\u0002\u000e\u0001\u0016\u0001\u0004�tests/__pycache__/conftest.cpython-312-pytest-9.1.1.pyc\n�\r\r\n\u0000\u0000\u0000\u0000\u001d��j�\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000��\u0000\u0000\u0000�\u0000d\u0000d\u0001l\u0000Z\u0001d\u0000d\u0001l\u0002m\u0003c\u0002\u0001\u0000m\u0004Z\u0005\u0001\u0000d\u0000d\u0001l\u0006Z\u0006d\u0000d\u0002l\u0007m\bZ\b\u0001\u0000\u0002\u0000e\be\t�\u0001\u0000\u0000\u0000\u0000\u0000\u0000j\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0003\u0019\u0000\u0000\u0000Z\u000b\u0002\u0000e\fe\u000b�\u0001\u0000\u0000\u0000\u0000\u0000\u0000e\u0006j\u001a\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0001r#e\u0006j\u001a\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u001d\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0000\u0002\u0000e\fe\u000b�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0001y\u0001)\u0004�\u0000\u0000\u0000\u0000N)\u0001�\u0004Path�\u0001\u0000\u0000\u0000)\u000f�\bbuiltins�\f@py_builtins�\u0019_pytest.assertion.rewrite�\tassertion�\u0007rewrite�\n@pytest_ar�\u0003sys�\u0007pathlibr\u0003\u0000\u0000\u0000�\b__file__�\u0007parents�\u0004ROOT�\u0003str�\u0004path�\u0006insert�\u0000�\u0000\u0000\u0000\u0000�Z/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/tests/conftest.py�\b<module>r\u0016\u0000\u0000\u0000\u0001\u0000\u0000\u0000sN\u0000\u0000\u0000�\u0003\u0001\u0001\u0001�\u0000\u0000�\u0000�\n�\u0000\u0018�\u0007\u000b�H�~�\u0007\u001d�\u0007\u001d�a�\u0007 �\u0004�\u0003\u0006�t�9�C�H�H�\u0003\u001c�\u0004\u0007�H�H�O�O�A�s�4�y�\u0004!�\u0003\u0000\u0004\u001dr\u0014\u0000\u0000\u0000tests/__pycache__/test_architecture.cpython-310-pytest-9.0.2.pyc\no\r\r\n\u0000\u0000\u0000\u0000���jk\u0012\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\u0000\u0000\u0000@\u0000\u0000\u0000s�\u0000\u0000\u0000d\u0000Z\u0000d\u0001d\u0002l\u0001Z\u0002d\u0001d\u0002l\u0003m\u0004\u0002\u0000\u0001\u0000m\u0005Z\u0006\u0001\u0000d\u0001d\u0002l\u0007Z\u0007d\u0001d\u0002l\bZ\bd\u0001d\u0002l\tZ\td\u0001d\u0002l\nZ\nd\u0001d\u0003l\u000bm\fZ\f\u0001\u0000d\u0001d\u0004l\rm\u000eZ\u000em\u000fZ\u000fm\u0010Z\u0010\u0001\u0000d\u0001d\u0005l\u0011m\u0012Z\u0012m\u0013Z\u0013\u0001\u0000d\u0001d\u0006l\u0014m\u0015Z\u0015\u0001\u0000d\u0001d\u0007l\u0016m\fZ\u0017m\u0018Z\u0018\u0001\u0000e\fe\u0019�\u0001j\u001ad\b\u0019\u0000Z\u001be\u001bd\t\u001b\u0000Z\u001cG\u0000d\nd\u000b�\u0000d\u000be\nj\u001d�\u0003Z\u001ee\u001fd\fk\u0002rce\n� �\u0000\u0001\u0000d\u0002S\u0000d\u0002S\u0000)\rz=Boundary tests for the foundational interpreter architecture.�\u0000\u0000\u0000\u0000N)\u0001�\u0004Path)\u0003�\fCompileError�\u000bInterpreter�\u0011MODULE_BOUNDARIES)\u0002�\fCOMPILE_EXIT�\fRUNTIME_EXIT)\u0001�\u0011EvaluationContext)\u0002r\u0002\u0000\u0000\u0000�\bget_path�\u0001\u0000\u0000\u0000�\u0002jqc\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0000\u0000\u0000@\u0000\u0000\u0000s�\u0000\u0000\u0000e\u0000Z\u0001d\u0000Z\u0002d\u001dd\u0003d\u0004�\u0004Z\u0003d\u001dd\u0005d\u0006�\u0004Z\u0004d\u001dd\u0007d\b�\u0004Z\u0005d\u001dd\td\n�\u0004Z\u0006d\u001dd\u000bd\f�\u0004Z\u0007d\u001dd\rd\u000e�\u0004Z\bd\u001dd\u000fd\u0010�\u0004Z\td\u001dd\u0011d\u0012�\u0004Z\nd\u001dd\u0013d\u0014�\u0004Z\u000bd\u001dd\u0015d\u0016�\u0004Z\fd\u001dd\u0017d\u0018�\u0004Z\rd\u001dd\u0019d\u001a�\u0004Z\u000ed\u001dd\u001bd\u001c�\u0004Z\u000fd\u0002S\u0000)\u001e�\u0011ArchitectureTests�\u0006returnNc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0004\u0000\u0000\u0000C\u0000\u0000\u0000s$\u0000\u0000\u0000d\u0001d\u0002�\u0000t\u0000D\u0000�\u0001}\u0001|\u0000�\u0001h\u0000d\u0003�\u0001|\u0001k\u0001�\u0001\u0001\u0000d\u0000S\u0000)\u0004Nc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0003\u0000\u0000\u0000S\u0000\u0000\u0000s\u0012\u0000\u0000\u0000h\u0000|\u0000]\u0005}\u0001|\u0001j\u0000�\u0002q\u0002S\u0000�\u0000)\u0001�\u0006module)\u0002�\u0002.0�\bboundaryr\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000�c/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/tests/test_architecture.py�\t<setcomp>\u0014\u0000\u0000\u0000s\u0002\u0000\u0000\u0000\u0012\u0000z\\ArchitectureTests.test_module_boundaries_name_each_foundational_subsystem.<locals>.<setcomp>>\u0006\u0000\u0000\u0000�\u0014jq_interpreter.lexer�\u0015jq_interpreter.parser�\u0016jq_interpreter.runtime�\u0017jq_interpreter.builtins�\u0018jq_interpreter.evaluatorr\u000b\u0000\u0000\u0000)\u0002r\u0005\u0000\u0000\u0000�\nassertTrue)\u0002�\u0004self�\u0007modulesr\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u0012\u0000\u0000\u0000�7test_module_boundaries_name_each_foundational_subsystem\u0013\u0000\u0000\u0000s\b\u0000\u0000\u0000\u000e\u0001\n\u0001\u0002\u0007\n�zIArchitectureTests.test_module_boundaries_name_each_foundational_subsystemc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0000\u0000\u0000\u0004\u0000\u0000\u0000C\u0000\u0000\u0000s(\u0000\u0000\u0000t\u0000�\u0000}\u0001t\u0000�\u0000}\u0002d\u0001|\u0001j\u0001d\u0002<\u0000|\u0000�\u0002|\u0002j\u0001i\u0000�\u0002\u0001\u0000d\u0000S\u0000)\u0003N�*\u0000\u0000\u0000�\u0006answer)\u0003r\b\u0000\u0000\u0000�\bbindings�\u000bassertEqual)\u0003r\u001a\u0000\u0000\u0000�\u0005first�\u0006secondr\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u0012\u0000\u0000\u0000�0test_each_input_gets_isolated_evaluation_context\u001e\u0000\u0000\u0000s\b\u0000\u0000\u0000\u0006\u0001\u0006\u0001\n\u0001\u0012\u0001zBArchitectureTests.test_each_input_gets_isolated_evaluation_contextc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0004\u0000\u0000\u0000C\u0000\u0000\u0000s\u0014\u0000\u0000\u0000|\u0000�\u0000t\u0001t\u0002f\u0002d\u0001�\u0002\u0001\u0000d\u0000S\u0000)\u0002N)\u0002�\u0003\u0000\u0000\u0000�\u0005\u0000\u0000\u0000)\u0003r \u0000\u0000\u0000r\u0006\u0000\u0000\u0000r\u0007\u0000\u0000\u0000�\u0001r\u001a\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u0012\u0000\u0000\u0000�3test_diagnostics_use_declared_process_exit_contract$\u0000\u0000\u0000s\u0002\u0000\u0000\u0000\u0014\u0001zEArchitectureTests.test_diagnostics_use_declared_process_exit_contractc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0007\u0000\u0000\u0000C\u0000\u0000\u0000sJ\u0000\u0000\u0000t\u0000j\u0001t\u0002j\u0003t\u0004t\u0005�\u0001d\u0001d\u0002g\u0004d\u0003d\u0004d\u0004d\u0005d\u0006�\u0005}\u0001|\u0000�\u0006|\u0001j\u0007d\u0007�\u0002\u0001\u0000|\u0000�\u0006|\u0001j\b�\t�\u0000d\bd\bg\u0002�\u0002\u0001\u0000d\u0000S\u0000)\tN�\u0002-cz\rnan, infinite�\u0005null\nTF�\u0004�\u0005input�\u000ecapture_output�\u0004text�\u0005checkr\u0001\u0000\u0000\u0000�\u0004null�\n�\nsubprocess�\u0003run�\u0003sys�\nexecutable�\u0003str�\nEXECUTABLEr \u0000\u0000\u0000�\nreturncode�\u0006stdout�\nsplitlines�\u0002r\u001a\u0000\u0000\u0000�\u0006resultr\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u0012\u0000\u0000\u0000�6test_special_numeric_literals_are_emitted_as_json_null'\u0000\u0000\u0000s\u0012\u0000\u0000\u0000\u0004\u0001\u0010\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0006�\u000e\u0007\u001a\u0001zHArchitectureTests.test_special_numeric_literals_are_emitted_as_json_nullc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0007\u0000\u0000\u0000C\u0000\u0000\u0000sH\u0000\u0000\u0000t\u0000j\u0001t\u0002j\u0003t\u0004t\u0005�\u0001d\u0001d\u0002g\u0004d\u0003d\u0004d\u0004d\u0005d\u0006�\u0005}\u0001|\u0000�\u0006|\u0001j\u0007d\u0007�\u0002\u0001\u0000|\u0000�\u0006t\b�\t|\u0001j\n�\u0001d\b�\u0002\u0001\u0000d\u0000S\u0000)\tNr(\u0000\u0000\u0000�\u0001.z\t\"\\u03bc\"\nTFr*\u0000\u0000\u0000r\u0001\u0000\u0000\u0000u\u0002\u0000\u0000\u0000μ)\u000br1\u0000\u0000\u0000r2\u0000\u0000\u0000r3\u0000\u0000\u0000r4\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000r \u0000\u0000\u0000r7\u0000\u0000\u0000�\u0004json�\u0005loadsr8\u0000\u0000\u0000r:\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u0012\u0000\u0000\u0000�/test_unicode_is_decoded_and_compactly_reencoded2\u0000\u0000\u0000s\u0012\u0000\u0000\u0000\u0004\u0001\u0010\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0006�\u000e\u0007\u0018\u0001zAArchitectureTests.test_unicode_is_decoded_and_compactly_reencodedc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0005\u0000\u0000\u0000C\u0000\u0000\u0000s*\u0000\u0000\u0000t\u0000t\u0001d\u0001�\u0001�\u0002g\u0000d\u0002�\u0001�\u0001�\u0001}\u0001|\u0000�\u0003|\u0001g\u0000d\u0002�\u0001�\u0002\u0001\u0000d\u0000S\u0000)\u0003Nr=\u0000\u0000\u0000)\u0003r\n\u0000\u0000\u0000�\u0002\u0000\u0000\u0000rA\u0000\u0000\u0000)\u0004�\u0004listr\u0004\u0000\u0000\u0000r2\u0000\u0000\u0000r \u0000\u0000\u0000)\u0002r\u001a\u0000\u0000\u0000�\u0007outputsr\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u0012\u0000\u0000\u0000�.test_identity_preserves_order_and_multiplicity=\u0000\u0000\u0000s\u0004\u0000\u0000\u0000\u0016\u0001\u0014\u0001z@ArchitectureTests.test_identity_preserves_order_and_multiplicityc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\b\u0000\u0000\u0000C\u0000\u0000\u0000s8\u0000\u0000\u0000|\u0000�\u0000t\u0001�\u0001�\r\u0001\u0000t\u0002d\u0001�\u0001\u0001\u0000W\u0000d\u0000\u0004\u0000\u0004\u0000�\u0003\u0001\u0000d\u0000S\u00001\u0000s\u0015w\u0001\u0001\u0000\u0001\u0000\u0001\u0000Y\u0000\u0001\u0000d\u0000S\u0000)\u0002Nz\fnot-a-filter)\u0003�\fassertRaisesr\u0003\u0000\u0000\u0000r\u0004\u0000\u0000\u0000r&\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u0012\u0000\u0000\u0000� test_compile_failure_is_distinctA\u0000\u0000\u0000s\u0006\u0000\u0000\u0000\f\u0001\n\u0001\"�z2ArchitectureTests.test_compile_failure_is_distinctc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0006\u0000\u0000\u0000C\u0000\u0000\u0000s:\u0000\u0000\u0000d\u0001d\u0002d\u0003i\u0001i\u0001}\u0001|\u0000�\u0000t\u0001|\u0001t\u0002d\u0004�\u0001�\u0002d\u0003�\u0002\u0001\u0000|\u0000�\u0000|\u0001d\u0001d\u0002d\u0003i\u0001i\u0001�\u0002\u0001\u0000d\u0000S\u0000)\u0005N�\u0006nestedr\u001e\u0000\u0000\u0000r\u001d\u0000\u0000\u0000)\u0002rG\u0000\u0000\u0000r\u001e\u0000\u0000\u0000)\u0003r \u0000\u0000\u0000r\t\u0000\u0000\u0000�\bJsonPath)\u0002r\u001a\u0000\u0000\u0000�\u0005valuer\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u0012\u0000\u0000\u0000�$test_path_read_does_not_mutate_valueE\u0000\u0000\u0000s\u0006\u0000\u0000\u0000\f\u0001\u0016\u0001\u0018\u0001z6ArchitectureTests.test_path_read_does_not_mutate_valuec\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0007\u0000\u0000\u0000C\u0000\u0000\u0000s\\\u0000\u0000\u0000t\u0000j\u0001t\u0002j\u0003t\u0004t\u0005�\u0001d\u0001d\u0002g\u0004d\u0003d\u0004d\u0004d\u0005d\u0006�\u0005}\u0001|\u0000�\u0006|\u0001j\u0007d\u0007�\u0002\u0001\u0000|\u0000�\u0006d\bd\t�\u0000|\u0001j\b�\t�\u0000D\u0000�\u0001d\nd\u000bi\u0001d\fd\rg\u0002g\u0002�\u0002\u0001\u0000d\u0000S\u0000)\u000eNr(\u0000\u0000\u0000r=\u0000\u0000\u0000z\u0010{\"a\": 1}\n[2, 3]\nTFr*\u0000\u0000\u0000r\u0001\u0000\u0000\u0000c\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0005\u0000\u0000\u0000S\u0000\u0000\u0000s\u0016\u0000\u0000\u0000g\u0000|\u0000]\u0007}\u0001t\u0000�\u0001|\u0001�\u0001�\u0002q\u0002S\u0000r\u000e\u0000\u0000\u0000)\u0002r>\u0000\u0000\u0000r?\u0000\u0000\u0000)\u0002r\u0010\u0000\u0000\u0000�\u0004liner\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u0012\u0000\u0000\u0000�\n<listcomp>T\u0000\u0000\u0000s\u0002\u0000\u0000\u0000\u0016\u0000zPArchitectureTests.test_executable_streams_compact_json_lines.<locals>.<listcomp>�\u0001ar\n\u0000\u0000\u0000rA\u0000\u0000\u0000r$\u0000\u0000\u0000r0\u0000\u0000\u0000r:\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u0012\u0000\u0000\u0000�*test_executable_streams_compact_json_linesJ\u0000\u0000\u0000s\u0018\u0000\u0000\u0000\u0004\u0001\u0010\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0006�\u000e\u0007\u0004\u0001\u0012\u0001\u000e\u0001\b�z<ArchitectureTests.test_executable_streams_compact_json_linesc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0006\u0000\u0000\u0000C\u0000\u0000\u0000s2\u0000\u0000\u0000t\u0000j\u0001t\u0002j\u0003t\u0004t\u0005�\u0001d\u0001d\u0002g\u0004d\u0003d\u0003d\u0004d\u0005�\u0004}\u0001|\u0000�\u0006|\u0001j\u0007d\u0006�\u0002\u0001\u0000d\u0000S\u0000)\u0007Nr(\u0000\u0000\u0000�\u0001xTF)\u0003r,\u0000\u0000\u0000r-\u0000\u0000\u0000r.\u0000\u0000\u0000r$\u0000\u0000\u0000)\br1\u0000\u0000\u0000r2\u0000\u0000\u0000r3\u0000\u0000\u0000r4\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000r \u0000\u0000\u0000r7\u0000\u0000\u0000r:\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u0012\u0000\u0000\u0000�*test_executable_reports_compile_exit_threeX\u0000\u0000\u0000s\u000e\u0000\u0000\u0000\u0004\u0001\u0010\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0006�\u0012\u0006z<ArchitectureTests.test_executable_reports_compile_exit_threec\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0007\u0000\u0000\u0000C\u0000\u0000\u0000sB\u0000\u0000\u0000t\u0000j\u0001t\u0002j\u0003t\u0004t\u0005�\u0001d\u0001d\u0002g\u0004d\u0003d\u0004d\u0004d\u0005d\u0006�\u0005}\u0001|\u0000�\u0006|\u0001j\u0007d\u0007�\u0002\u0001\u0000|\u0000�\b|\u0001j\td\b�\u0002\u0001\u0000d\u0000S\u0000�\tNr(\u0000\u0000\u0000�\u0005errorr)\u0000\u0000\u0000TFr*\u0000\u0000\u0000r%\u0000\u0000\u0000�\u0000)\nr1\u0000\u0000\u0000r2\u0000\u0000\u0000r3\u0000\u0000\u0000r4\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000r \u0000\u0000\u0000r7\u0000\u0000\u0000�\u000eassertNotEqual�\u0006stderrr:\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u0012\u0000\u0000\u0000�)test_executable_reports_runtime_exit_fivea\u0000\u0000\u0000s\u0012\u0000\u0000\u0000\u0004\u0001\u0010\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0006�\u000e\u0007\u0012\u0001z;ArchitectureTests.test_executable_reports_runtime_exit_fivec\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0007\u0000\u0000\u0000C\u0000\u0000\u0000sV\u0000\u0000\u0000t\u0000j\u0001t\u0002j\u0003t\u0004t\u0005�\u0001d\u0001d\u0002g\u0004d\u0003d\u0004d\u0004d\u0005d\u0006�\u0005}\u0001|\u0000�\u0006|\u0001j\u0007d\u0007�\u0002\u0001\u0000|\u0000�\u0006|\u0001j\b�\t�\u0000d\bg\u0001�\u0002\u0001\u0000|\u0000�\n|\u0001j\u000bd\t�\u0002\u0001\u0000d\u0000S\u0000)\nNr(\u0000\u0000\u0000z\b1, errorr)\u0000\u0000\u0000TFr*\u0000\u0000\u0000r%\u0000\u0000\u0000�\u00011rS\u0000\u0000\u0000)\fr1\u0000\u0000\u0000r2\u0000\u0000\u0000r3\u0000\u0000\u0000r4\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000r \u0000\u0000\u0000r7\u0000\u0000\u0000r8\u0000\u0000\u0000r9\u0000\u0000\u0000rT\u0000\u0000\u0000rU\u0000\u0000\u0000r:\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u0012\u0000\u0000\u0000�1test_runtime_failure_keeps_prior_generator_outputl\u0000\u0000\u0000s\u0014\u0000\u0000\u0000\u0004\u0001\u0010\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0006�\u000e\u0007\u0014\u0001\u0012\u0001zCArchitectureTests.test_runtime_failure_keeps_prior_generator_outputc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0007\u0000\u0000\u0000C\u0000\u0000\u0000sP\u0000\u0000\u0000t\u0000j\u0001t\u0002j\u0003t\u0004t\u0005�\u0001d\u0001d\u0002g\u0004d\u0003d\u0004d\u0004d\u0005d\u0006�\u0005}\u0001|\u0000�\u0006|\u0001j\u0007d\u0007�\u0002\u0001\u0000|\u0000�\u0006|\u0001j\bd\b�\u0002\u0001\u0000|\u0000�\t|\u0001j\nd\b�\u0002\u0001\u0000d\u0000S\u0000rQ\u0000\u0000\u0000)\u000br1\u0000\u0000\u0000r2\u0000\u0000\u0000r3\u0000\u0000\u0000r4\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000r \u0000\u0000\u0000r7\u0000\u0000\u0000r8\u0000\u0000\u0000rT\u0000\u0000\u0000rU\u0000\u0000\u0000r:\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u0012\u0000\u0000\u0000�0test_runtime_diagnostic_is_not_written_to_stdoutx\u0000\u0000\u0000s\u0014\u0000\u0000\u0000\u0004\u0001\u0010\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0006�\u000e\u0007\u000e\u0001\u0012\u0001zBArchitectureTests.test_runtime_diagnostic_is_not_written_to_stdout)\u0002r\r\u0000\u0000\u0000N)\u0010�\b__name__�\n__module__�\f__qualname__r\u001c\u0000\u0000\u0000r#\u0000\u0000\u0000r'\u0000\u0000\u0000r<\u0000\u0000\u0000r@\u0000\u0000\u0000rD\u0000\u0000\u0000rF\u0000\u0000\u0000rJ\u0000\u0000\u0000rN\u0000\u0000\u0000rP\u0000\u0000\u0000rV\u0000\u0000\u0000rX\u0000\u0000\u0000rY\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u0012\u0000\u0000\u0000r\f\u0000\u0000\u0000\u0012\u0000\u0000\u0000s\u001c\u0000\u0000\u0000\b\u0000\n\u0001\n\u000b\n\u0006\n\u0003\n\u000b\n\u000b\n\u0004\n\u0004\n\u0005\n\u000e\n\t\n\u000b\u000e\fr\f\u0000\u0000\u0000�\b__main__)!�\u0007__doc__�\bbuiltins�\f@py_builtins�\u0019_pytest.assertion.rewrite�\tassertion�\u0007rewrite�\n@pytest_arr>\u0000\u0000\u0000r1\u0000\u0000\u0000r3\u0000\u0000\u0000�\bunittest�\u0007pathlibr\u0002\u0000\u0000\u0000�\u000ejq_interpreterr\u0003\u0000\u0000\u0000r\u0004\u0000\u0000\u0000r\u0005\u0000\u0000\u0000�\u001bjq_interpreter.architecturer\u0006\u0000\u0000\u0000r\u0007\u0000\u0000\u0000�\u0016jq_interpreter.runtimer\b\u0000\u0000\u0000�\u0014jq_interpreter.pathsrH\u0000\u0000\u0000r\t\u0000\u0000\u0000�\b__file__�\u0007parents�\u0004ROOTr6\u0000\u0000\u0000�\bTestCaser\f\u0000\u0000\u0000rZ\u0000\u0000\u0000�\u0004mainr\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u0012\u0000\u0000\u0000�\b<module>\u0001\u0000\u0000\u0000s \u0000\u0000\u0000\u0004\u0000\"\u0002\b\u0001\b\u0001\b\u0001\f\u0001\u0014\u0002\u0010\u0001\f\u0001\u0010\u0001\u000e\u0002\b\u0001\u0012\u0003\bs\f\u0001\u0004�tests/__pycache__/test_architecture.cpython-312-pytest-9.1.1.pyc\n�\r\r\n\u0000\u0000\u0000\u0000���jk\u0012\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u001a\u0001\u0000\u0000�\u0000d\u0000Z\u0000d\u0001d\u0002l\u0001Z\u0002d\u0001d\u0002l\u0003m\u0004c\u0002\u0001\u0000m\u0005Z\u0006\u0001\u0000d\u0001d\u0002l\u0007Z\u0007d\u0001d\u0002l\bZ\bd\u0001d\u0002l\tZ\td\u0001d\u0002l\nZ\nd\u0001d\u0003l\u000bm\fZ\f\u0001\u0000d\u0001d\u0004l\rm\u000eZ\u000em\u000fZ\u000fm\u0010Z\u0010\u0001\u0000d\u0001d\u0005l\u0011m\u0012Z\u0012m\u0013Z\u0013\u0001\u0000d\u0001d\u0006l\u0014m\u0015Z\u0015\u0001\u0000d\u0001d\u0007l\u0016m\fZ\u0017m\u0018Z\u0018\u0001\u0000\u0002\u0000e\fe\u0019�\u0001\u0000\u0000\u0000\u0000\u0000\u0000j4\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\b\u0019\u0000\u0000\u0000Z\u001be\u001bd\tz\u000b\u0000\u0000Z\u001c\u0002\u0000G\u0000d\n�\u0000d\u000be\nj:\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0003\u0000\u0000\u0000\u0000\u0000\u0000Z\u001ee\u001fd\fk(\u0000\u0000r\u0012\u0002\u0000e\nj@\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0002y\u0002)\rz=Boundary tests for the foundational interpreter architecture.�\u0000\u0000\u0000\u0000N)\u0001�\u0004Path)\u0003�\fCompileError�\u000bInterpreter�\u0011MODULE_BOUNDARIES)\u0002�\fCOMPILE_EXIT�\fRUNTIME_EXIT)\u0001�\u0011EvaluationContext)\u0002r\u0003\u0000\u0000\u0000�\bget_path�\u0001\u0000\u0000\u0000�\u0002jqc\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000�t\u0000\u0000\u0000�\u0000e\u0000Z\u0001d\u0000Z\u0002d\u000fd\u0002�\u0004Z\u0003d\u000fd\u0003�\u0004Z\u0004d\u000fd\u0004�\u0004Z\u0005d\u000fd\u0005�\u0004Z\u0006d\u000fd\u0006�\u0004Z\u0007d\u000fd\u0007�\u0004Z\bd\u000fd\b�\u0004Z\td\u000fd\t�\u0004Z\nd\u000fd\n�\u0004Z\u000bd\u000fd\u000b�\u0004Z\fd\u000fd\f�\u0004Z\rd\u000fd\r�\u0004Z\u000ed\u000fd\u000e�\u0004Z\u000fy\u0001)\u0010�\u0011ArchitectureTestsNc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0003\u0000\u0000\u0000�t\u0000\u0000\u0000�\u0000t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000D\u0000�\u0001c\u0002h\u0000c\u0002]\u000e\u0000\u0000}\u0001|\u0001j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0002�\u0010\u0004\u0000}\u0002}\u0001|\u0000j\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000h\u0000d\u0001�\u0001|\u0002k\u001a\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0000c\u0002\u0001\u0000c\u0002}\u0001w\u0000)\u0002N>\u0006\u0000\u0000\u0000�\u0014jq_interpreter.lexer�\u0015jq_interpreter.parser�\u0016jq_interpreter.runtime�\u0017jq_interpreter.builtins�\u0018jq_interpreter.evaluatorr\f\u0000\u0000\u0000)\u0003r\u0006\u0000\u0000\u0000�\u0006module�\nassertTrue)\u0003�\u0004self�\bboundary�\u0007moduless\u0003\u0000\u0000\u0000 �c/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/tests/test_architecture.py�7test_module_boundaries_name_each_foundational_subsystemzIArchitectureTests.test_module_boundaries_name_each_foundational_subsystem\u0013\u0000\u0000\u0000s=\u0000\u0000\u0000�\u0000�3D�\u0012E�3D�x�8�?�?�3D�\u0007�\u0012E�\b\f�\u000f�\u000f�\u0000\u0007\u0019\n�\u000e\u0000\u000e\u0015�\u000f\u0007\u0019\u0015�\u0000\u0007\t\u0016��\u0003\u0000\u0013F\u0001s\u0004\u0000\u0000\u0000�\u00135\u0004c\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0003\u0000\u0000\u0000�\u0000\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0001t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0002d\u0001|\u0001j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0002<\u0000\u0000\u0000|\u0000j\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000i\u0000�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0000)\u0003N�*\u0000\u0000\u0000�\u0006answer)\u0003r\t\u0000\u0000\u0000�\bbindings�\u000bassertEqual)\u0003r\u0017\u0000\u0000\u0000�\u0005first�\u0006seconds\u0003\u0000\u0000\u0000 r\u001a\u0000\u0000\u0000�0test_each_input_gets_isolated_evaluation_contextzBArchitectureTests.test_each_input_gets_isolated_evaluation_context\u001e\u0000\u0000\u0000s4\u0000\u0000\u0000�\u0000�\u0010!�\u0010#�\u0005�\u0011\"�\u0011$�\u0006�#%�\u0005�\u000e�\u000e�x�\b �\b\f�\b\u0018�\b\u0018�\u0016�\u001f�\u001f�\"�\b-�\u0000\u0000\u0000\u0000c\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0003\u0000\u0000\u0000�<\u0000\u0000\u0000�\u0000|\u0000j\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000f\u0002d\u0001�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0000)\u0002N)\u0002�\u0003\u0000\u0000\u0000�\u0005\u0000\u0000\u0000)\u0003r \u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\b\u0000\u0000\u0000�\u0001r\u0017\u0000\u0000\u0000s\u0001\u0000\u0000\u0000 r\u001a\u0000\u0000\u0000�3test_diagnostics_use_declared_process_exit_contractzEArchitectureTests.test_diagnostics_use_declared_process_exit_contract$\u0000\u0000\u0000s\u0017\u0000\u0000\u0000�\u0000�\b\f�\b\u0018�\b\u0018�,�\f�\u00195�v�\b>r$\u0000\u0000\u0000c\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0003\u0000\u0000\u0000�\u0006\u0001\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0001d\u0002g\u0004d\u0003d\u0004d\u0004d\u0005�\u0006�\u0005\u0000\u0000\u0000\u0000\u0000\u0000}\u0001|\u0000j\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0007�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000|\u0000j\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001j\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0013\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\bd\bg\u0002�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0000)\tN�\u0002-cz\rnan, infinite�\u0005null\nTF�\u0004�\u0005input�\u000ecapture_output�\u0004text�\u0005checkr\u0002\u0000\u0000\u0000�\u0004null)\n�\nsubprocess�\u0003run�\u0003sys�\nexecutable�\u0003str�\nEXECUTABLEr \u0000\u0000\u0000�\nreturncode�\u0006stdout�\nsplitlines�\u0002r\u0017\u0000\u0000\u0000�\u0006results\u0002\u0000\u0000\u0000 r\u001a\u0000\u0000\u0000�6test_special_numeric_literals_are_emitted_as_json_nullzHArchitectureTests.test_special_numeric_literals_are_emitted_as_json_null'\u0000\u0000\u0000sj\u0000\u0000\u0000�\u0000�\u0011\u001b�\u001e�\u001e�\r\u0010�^�^�S�\u001a�_�d�O�\fD�\u0012\u001a�\u001b\u001f�\u0011\u0015�\u0012\u0017�\u000b\u0006\u0012\n�\u0006�\u000e\u0000\t\r�\b\u0018�\b\u0018�\u0016�\u0019*�\u0019*�A�\b.�\b\f�\b\u0018�\b\u0018�\u0016�\u001d�\u001d�\u00191�\u00191�\u00193�f�f�5E�\bFr$\u0000\u0000\u0000c\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0003\u0000\u0000\u0000�\f\u0001\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0001d\u0002g\u0004d\u0003d\u0004d\u0004d\u0005�\u0006�\u0005\u0000\u0000\u0000\u0000\u0000\u0000}\u0001|\u0000j\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0007�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000|\u0000j\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001j\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\b�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0000)\tNr+\u0000\u0000\u0000�\u0001.z\t\"\\u03bc\"\nTFr-\u0000\u0000\u0000r\u0002\u0000\u0000\u0000u\u0002\u0000\u0000\u0000μ)\u000br3\u0000\u0000\u0000r4\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000r7\u0000\u0000\u0000r8\u0000\u0000\u0000r \u0000\u0000\u0000r9\u0000\u0000\u0000�\u0004json�\u0005loadsr:\u0000\u0000\u0000r<\u0000\u0000\u0000s\u0002\u0000\u0000\u0000 r\u001a\u0000\u0000\u0000�/test_unicode_is_decoded_and_compactly_reencodedzAArchitectureTests.test_unicode_is_decoded_and_compactly_reencoded2\u0000\u0000\u0000se\u0000\u0000\u0000�\u0000�\u0011\u001b�\u001e�\u001e�\r\u0010�^�^�S�\u001a�_�d�C�\f8�\u0012\u001f�\u001b\u001f�\u0011\u0015�\u0012\u0017�\u000b\u0006\u0012\n�\u0006�\u000e\u0000\t\r�\b\u0018�\b\u0018�\u0016�\u0019*�\u0019*�A�\b.�\b\f�\b\u0018�\b\u0018�\u0014�\u001a�\u001a�F�M�M�\u00192�D�\b9r$\u0000\u0000\u0000c\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0003\u0000\u0000\u0000�v\u0000\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0003\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000j\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000g\u0000d\u0002�\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000}\u0001|\u0000j\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001g\u0000d\u0002�\u0001�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0000)\u0003Nr@\u0000\u0000\u0000)\u0003r\u000b\u0000\u0000\u0000�\u0002\u0000\u0000\u0000rE\u0000\u0000\u0000)\u0004�\u0004listr\u0005\u0000\u0000\u0000r4\u0000\u0000\u0000r \u0000\u0000\u0000)\u0002r\u0017\u0000\u0000\u0000�\u0007outputss\u0002\u0000\u0000\u0000 r\u001a\u0000\u0000\u0000�.test_identity_preserves_order_and_multiplicityz@ArchitectureTests.test_identity_preserves_order_and_multiplicity=\u0000\u0000\u0000s,\u0000\u0000\u0000�\u0000�\u0012\u0016�{�3�\u0017'�\u0017+�\u0017+�I�\u00176�\u00127�\u0007�\b\f�\b\u0018�\b\u0018�\u0017�)�\b,r$\u0000\u0000\u0000c\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0003\u0000\u0000\u0000�n\u0000\u0000\u0000�\u0000|\u0000j\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u00005\u0000\u0001\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000d\u0000d\u0000d\u0000�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0000#\u00001\u0000s\u0001w\u0002\u0001\u0000Y\u0000\u0001\u0000\u0001\u0000y\u0000x\u0003Y\u0000w\u0001)\u0002Nz\fnot-a-filter)\u0003�\fassertRaisesr\u0004\u0000\u0000\u0000r\u0005\u0000\u0000\u0000r(\u0000\u0000\u0000s\u0001\u0000\u0000\u0000 r\u001a\u0000\u0000\u0000� test_compile_failure_is_distinctz2ArchitectureTests.test_compile_failure_is_distinctA\u0000\u0000\u0000s$\u0000\u0000\u0000�\u0000�\r\u0011�\r\u001e�\r\u001e�|�\r,�\f\u0017�\u000e�\f'�\u0003\u0000\u000e-�\r,�\r,�s\b\u0000\u0000\u0000�\f+\u0003�\u00054\u0007c\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u0000\u0000\u0000\u0003\u0000\u0000\u0000�\u0000\u0000\u0000�\u0000d\u0001d\u0002d\u0003i\u0001i\u0001}\u0001|\u0000j\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0003\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0004�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0002\u0000\u0000\u0000\u0000\u0000\u0000d\u0003�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000|\u0000j\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001d\u0001d\u0002d\u0003i\u0001i\u0001�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0000)\u0005N�\u0006nestedr\u001e\u0000\u0000\u0000r\u001d\u0000\u0000\u0000)\u0002rM\u0000\u0000\u0000r\u001e\u0000\u0000\u0000)\u0003r \u0000\u0000\u0000r\n\u0000\u0000\u0000�\bJsonPath)\u0002r\u0017\u0000\u0000\u0000�\u0005values\u0002\u0000\u0000\u0000 r\u001a\u0000\u0000\u0000�$test_path_read_does_not_mutate_valuez6ArchitectureTests.test_path_read_does_not_mutate_valueE\u0000\u0000\u0000sF\u0000\u0000\u0000�\u0000�\u0011\u0019�H�b�>�\u0010*�\u0005�\b\f�\b\u0018�\b\u0018�\u0018�%�\u0018�2F�)G�\u0019H�\"�\bM�\b\f�\b\u0018�\b\u0018�\u0015�\u0018�H�b�>� :�\b;r$\u0000\u0000\u0000c\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u0000\u0000\u0000\u0003\u0000\u0000\u0000�Z\u0001\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0001d\u0002g\u0004d\u0003d\u0004d\u0004d\u0005�\u0006�\u0005\u0000\u0000\u0000\u0000\u0000\u0000}\u0001|\u0000j\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0007�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000|\u0000j\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001j\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0013\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000D\u0000�\u0002c\u0002g\u0000c\u0002]\u0017\u0000\u0000}\u0002t\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0016\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0002�\u0019\u0004\u0000c\u0002}\u0002d\bd\ti\u0001d\nd\u000bg\u0002g\u0002�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0000c\u0002\u0001\u0000c\u0002}\u0002w\u0000)\fNr+\u0000\u0000\u0000r@\u0000\u0000\u0000z\u0010{\"a\": 1}\n[2, 3]\nTFr-\u0000\u0000\u0000r\u0002\u0000\u0000\u0000�\u0001ar\u000b\u0000\u0000\u0000rE\u0000\u0000\u0000r&\u0000\u0000\u0000)\fr3\u0000\u0000\u0000r4\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000r7\u0000\u0000\u0000r8\u0000\u0000\u0000r \u0000\u0000\u0000r9\u0000\u0000\u0000r:\u0000\u0000\u0000r;\u0000\u0000\u0000rA\u0000\u0000\u0000rB\u0000\u0000\u0000)\u0003r\u0017\u0000\u0000\u0000r=\u0000\u0000\u0000�\u0004lines\u0003\u0000\u0000\u0000 r\u001a\u0000\u0000\u0000�*test_executable_streams_compact_json_linesz<ArchitectureTests.test_executable_streams_compact_json_linesJ\u0000\u0000\u0000s�\u0000\u0000\u0000�\u0000�\u0011\u001b�\u001e�\u001e�\r\u0010�^�^�S�\u001a�_�d�C�\f8�\u0012&�\u001b\u001f�\u0011\u0015�\u0012\u0017�\u000b\u0006\u0012\n�\u0006�\u000e\u0000\t\r�\b\u0018�\b\u0018�\u0016�\u0019*�\u0019*�A�\b.�\b\f�\b\u0018�\b\u0018�*0�-�-�*B�*B�*D�\fE�*D�$�T�Z�Z�\u0004�\r\u001d�*D�\fE�\u000e\u0011�1�X�\u0001�1�v�\f\u001e�\u0005\u0003\t\n��\fEs\u0006\u0000\u0000\u0000�=\u001cB(\bc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0003\u0000\u0000\u0000�\u0000\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0001d\u0002g\u0004d\u0003d\u0003d\u0004�\u0005�\u0004\u0000\u0000\u0000\u0000\u0000\u0000}\u0001|\u0000j\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0006�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0000)\u0007Nr+\u0000\u0000\u0000�\u0001xTF)\u0003r/\u0000\u0000\u0000r0\u0000\u0000\u0000r1\u0000\u0000\u0000r&\u0000\u0000\u0000)\br3\u0000\u0000\u0000r4\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000r7\u0000\u0000\u0000r8\u0000\u0000\u0000r \u0000\u0000\u0000r9\u0000\u0000\u0000r<\u0000\u0000\u0000s\u0002\u0000\u0000\u0000 r\u001a\u0000\u0000\u0000�*test_executable_reports_compile_exit_threez<ArchitectureTests.test_executable_reports_compile_exit_threeX\u0000\u0000\u0000sE\u0000\u0000\u0000�\u0000�\u0011\u001b�\u001e�\u001e�\r\u0010�^�^�S�\u001a�_�d�C�\f8�\u001b\u001f�\u0011\u0015�\u0012\u0017�\t\u0005\u0012\n�\u0006�\f\u0000\t\r�\b\u0018�\b\u0018�\u0016�\u0019*�\u0019*�A�\b.r$\u0000\u0000\u0000c\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0003\u0000\u0000\u0000��\u0000\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0001d\u0002g\u0004d\u0003d\u0004d\u0004d\u0005�\u0006�\u0005\u0000\u0000\u0000\u0000\u0000\u0000}\u0001|\u0000j\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0007�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000|\u0000j\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\b�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0000�\tNr+\u0000\u0000\u0000�\u0005errorr,\u0000\u0000\u0000TFr-\u0000\u0000\u0000r'\u0000\u0000\u0000�\u0000)\nr3\u0000\u0000\u0000r4\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000r7\u0000\u0000\u0000r8\u0000\u0000\u0000r \u0000\u0000\u0000r9\u0000\u0000\u0000�\u000eassertNotEqual�\u0006stderrr<\u0000\u0000\u0000s\u0002\u0000\u0000\u0000 r\u001a\u0000\u0000\u0000�)test_executable_reports_runtime_exit_fivez;ArchitectureTests.test_executable_reports_runtime_exit_fivea\u0000\u0000\u0000s\\\u0000\u0000\u0000�\u0000�\u0011\u001b�\u001e�\u001e�\r\u0010�^�^�S�\u001a�_�d�G�\f<�\u0012\u001a�\u001b\u001f�\u0011\u0015�\u0012\u0017�\u000b\u0006\u0012\n�\u0006�\u000e\u0000\t\r�\b\u0018�\b\u0018�\u0016�\u0019*�\u0019*�A�\b.�\b\f�\b\u001b�\b\u001b�F�M�M�2�\b.r$\u0000\u0000\u0000c\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0003\u0000\u0000\u0000�<\u0001\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0001d\u0002g\u0004d\u0003d\u0004d\u0004d\u0005�\u0006�\u0005\u0000\u0000\u0000\u0000\u0000\u0000}\u0001|\u0000j\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0007�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000|\u0000j\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001j\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0013\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\bg\u0001�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000|\u0000j\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001j\u0016\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\t�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0000)\nNr+\u0000\u0000\u0000z\b1, errorr,\u0000\u0000\u0000TFr-\u0000\u0000\u0000r'\u0000\u0000\u0000�\u00011r[\u0000\u0000\u0000)\fr3\u0000\u0000\u0000r4\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000r7\u0000\u0000\u0000r8\u0000\u0000\u0000r \u0000\u0000\u0000r9\u0000\u0000\u0000r:\u0000\u0000\u0000r;\u0000\u0000\u0000r\\\u0000\u0000\u0000r]\u0000\u0000\u0000r<\u0000\u0000\u0000s\u0002\u0000\u0000\u0000 r\u001a\u0000\u0000\u0000�1test_runtime_failure_keeps_prior_generator_outputzCArchitectureTests.test_runtime_failure_keeps_prior_generator_outputl\u0000\u0000\u0000s{\u0000\u0000\u0000�\u0000�\u0011\u001b�\u001e�\u001e�\r\u0010�^�^�S�\u001a�_�d�J�\f?�\u0012\u001a�\u001b\u001f�\u0011\u0015�\u0012\u0017�\u000b\u0006\u0012\n�\u0006�\u000e\u0000\t\r�\b\u0018�\b\u0018�\u0016�\u0019*�\u0019*�A�\b.�\b\f�\b\u0018�\b\u0018�\u0016�\u001d�\u001d�\u00191�\u00191�\u00193�c�U�\b;�\b\f�\b\u001b�\b\u001b�F�M�M�2�\b.r$\u0000\u0000\u0000c\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0003\u0000\u0000\u0000�\u001e\u0001\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0001d\u0002g\u0004d\u0003d\u0004d\u0004d\u0005�\u0006�\u0005\u0000\u0000\u0000\u0000\u0000\u0000}\u0001|\u0000j\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0007�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000|\u0000j\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001j\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\b�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000|\u0000j\u0013\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001j\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\b�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0000rY\u0000\u0000\u0000)\u000br3\u0000\u0000\u0000r4\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000r7\u0000\u0000\u0000r8\u0000\u0000\u0000r \u0000\u0000\u0000r9\u0000\u0000\u0000r:\u0000\u0000\u0000r\\\u0000\u0000\u0000r]\u0000\u0000\u0000r<\u0000\u0000\u0000s\u0002\u0000\u0000\u0000 r\u001a\u0000\u0000\u0000�0test_runtime_diagnostic_is_not_written_to_stdoutzBArchitectureTests.test_runtime_diagnostic_is_not_written_to_stdoutx\u0000\u0000\u0000sp\u0000\u0000\u0000�\u0000�\u0011\u001b�\u001e�\u001e�\r\u0010�^�^�S�\u001a�_�d�G�\f<�\u0012\u001a�\u001b\u001f�\u0011\u0015�\u0012\u0017�\u000b\u0006\u0012\n�\u0006�\u000e\u0000\t\r�\b\u0018�\b\u0018�\u0016�\u0019*�\u0019*�A�\b.�\b\f�\b\u0018�\b\u0018�\u0016�\u001d�\u001d�\u0002�\b+�\b\f�\b\u001b�\b\u001b�F�M�M�2�\b.r$\u0000\u0000\u0000)\u0002�\u0006returnN)\u0010�\b__name__�\n__module__�\f__qualname__r\u001b\u0000\u0000\u0000r#\u0000\u0000\u0000r)\u0000\u0000\u0000r>\u0000\u0000\u0000rC\u0000\u0000\u0000rH\u0000\u0000\u0000rK\u0000\u0000\u0000rP\u0000\u0000\u0000rT\u0000\u0000\u0000rW\u0000\u0000\u0000r^\u0000\u0000\u0000ra\u0000\u0000\u0000rc\u0000\u0000\u0000�\u0000r$\u0000\u0000\u0000r\u001a\u0000\u0000\u0000r\u000e\u0000\u0000\u0000r\u000e\u0000\u0000\u0000\u0012\u0000\u0000\u0000sD\u0000\u0000\u0000�\u0000�\u0002\t\u0005\u0016�\u0016\u0004\u0005.�\f\u0001\u0005?�\u0006\t\u0005G\u0001�\u0016\t\u0005:�\u0016\u0002\u0005-�\b\u0002\u0005(�\b\u0003\u0005<�\n\f\u0005\n�\u001c\u0007\u0005/�\u0012\t\u0005/�\u0016\n\u0005/�\u0018\n\u0005/r$\u0000\u0000\u0000r\u000e\u0000\u0000\u0000�\b__main__)!�\u0007__doc__�\bbuiltins�\f@py_builtins�\u0019_pytest.assertion.rewrite�\tassertion�\u0007rewrite�\n@pytest_arrA\u0000\u0000\u0000r3\u0000\u0000\u0000r5\u0000\u0000\u0000�\bunittest�\u0007pathlibr\u0003\u0000\u0000\u0000�\u000ejq_interpreterr\u0004\u0000\u0000\u0000r\u0005\u0000\u0000\u0000r\u0006\u0000\u0000\u0000�\u001bjq_interpreter.architecturer\u0007\u0000\u0000\u0000r\b\u0000\u0000\u0000�\u0016jq_interpreter.runtimer\t\u0000\u0000\u0000�\u0014jq_interpreter.pathsrN\u0000\u0000\u0000r\n\u0000\u0000\u0000�\b__file__�\u0007parents�\u0004ROOTr8\u0000\u0000\u0000�\bTestCaser\u000e\u0000\u0000\u0000re\u0000\u0000\u0000�\u0004mainrh\u0000\u0000\u0000r$\u0000\u0000\u0000r\u001a\u0000\u0000\u0000�\b<module>r|\u0000\u0000\u0000\u0001\u0000\u0000\u0000sv\u0000\u0000\u0000�\u0003\u0001\u0001\u0001�\u0000C�\u0000\u0000�\u0000�\u000b�\u0000\u0011�\u0000\n�\u0000\u000f�\u0000\u0018�\u0000G�\u0000G�\u0000B�\u00004�\u0000;�\u0007\u000b�H�~�\u0007\u001d�\u0007\u001d�a�\u0007 �\u0004�\r\u0011�D�[�\n�\u0006p\u0001\u0001/�\b�\u0018)�\u0018)�\u0000p\u0001\u0001/�f\u0003\u0000\u0004\f�z�\u0003\u0019�\u0004\u0011�H�M�M�O�\u0003\u0000\u0004\u001ar$\u0000\u0000\u0000tests/__pycache__/test_conformance_assets.cpython-310-pytest-9.0.2.pyc\no\r\r\n\u0000\u0000\u0000\u0000U�j�\u0006\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0005\u0000\u0000\u0000@\u0000\u0000\u0000s�\u0000\u0000\u0000d\u0000Z\u0000d\u0001d\u0002l\u0001Z\u0002d\u0001d\u0002l\u0003m\u0004\u0002\u0000\u0001\u0000m\u0005Z\u0006\u0001\u0000d\u0001d\u0002l\u0007Z\u0007d\u0001d\u0002l\bZ\bd\u0001d\u0003l\tm\nZ\n\u0001\u0000e\ne\u000b�\u0001j\fd\u0004\u0019\u0000Z\re\rd\u0005\u001b\u0000Z\u000ee\u0007j\u000f�\u0010d\u0001e\u0011e\u000e�\u0001�\u0002\u0001\u0000d\u0001d\u0002l\u0012Z\u0013G\u0000d\u0006d\u0007�\u0000d\u0007e\bj\u0014�\u0003Z\u0015e\u0016d\bk\u0002rHe\b�\u0017�\u0000\u0001\u0000d\u0002S\u0000d\u0002S\u0000)\tzBIn-process validation for the immutable conformance asset staging.�\u0000\u0000\u0000\u0000N)\u0001�\u0004Path�\u0001\u0000\u0000\u0000�\u0007sourcesc\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0000\u0000\u0000@\u0000\u0000\u0000s*\u0000\u0000\u0000e\u0000Z\u0001d\u0000Z\u0002d\td\u0003d\u0004�\u0004Z\u0003d\td\u0005d\u0006�\u0004Z\u0004d\td\u0007d\b�\u0004Z\u0005d\u0002S\u0000)\n�\u0015ConformanceAssetTests�\u0006returnNc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0000\u0000\u0000\u0006\u0000\u0000\u0000C\u0000\u0000\u0000sL\u0000\u0000\u0000t\u0000�\u0001t\u0000j\u0002j\u0003d\u0001d\u0002�\u0001�\u0001}\u0001t\u0000�\u0004|\u0001t\u0000�\u0005t\u0000j\u0006�\u0001�\u0002}\u0002|\u0000�\u0007t\b|\u0001�\u0001d\u0003�\u0002\u0001\u0000|\u0000�\u0007t\b|\u0002�\u0001d\u0004�\u0002\u0001\u0000d\u0000S\u0000)\u0005Nz\u0005utf-8)\u0001�\bencodingi&\u0002\u0000\u0000�\r\u0000\u0000\u0000)\t�\u0007harness�\fparse_corpus�\u0006CORPUS�\tread_text�\u0010apply_exclusions�\u0010parse_exclusions�\nEXCLUSIONS�\u000bassertEqual�\u0003len)\u0003�\u0004self�\u0005cases�\bexcluded�\u0000r\u0015\u0000\u0000\u0000�i/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/tests/test_conformance_assets.py�0test_pinned_corpus_and_exclusions_are_consistent\u0010\u0000\u0000\u0000s\u000e\u0000\u0000\u0000\u0014\u0001\u0004\u0001\u0002\u0001\n\u0001\u0004�\u0010\u0005\u0014\u0001zFConformanceAssetTests.test_pinned_corpus_and_exclusions_are_consistentc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0005\u0000\u0000\u0000C\u0000\u0000\u0000sf\u0000\u0000\u0000|\u0000�\u0000t\u0001d\u0001\u001b\u0000�\u0002�\u0000�\u0001\u0001\u0000|\u0000�\u0000t\u0001d\u0002\u001b\u0000�\u0002�\u0000�\u0001\u0001\u0000|\u0000�\u0000t\u0001d\u0003\u001b\u0000�\u0002�\u0000�\u0001\u0001\u0000|\u0000�\u0003t\u0004j\u0005t\u0001d\u0001\u001b\u0000�\u0006�\u0000�\u0002\u0001\u0000|\u0000�\u0003t\u0004j\u0007t\u0001d\u0002\u001b\u0000�\u0006�\u0000�\u0002\u0001\u0000d\u0000S\u0000)\u0004N�\u0007jq.test�\u000eexclusions.txt�\u0012run_conformance.py)\b�\nassertTrue�\u0007SOURCES�\u0007is_filer\u0010\u0000\u0000\u0000r\t\u0000\u0000\u0000r\u000b\u0000\u0000\u0000�\u0007resolver\u000f\u0000\u0000\u0000)\u0001r\u0012\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0016\u0000\u0000\u0000�(test_harness_uses_staged_canonical_paths\u001a\u0000\u0000\u0000s\n\u0000\u0000\u0000\u0012\u0001\u0012\u0001\u0012\u0001\u0016\u0001\u001a\u0001z>ConformanceAssetTests.test_harness_uses_staged_canonical_pathsc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0000\u0000\u0000\u0005\u0000\u0000\u0000C\u0000\u0000\u0000sF\u0000\u0000\u0000h\u0000d\u0001�\u0001}\u0001|\u0000�\u0000d\u0002d\u0003�\u0000t\u0001�\u0002�\u0000D\u0000�\u0001|\u0001�\u0002\u0001\u0000|\u0001D\u0000]\r}\u0002|\u0000�\u0003t\u0001|\u0002\u001b\u0000�\u0004�\u0000j\u0005d\u0004�\u0002\u0001\u0000q\u0013d\u0000S\u0000)\u0005N>\b\u0000\u0000\u0000�\u0007lexer.l�\bparser.y�\nbuiltin.jq�\ffull_test.sh�\rjq-manual.txtr\u0018\u0000\u0000\u0000r\u0019\u0000\u0000\u0000r\u001a\u0000\u0000\u0000c\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0004\u0000\u0000\u0000S\u0000\u0000\u0000s\u001a\u0000\u0000\u0000h\u0000|\u0000]\t}\u0001|\u0001�\u0000�\u0000r\u0002|\u0001j\u0001�\u0002q\u0002S\u0000r\u0015\u0000\u0000\u0000)\u0002r\u001d\u0000\u0000\u0000�\u0004name)\u0002�\u0002.0�\u0004pathr\u0015\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0016\u0000\u0000\u0000�\t<setcomp>-\u0000\u0000\u0000s\u0002\u0000\u0000\u0000\u001a\u0000zSConformanceAssetTests.test_all_imported_asset_files_are_nonempty.<locals>.<setcomp>r\u0001\u0000\u0000\u0000)\u0006r\u0010\u0000\u0000\u0000r\u001c\u0000\u0000\u0000�\u0007iterdir�\rassertGreater�\u0004stat�\u0007st_size)\u0003r\u0012\u0000\u0000\u0000�\bexpectedr%\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0016\u0000\u0000\u0000�*test_all_imported_asset_files_are_nonempty!\u0000\u0000\u0000s\u0010\u0000\u0000\u0000\b\u0001\u0004\n\u0010\u0001\u0002\u0001\u0004�\b\u0004\u0018\u0001\u0004�z@ConformanceAssetTests.test_all_imported_asset_files_are_nonempty)\u0002r\u0006\u0000\u0000\u0000N)\u0006�\b__name__�\n__module__�\f__qualname__r\u0017\u0000\u0000\u0000r\u001f\u0000\u0000\u0000r.\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0016\u0000\u0000\u0000r\u0005\u0000\u0000\u0000\u000f\u0000\u0000\u0000s\b\u0000\u0000\u0000\b\u0000\n\u0001\n\n\u000e\u0007r\u0005\u0000\u0000\u0000�\b__main__)\u0018�\u0007__doc__�\bbuiltins�\f@py_builtins�\u0019_pytest.assertion.rewrite�\tassertion�\u0007rewrite�\n@pytest_ar�\u0003sys�\bunittest�\u0007pathlibr\u0002\u0000\u0000\u0000�\b__file__�\u0007parents�\u0004ROOTr\u001c\u0000\u0000\u0000r'\u0000\u0000\u0000�\u0006insert�\u0003str�\u000frun_conformancer\t\u0000\u0000\u0000�\bTestCaser\u0005\u0000\u0000\u0000r/\u0000\u0000\u0000�\u0004mainr\u0015\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0016\u0000\u0000\u0000�\b<module>\u0001\u0000\u0000\u0000s\u0018\u0000\u0000\u0000\u0004\u0000\"\u0002\b\u0001\f\u0001\u000e\u0003\b\u0001\u0012\u0001\b\u0002\u0012\u0003\b%\f\u0001\u0004�tests/__pycache__/test_conformance_assets.cpython-312-pytest-9.1.1.pyc\n�\r\r\n\u0000\u0000\u0000\u0000U�j�\u0006\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0016\u0001\u0000\u0000�\u0000d\u0000Z\u0000d\u0001d\u0002l\u0001Z\u0002d\u0001d\u0002l\u0003m\u0004c\u0002\u0001\u0000m\u0005Z\u0006\u0001\u0000d\u0001d\u0002l\u0007Z\u0007d\u0001d\u0002l\bZ\bd\u0001d\u0003l\tm\nZ\n\u0001\u0000\u0002\u0000e\ne\u000b�\u0001\u0000\u0000\u0000\u0000\u0000\u0000j\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0004\u0019\u0000\u0000\u0000Z\re\rd\u0005z\u000b\u0000\u0000Z\u000ee\u0007j\u001e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j!\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0001\u0002\u0000e\u0011e\u000e�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000d\u0001d\u0002l\u0012Z\u0013\u0002\u0000G\u0000d\u0006�\u0000d\u0007e\bj(\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0003\u0000\u0000\u0000\u0000\u0000\u0000Z\u0015e\u0016d\bk(\u0000\u0000r\u0012\u0002\u0000e\bj.\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0002y\u0002)\tzBIn-process validation for the immutable conformance asset staging.�\u0000\u0000\u0000\u0000N)\u0001�\u0004Path�\u0001\u0000\u0000\u0000�\u0007sourcesc\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000�$\u0000\u0000\u0000�\u0000e\u0000Z\u0001d\u0000Z\u0002d\u0005d\u0002�\u0004Z\u0003d\u0005d\u0003�\u0004Z\u0004d\u0005d\u0004�\u0004Z\u0005y\u0001)\u0006�\u0015ConformanceAssetTestsNc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0003\u0000\u0000\u0000�D\u0001\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0001�\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000}\u0001t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0002\u0000\u0000\u0000\u0000\u0000\u0000}\u0002|\u0000j\u000f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0003�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000|\u0000j\u000f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0004�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0000)\u0005Nz\u0005utf-8)\u0001�\bencodingi&\u0002\u0000\u0000�\r\u0000\u0000\u0000)\t�\u0007harness�\fparse_corpus�\u0006CORPUS�\tread_text�\u0010apply_exclusions�\u0010parse_exclusions�\nEXCLUSIONS�\u000bassertEqual�\u0003len)\u0003�\u0004self�\u0005cases�\bexcludeds\u0003\u0000\u0000\u0000 �i/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/tests/test_conformance_assets.py�0test_pinned_corpus_and_exclusions_are_consistentzFConformanceAssetTests.test_pinned_corpus_and_exclusions_are_consistent\u0010\u0000\u0000\u0000su\u0000\u0000\u0000�\u0000�\u0010\u0017�\u0010$�\u0010$�W�^�^�%=�%=�w�%=�%O�\u0010P�\u0005�\u0013\u001a�\u0013+�\u0013+�\f\u0011�\f\u0013�\f$�\f$�W�%7�%7�\f8�\u0005\u0003\u0014\n�\b�\n\u0000\t\r�\b\u0018�\b\u0018�\u0013�U�\u001a�S�\b)�\b\f�\b\u0018�\b\u0018�\u0013�X�\u001d�\u0002�\b+�\u0000\u0000\u0000\u0000c\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0005\u0000\u0000\u0000\u0003\u0000\u0000\u0000�\u0001\u0000\u0000�\u0000|\u0000j\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0001z\u000b\u0000\u0000j\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000|\u0000j\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0002z\u000b\u0000\u0000j\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000|\u0000j\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0003z\u000b\u0000\u0000j\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000|\u0000j\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0001z\u000b\u0000\u0000j\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000|\u0000j\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0002z\u000b\u0000\u0000j\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0000)\u0004N�\u0007jq.test�\u000eexclusions.txt�\u0012run_conformance.py)\b�\nassertTrue�\u0007SOURCES�\u0007is_filer\u0012\u0000\u0000\u0000r\u000b\u0000\u0000\u0000r\r\u0000\u0000\u0000�\u0007resolver\u0011\u0000\u0000\u0000)\u0001r\u0014\u0000\u0000\u0000s\u0001\u0000\u0000\u0000 r\u0017\u0000\u0000\u0000�(test_harness_uses_staged_canonical_pathsz>ConformanceAssetTests.test_harness_uses_staged_canonical_paths\u001a\u0000\u0000\u0000s�\u0000\u0000\u0000�\u0000�\b\f�\u000f�\u000f�\u0017�9�\u0019,�\u00185�\u00185�\u00187�\b8�\b\f�\u000f�\u000f�\u0017�#3�\u00193�\u0018<�\u0018<�\u0018>�\b?�\b\f�\u000f�\u000f�\u0017�#7�\u00197�\u0018@�\u0018@�\u0018B�\bC�\b\f�\b\u0018�\b\u0018�\u0017�\u001e�\u001e�'�I�*=�)F�)F�)H�\bI�\b\f�\b\u0018�\b\u0018�\u0017�\u0019+�\u0019+�g�8H�.H�-Q�-Q�-S�\bTr\u0019\u0000\u0000\u0000c\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0003\u0000\u0000\u0000� \u0001\u0000\u0000�\u0000h\u0000d\u0001�\u0001}\u0001|\u0000j\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000D\u0000�\u0002c\u0002h\u0000c\u0002]\u001f\u0000\u0000}\u0002|\u0002j\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000s\u0001�\u0014|\u0002j\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0002�!\u0004\u0000c\u0002}\u0002|\u0001�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000|\u0001D\u0000]3\u0000\u0000}\u0003|\u0000j\u000b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0003z\u000b\u0000\u0000j\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0002�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000�5\u0004\u0000y\u0000c\u0002\u0001\u0000c\u0002}\u0002w\u0000)\u0003N>\b\u0000\u0000\u0000�\u0007lexer.l�\bparser.y�\nbuiltin.jq�\ffull_test.sh�\rjq-manual.txtr\u001b\u0000\u0000\u0000r\u001c\u0000\u0000\u0000r\u001d\u0000\u0000\u0000r\u0002\u0000\u0000\u0000)\br\u0012\u0000\u0000\u0000r\u001f\u0000\u0000\u0000�\u0007iterdirr \u0000\u0000\u0000�\u0004name�\rassertGreater�\u0004stat�\u0007st_size)\u0004r\u0014\u0000\u0000\u0000�\bexpected�\u0004pathr*\u0000\u0000\u0000s\u0004\u0000\u0000\u0000 r\u0017\u0000\u0000\u0000�*test_all_imported_asset_files_are_nonemptyz@ConformanceAssetTests.test_all_imported_asset_files_are_nonempty!\u0000\u0000\u0000sx\u0000\u0000\u0000�\u0000�\u0002\t\u0014\n�\b�\u0014\u0000\t\r�\b\u0018�\b\u0018�#*�?�?�#4�\fG�#4�4�\u0004�\f�\f�\u000e�T�Y�Y�#4�\fG�\f\u0014�\u0005\u0003\t\n�\b\u0000\u0015\u001d�D�\f\u0010�\f\u001e�\f\u001e�\u0007�$�\u000e�\u001f4�\u001f4�\u001f6�\u001f>�\u001f>�\u0001�\fB�\u0003\u0000\u0015\u001d��\u0007\u0000\rH\u0001s\n\u0000\u0000\u0000�\u0015B\u000b\b�\u000eB\u000b\b)\u0002�\u0006returnN)\u0006�\b__name__�\n__module__�\f__qualname__r\u0018\u0000\u0000\u0000r\"\u0000\u0000\u0000r0\u0000\u0000\u0000�\u0000r\u0019\u0000\u0000\u0000r\u0017\u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\u0007\u0000\u0000\u0000\u000f\u0000\u0000\u0000s\u0013\u0000\u0000\u0000�\u0000�\u0002\b\u0005,�\u0014\u0005\u0005U\u0001�\u000e\u0010\u0005C\u0001r\u0019\u0000\u0000\u0000r\u0007\u0000\u0000\u0000�\b__main__)\u0018�\u0007__doc__�\bbuiltins�\f@py_builtins�\u0019_pytest.assertion.rewrite�\tassertion�\u0007rewrite�\n@pytest_ar�\u0003sys�\bunittest�\u0007pathlibr\u0003\u0000\u0000\u0000�\b__file__�\u0007parents�\u0004ROOTr\u001f\u0000\u0000\u0000r/\u0000\u0000\u0000�\u0006insert�\u0003str�\u000frun_conformancer\u000b\u0000\u0000\u0000�\bTestCaser\u0007\u0000\u0000\u0000r2\u0000\u0000\u0000�\u0004mainr5\u0000\u0000\u0000r\u0019\u0000\u0000\u0000r\u0017\u0000\u0000\u0000�\b<module>rI\u0000\u0000\u0000\u0001\u0000\u0000\u0000s}\u0000\u0000\u0000�\u0003\u0001\u0001\u0001�\u0000H�\u0000\u0000�\u0000�\n�\u0000\u000f�\u0000\u0018�\u0006\u0000\b\f�H�~�\u0007\u001d�\u0007\u001d�a�\u0007 �\u0004�\n\u000e�\u0019�\n\u001a�\u0007�\u0000\u0003�\b�\b�\u000f�\u000f�\u0001�3�w�<�\u0000 �\u0000!�\u0006\"\u0001C\u0001�H�\u001c-�\u001c-�\u0000\"\u0001C\u0001�J\u0001\u0000\u0004\f�z�\u0003\u0019�\u0004\u0011�H�M�M�O�\u0003\u0000\u0004\u001ar\u0019\u0000\u0000\u0000tests/__pycache__/test_conf_001_acceptance.cpython-310-pytest-9.0.2.pyc\no\r\r\n\u0000\u0000\u0000\u0000N��j\u0016\u0003\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000@\u0000\u0000\u0000s�\u0000\u0000\u0000d\u0000Z\u0000d\u0001d\u0002l\u0001Z\u0002d\u0001d\u0002l\u0003m\u0004\u0002\u0000\u0001\u0000m\u0005Z\u0006\u0001\u0000d\u0001d\u0002l\u0007Z\u0007d\u0001d\u0002l\bZ\bd\u0001d\u0003l\tm\nZ\n\u0001\u0000e\ne\u000b�\u0001j\fd\u0004\u0019\u0000Z\re\u0007j\u000e�\u000fd\u0001e\u0010e\rd\u0005\u001b\u0000�\u0001�\u0002\u0001\u0000d\u0001d\u0002l\u0011Z\u0012G\u0000d\u0006d\u0007�\u0000d\u0007e\bj\u0013�\u0003Z\u0014e\u0015d\bk\u0002rFe\b�\u0016�\u0000\u0001\u0000d\u0002S\u0000d\u0002S\u0000)\tz2Acceptance coverage for conformance asset staging.�\u0000\u0000\u0000\u0000N)\u0001�\u0004Path�\u0001\u0000\u0000\u0000�\u0007sourcesc\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0000\u0000\u0000@\u0000\u0000\u0000s\u0016\u0000\u0000\u0000e\u0000Z\u0001d\u0000Z\u0002d\u0005d\u0003d\u0004�\u0004Z\u0003d\u0002S\u0000)\u0006�\u0016Conf001AcceptanceTests�\u0006returnNc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0000\u0000\u0000\u0006\u0000\u0000\u0000C\u0000\u0000\u0000sl\u0000\u0000\u0000t\u0000�\u0001t\u0000j\u0002j\u0003d\u0001d\u0002�\u0001�\u0001}\u0001t\u0000�\u0004|\u0001t\u0000�\u0005t\u0000j\u0006�\u0001�\u0002}\u0002|\u0000�\u0007t\b|\u0001�\u0001d\u0003�\u0002\u0001\u0000|\u0000�\u0007t\b|\u0002�\u0001d\u0004�\u0002\u0001\u0000|\u0000�\tt\u0000j\u0002�\n�\u0000�\u0001\u0001\u0000|\u0000�\tt\u0000j\u0006�\n�\u0000�\u0001\u0001\u0000d\u0000S\u0000)\u0005Nz\u0005utf-8)\u0001�\bencodingi&\u0002\u0000\u0000�\r\u0000\u0000\u0000)\u000b�\u0007harness�\fparse_corpus�\u0006CORPUS�\tread_text�\u0010apply_exclusions�\u0010parse_exclusions�\nEXCLUSIONS�\u000bassertEqual�\u0003len�\nassertTrue�\u0007is_file)\u0003�\u0004self�\u0005cases�\bexcluded�\u0000r\u0017\u0000\u0000\u0000�j/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/tests/test_conf_001_acceptance.py�(test_authoritative_corpus_and_exclusions\u000f\u0000\u0000\u0000s\u0012\u0000\u0000\u0000\u0014\u0001\u0004\u0001\u0002\u0001\n\u0001\u0004�\u0010\u0005\u0010\u0001\u0010\u0001\u0014\u0001z?Conf001AcceptanceTests.test_authoritative_corpus_and_exclusions)\u0002r\u0006\u0000\u0000\u0000N)\u0004�\b__name__�\n__module__�\f__qualname__r\u0019\u0000\u0000\u0000r\u0017\u0000\u0000\u0000r\u0017\u0000\u0000\u0000r\u0017\u0000\u0000\u0000r\u0018\u0000\u0000\u0000r\u0005\u0000\u0000\u0000\u000e\u0000\u0000\u0000s\u0004\u0000\u0000\u0000\b\u0000\u000e\u0001r\u0005\u0000\u0000\u0000�\b__main__)\u0017�\u0007__doc__�\bbuiltins�\f@py_builtins�\u0019_pytest.assertion.rewrite�\tassertion�\u0007rewrite�\n@pytest_ar�\u0003sys�\bunittest�\u0007pathlibr\u0002\u0000\u0000\u0000�\b__file__�\u0007parents�\u0004ROOT�\u0004path�\u0006insert�\u0003str�\u000frun_conformancer\t\u0000\u0000\u0000�\bTestCaser\u0005\u0000\u0000\u0000r\u001a\u0000\u0000\u0000�\u0004mainr\u0017\u0000\u0000\u0000r\u0017\u0000\u0000\u0000r\u0017\u0000\u0000\u0000r\u0018\u0000\u0000\u0000�\b<module>\u0001\u0000\u0000\u0000s\u0016\u0000\u0000\u0000\u0004\u0000\"\u0002\b\u0001\f\u0001\u000e\u0003\u0016\u0001\b\u0002\u0012\u0003\b\u000e\f\u0001\u0004�tests/__pycache__/test_conf_001_acceptance.cpython-312-pytest-9.1.1.pyc\n�\r\r\n\u0000\u0000\u0000\u0000N��j\u0016\u0003\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0012\u0001\u0000\u0000�\u0000d\u0000Z\u0000d\u0001d\u0002l\u0001Z\u0002d\u0001d\u0002l\u0003m\u0004c\u0002\u0001\u0000m\u0005Z\u0006\u0001\u0000d\u0001d\u0002l\u0007Z\u0007d\u0001d\u0002l\bZ\bd\u0001d\u0003l\tm\nZ\n\u0001\u0000\u0002\u0000e\ne\u000b�\u0001\u0000\u0000\u0000\u0000\u0000\u0000j\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0004\u0019\u0000\u0000\u0000Z\re\u0007j\u001c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u001f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0001\u0002\u0000e\u0010e\rd\u0005z\u000b\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000d\u0001d\u0002l\u0011Z\u0012\u0002\u0000G\u0000d\u0006�\u0000d\u0007e\bj&\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0003\u0000\u0000\u0000\u0000\u0000\u0000Z\u0014e\u0015d\bk(\u0000\u0000r\u0012\u0002\u0000e\bj,\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0002y\u0002)\tz2Acceptance coverage for conformance asset staging.�\u0000\u0000\u0000\u0000N)\u0001�\u0004Path�\u0001\u0000\u0000\u0000�\u0007sourcesc\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0014\u0000\u0000\u0000�\u0000e\u0000Z\u0001d\u0000Z\u0002d\u0003d\u0002�\u0004Z\u0003y\u0001)\u0004�\u0016Conf001AcceptanceTestsNc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0003\u0000\u0000\u0000��\u0001\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0001�\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000}\u0001t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0002\u0000\u0000\u0000\u0000\u0000\u0000}\u0002|\u0000j\u000f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0003�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000|\u0000j\u000f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0004�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000|\u0000j\u0013\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000|\u0000j\u0013\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0000)\u0005Nz\u0005utf-8)\u0001�\bencodingi&\u0002\u0000\u0000�\r\u0000\u0000\u0000)\u000b�\u0007harness�\fparse_corpus�\u0006CORPUS�\tread_text�\u0010apply_exclusions�\u0010parse_exclusions�\nEXCLUSIONS�\u000bassertEqual�\u0003len�\nassertTrue�\u0007is_file)\u0003�\u0004self�\u0005cases�\bexcludeds\u0003\u0000\u0000\u0000 �j/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/tests/test_conf_001_acceptance.py�(test_authoritative_corpus_and_exclusionsz?Conf001AcceptanceTests.test_authoritative_corpus_and_exclusions\u000f\u0000\u0000\u0000s�\u0000\u0000\u0000�\u0000�\u0010\u0017�\u0010$�\u0010$�W�^�^�%=�%=�w�%=�%O�\u0010P�\u0005�\u0013\u001a�\u0013+�\u0013+�\f\u0011�\f\u0013�\f$�\f$�W�%7�%7�\f8�\u0005\u0003\u0014\n�\b�\n\u0000\t\r�\b\u0018�\b\u0018�\u0013�U�\u001a�S�\b)�\b\f�\b\u0018�\b\u0018�\u0013�X�\u001d�\u0002�\b+�\b\f�\u000f�\u000f�\u0007�\u000e�\u000e�\u0018.�\u0018.�\u00180�\b1�\b\f�\u000f�\u000f�\u0007�\u0018*�\u0018*�\u00182�\u00182�\u00184�\b5�\u0000\u0000\u0000\u0000)\u0002�\u0006returnN)\u0004�\b__name__�\n__module__�\f__qualname__r\u001a\u0000\u0000\u0000�\u0000r\u001b\u0000\u0000\u0000r\u0019\u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\u0007\u0000\u0000\u0000\u000e\u0000\u0000\u0000s\u0007\u0000\u0000\u0000�\u0000�\u0002\n\u00056r\u001b\u0000\u0000\u0000r\u0007\u0000\u0000\u0000�\b__main__)\u0017�\u0007__doc__�\bbuiltins�\f@py_builtins�\u0019_pytest.assertion.rewrite�\tassertion�\u0007rewrite�\n@pytest_ar�\u0003sys�\bunittest�\u0007pathlibr\u0003\u0000\u0000\u0000�\b__file__�\u0007parents�\u0004ROOT�\u0004path�\u0006insert�\u0003str�\u000frun_conformancer\u000b\u0000\u0000\u0000�\bTestCaser\u0007\u0000\u0000\u0000r\u001d\u0000\u0000\u0000�\u0004mainr \u0000\u0000\u0000r\u001b\u0000\u0000\u0000r\u0019\u0000\u0000\u0000�\b<module>r5\u0000\u0000\u0000\u0001\u0000\u0000\u0000sv\u0000\u0000\u0000�\u0003\u0001\u0001\u0001�\u00008�\u0000\u0000�\u0000�\n�\u0000\u000f�\u0000\u0018�\u0006\u0000\b\f�H�~�\u0007\u001d�\u0007\u001d�a�\u0007 �\u0004�\u0000\u0003�\b�\b�\u000f�\u000f�\u0001�3�t�i�\u0017'�\u0013(�\u0000)�\u0000!�\u0006\u000b\u00016�X�\u001d.�\u001d.�\u0000\u000b\u00016�\u001c\u0000\u0004\f�z�\u0003\u0019�\u0004\u0011�H�M�M�O�\u0003\u0000\u0004\u001ar\u001b\u0000\u0000\u0000tests/__pycache__/test_json_io.cpython-310-pytest-9.0.2.pyc\no\r\r\n\u0000\u0000\u0000\u0000���j�\u0005\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000@\u0000\u0000\u0000s�\u0000\u0000\u0000d\u0000Z\u0000d\u0001d\u0002l\u0001Z\u0002d\u0001d\u0002l\u0003m\u0004\u0002\u0000\u0001\u0000m\u0005Z\u0006\u0001\u0000d\u0001d\u0002l\u0007Z\u0007d\u0001d\u0002l\bZ\bd\u0001d\u0003l\tm\nZ\n\u0001\u0000e\ne\u000b�\u0001j\fd\u0004\u0019\u0000Z\re\rd\u0005\u001b\u0000Z\u000ed\u0006e\u000fd\u0007e\u000fd\be\bj\u0010e\u000f\u0019\u0000f\u0006d\td\n�\u0004Z\u0011d\u0013d\u000bd\f�\u0004Z\u0012d\u0013d\rd\u000e�\u0004Z\u0013d\u0013d\u000fd\u0010�\u0004Z\u0014d\u0013d\u0011d\u0012�\u0004Z\u0015d\u0002S\u0000)\u0014z=Acceptance coverage for JSON stream input and compact output.�\u0000\u0000\u0000\u0000N)\u0001�\u0004Path�\u0001\u0000\u0000\u0000�\u0002jq�\u0007program�\ninput_text�\u0006returnc\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0007\u0000\u0000\u0000C\u0000\u0000\u0000s\u001e\u0000\u0000\u0000t\u0000j\u0001t\u0002t\u0003�\u0001d\u0001|\u0000g\u0003|\u0001d\u0002d\u0002d\u0003d\u0004�\u0005S\u0000)\u0005Nz\u0002-cTF)\u0004�\u0005input�\u000ecapture_output�\u0004text�\u0005check)\u0004�\nsubprocess�\u0003run�\u0003str�\nEXECUTABLE)\u0002r\u0005\u0000\u0000\u0000r\u0006\u0000\u0000\u0000�\u0000r\u0010\u0000\u0000\u0000�^/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/tests/test_json_io.py�\u0006run_jq\f\u0000\u0000\u0000s\u000e\u0000\u0000\u0000\u0004\u0001\f\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0006�r\u0012\u0000\u0000\u0000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\r\u0000\u0000\u0000\n\u0000\u0000\u0000C\u0000\u0000\u0000s�\u0001\u0000\u0000d\u0001}\u0000t\u0000d\u0002|\u0000�\u0002}\u0001|\u0001j\u0001}\u0002d\u0003}\u0003|\u0002|\u0003k\u0002}\u0004|\u0004sFt\u0002�\u0003d\u0004|\u0004f\u0001d\u0005|\u0002|\u0003f\u0002�\u0004d\u0006t\u0004�\u0005�\u0000v\u0000s't\u0002�\u0006|\u0001�\u0001r,t\u0002�\u0007|\u0001�\u0001n\u0001d\u0006t\u0002�\u0007|\u0002�\u0001t\u0002�\u0007|\u0003�\u0001d\u0007�\u0003\u0016\u0000}\u0005d\bd\t|\u0005i\u0001\u0016\u0000}\u0006t\bt\u0002�\t|\u0006�\u0001�\u0001�\u0001d\u0000\u0004\u0000}\u0002\u0004\u0000}\u0004}\u0003|\u0001j\n}\u0002|\u0002j\u000b}\u0004|\u0004�\u0000}\u0007|\u0000j\u000b}\b|\b�\u0000}\t|\u0007|\tk\u0002}\n|\ns�t\u0002�\u0003d\u0004|\nf\u0001d\n|\u0007|\tf\u0002�\u0004d\u0006t\u0004�\u0005�\u0000v\u0000svt\u0002�\u0006|\u0001�\u0001r{t\u0002�\u0007|\u0001�\u0001n\u0001d\u0006t\u0002�\u0007|\u0002�\u0001t\u0002�\u0007|\u0004�\u0001t\u0002�\u0007|\u0007�\u0001d\u000bt\u0004�\u0005�\u0000v\u0000s�t\u0002�\u0006|\u0000�\u0001r�t\u0002�\u0007|\u0000�\u0001n\u0001d\u000bt\u0002�\u0007|\b�\u0001t\u0002�\u0007|\t�\u0001d\f�\u0007\u0016\u0000}\u000bd\rd\u000e|\u000bi\u0001\u0016\u0000}\ft\bt\u0002�\t|\f�\u0001�\u0001�\u0001d\u0000\u0004\u0000}\u0002\u0004\u0000}\u0004\u0004\u0000}\u0007\u0004\u0000}\n\u0004\u0000}\b}\td\u0000S\u0000)\u000fNz\u00061\n2\n3\n�\u0001.r\u0001\u0000\u0000\u0000�\u0001�\u0002==�\u0001z2%(py2)s\n{%(py2)s = %(py0)s.returncode\n} == %(py5)s�\u0006result�\u0003�\u0003py0�\u0003py2�\u0003py5�\u000eassert %(py7)s�\u0003py7)\u0001z�%(py6)s\n{%(py6)s = %(py4)s\n{%(py4)s = %(py2)s\n{%(py2)s = %(py0)s.stdout\n}.splitlines\n}()\n} == %(py12)s\n{%(py12)s = %(py10)s\n{%(py10)s = %(py8)s.splitlines\n}()\n}�\u0006inputs)\u0007r\u0019\u0000\u0000\u0000r\u001a\u0000\u0000\u0000�\u0003py4�\u0003py6�\u0003py8�\u0004py10�\u0004py12�\u000fassert %(py14)s�\u0004py14�\fr\u0012\u0000\u0000\u0000�\nreturncode�\n@pytest_ar�\u0011_call_reprcompare�\f@py_builtins�\u0006locals�\u0018_should_repr_global_name�\t_saferepr�\u000eAssertionError�\u0013_format_explanation�\u0006stdout�\nsplitlines)\rr\u001e\u0000\u0000\u0000r\u0017\u0000\u0000\u0000�\u000b@py_assert1�\u000b@py_assert4�\u000b@py_assert3�\u000b@py_format6�\u000b@py_format8�\u000b@py_assert5�\u000b@py_assert9�\f@py_assert11�\u000b@py_assert7�\f@py_format13�\f@py_format15r\u0010\u0000\u0000\u0000r\u0010\u0000\u0000\u0000r\u0011\u0000\u0000\u0000�1test_multiple_input_values_are_processed_in_order\u0016\u0000\u0000\u0000s\b\u0000\u0000\u0000\u0004\u0001\n\u0001�\u0001�\u0001r=\u0000\u0000\u0000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000b\u0000\u0000\u0000\b\u0000\u0000\u0000C\u0000\u0000\u0000sJ\u0001\u0000\u0000t\u0000d\u0001d\u0002�\u0002}\u0000|\u0000j\u0001}\u0001d\u0003}\u0002|\u0001|\u0002k\u0002}\u0003|\u0003sDt\u0002�\u0003d\u0004|\u0003f\u0001d\u0005|\u0001|\u0002f\u0002�\u0004d\u0006t\u0004�\u0005�\u0000v\u0000s%t\u0002�\u0006|\u0000�\u0001r*t\u0002�\u0007|\u0000�\u0001n\u0001d\u0006t\u0002�\u0007|\u0001�\u0001t\u0002�\u0007|\u0002�\u0001d\u0007�\u0003\u0016\u0000}\u0004d\bd\t|\u0004i\u0001\u0016\u0000}\u0005t\bt\u0002�\t|\u0005�\u0001�\u0001�\u0001d\u0000\u0004\u0000}\u0001\u0004\u0000}\u0003}\u0002|\u0000j\n}\u0001|\u0001j\u000b}\u0003|\u0003�\u0000}\u0006g\u0000d\n�\u0001}\u0007|\u0006|\u0007k\u0002}\b|\bs�t\u0002�\u0003d\u0004|\bf\u0001d\u000b|\u0006|\u0007f\u0002�\u0004d\u0006t\u0004�\u0005�\u0000v\u0000srt\u0002�\u0006|\u0000�\u0001rwt\u0002�\u0007|\u0000�\u0001n\u0001d\u0006t\u0002�\u0007|\u0001�\u0001t\u0002�\u0007|\u0003�\u0001t\u0002�\u0007|\u0006�\u0001t\u0002�\u0007|\u0007�\u0001d\f�\u0005\u0016\u0000}\td\rd\u000e|\ti\u0001\u0016\u0000}\nt\bt\u0002�\t|\n�\u0001�\u0001�\u0001d\u0000\u0004\u0000}\u0001\u0004\u0000}\u0003\u0004\u0000}\u0006\u0004\u0000}\b}\u0007d\u0000S\u0000)\u000fNz\u0003.[]z\b[1,2,3]\nr\u0001\u0000\u0000\u0000r\u0014\u0000\u0000\u0000r\u0016\u0000\u0000\u0000r\u0017\u0000\u0000\u0000r\u0018\u0000\u0000\u0000r\u001c\u0000\u0000\u0000r\u001d\u0000\u0000\u0000)\u0003�\u00011�\u00012�\u00013)\u0001ze%(py6)s\n{%(py6)s = %(py4)s\n{%(py4)s = %(py2)s\n{%(py2)s = %(py0)s.stdout\n}.splitlines\n}()\n} == %(py9)s)\u0005r\u0019\u0000\u0000\u0000r\u001a\u0000\u0000\u0000r\u001f\u0000\u0000\u0000r \u0000\u0000\u0000�\u0003py9z\u000fassert %(py11)s�\u0004py11r&\u0000\u0000\u0000)\u000br\u0017\u0000\u0000\u0000r2\u0000\u0000\u0000r3\u0000\u0000\u0000r4\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000r7\u0000\u0000\u0000�\u000b@py_assert8r:\u0000\u0000\u0000�\f@py_format10�\f@py_format12r\u0010\u0000\u0000\u0000r\u0010\u0000\u0000\u0000r\u0011\u0000\u0000\u0000�6test_generator_outputs_preserve_order_and_multiplicity\u001d\u0000\u0000\u0000s\u0006\u0000\u0000\u0000\n\u0001�\u0001�\u0001rF\u0000\u0000\u0000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0000\u0000\u0000\f\u0000\u0000\u0000C\u0000\u0000\u0000s�\u0002\u0000\u0000d\u0001}\u0000t\u0000d\u0002|\u0000�\u0002}\u0001|\u0001j\u0001}\u0002d\u0003}\u0003|\u0002|\u0003k\u0002}\u0004|\u0004sFt\u0002�\u0003d\u0004|\u0004f\u0001d\u0005|\u0002|\u0003f\u0002�\u0004d\u0006t\u0004�\u0005�\u0000v\u0000s't\u0002�\u0006|\u0001�\u0001r,t\u0002�\u0007|\u0001�\u0001n\u0001d\u0006t\u0002�\u0007|\u0002�\u0001t\u0002�\u0007|\u0003�\u0001d\u0007�\u0003\u0016\u0000}\u0005d\bd\t|\u0005i\u0001\u0016\u0000}\u0006t\bt\u0002�\t|\u0006�\u0001�\u0001�\u0001d\u0000\u0004\u0000}\u0002\u0004\u0000}\u0004}\u0003t\nj\u000b}\u0002|\u0001j\f}\u0003|\u0002|\u0003�\u0001}\u0007t\nj\u000b}\b|\b|\u0000�\u0001}\t|\u0007|\tk\u0002}\n|\ns�t\u0002�\u0003d\u0004|\nf\u0001d\n|\u0007|\tf\u0002�\u0004d\u000bt\u0004�\u0005�\u0000v\u0000sxt\u0002�\u0006t\n�\u0001r}t\u0002�\u0007t\n�\u0001n\u0001d\u000bt\u0002�\u0007|\u0002�\u0001d\u0006t\u0004�\u0005�\u0000v\u0000s�t\u0002�\u0006|\u0001�\u0001r�t\u0002�\u0007|\u0001�\u0001n\u0001d\u0006t\u0002�\u0007|\u0003�\u0001t\u0002�\u0007|\u0007�\u0001d\u000bt\u0004�\u0005�\u0000v\u0000s�t\u0002�\u0006t\n�\u0001r�t\u0002�\u0007t\n�\u0001n\u0001d\u000bt\u0002�\u0007|\b�\u0001d\ft\u0004�\u0005�\u0000v\u0000s�t\u0002�\u0006|\u0000�\u0001r�t\u0002�\u0007|\u0000�\u0001n\u0001d\ft\u0002�\u0007|\t�\u0001d\r�\t\u0016\u0000}\u000bd\u000ed\u000f|\u000bi\u0001\u0016\u0000}\ft\bt\u0002�\t|\f�\u0001�\u0001�\u0001d\u0000\u0004\u0000}\u0002\u0004\u0000}\u0003\u0004\u0000}\u0007\u0004\u0000}\n\u0004\u0000}\b}\t|\u0001j\f}\r|\rj\r}\u0003|\u0003�\u0000}\u0007t\u000e|\u0007�\u0001}\nd\u0010}\u000e|\n|\u000ek\u0002}\b|\b�\u0001sMt\u0002�\u0003d\u0004|\bf\u0001d\u0011|\n|\u000ef\u0002�\u0004d\u0012t\u0004�\u0005�\u0000v\u0000�\u0001s\u000ft\u0002�\u0006t\u000e�\u0001�\u0001r\u0014t\u0002�\u0007t\u000e�\u0001n\u0001d\u0012d\u0006t\u0004�\u0005�\u0000v\u0000�\u0001s\"t\u0002�\u0006|\u0001�\u0001�\u0001r't\u0002�\u0007|\u0001�\u0001n\u0001d\u0006t\u0002�\u0007|\r�\u0001t\u0002�\u0007|\u0003�\u0001t\u0002�\u0007|\u0007�\u0001t\u0002�\u0007|\n�\u0001t\u0002�\u0007|\u000e�\u0001d\u0013�\u0007\u0016\u0000}\u000fd\u0014d\u0015|\u000fi\u0001\u0016\u0000}\u000bt\bt\u0002�\t|\u000b�\u0001�\u0001�\u0001d\u0000\u0004\u0000}\r\u0004\u0000}\u0003\u0004\u0000}\u0007\u0004\u0000}\n\u0004\u0000}\b}\u000ed\u0000S\u0000)\u0016Nz\u0016{\"a\": 1, \"b\": [2, 3]}\nr\u0013\u0000\u0000\u0000r\u0001\u0000\u0000\u0000r\u0014\u0000\u0000\u0000r\u0016\u0000\u0000\u0000r\u0017\u0000\u0000\u0000r\u0018\u0000\u0000\u0000r\u001c\u0000\u0000\u0000r\u001d\u0000\u0000\u0000)\u0001z�%(py7)s\n{%(py7)s = %(py2)s\n{%(py2)s = %(py0)s.loads\n}(%(py5)s\n{%(py5)s = %(py3)s.stdout\n})\n} == %(py14)s\n{%(py14)s = %(py11)s\n{%(py11)s = %(py9)s.loads\n}(%(py12)s)\n}�\u0004jsonr\u0006\u0000\u0000\u0000)\tr\u0019\u0000\u0000\u0000r\u001a\u0000\u0000\u0000�\u0003py3r\u001b\u0000\u0000\u0000r\u001d\u0000\u0000\u0000rA\u0000\u0000\u0000rB\u0000\u0000\u0000r#\u0000\u0000\u0000r%\u0000\u0000\u0000z\u000fassert %(py16)s�\u0004py16r\u0003\u0000\u0000\u0000)\u0001z�%(py9)s\n{%(py9)s = %(py0)s(%(py7)s\n{%(py7)s = %(py5)s\n{%(py5)s = %(py3)s\n{%(py3)s = %(py1)s.stdout\n}.splitlines\n}()\n})\n} == %(py12)s�\u0003len)\u0007r\u0019\u0000\u0000\u0000�\u0003py1rH\u0000\u0000\u0000r\u001b\u0000\u0000\u0000r\u001d\u0000\u0000\u0000rA\u0000\u0000\u0000r#\u0000\u0000\u0000r$\u0000\u0000\u0000r%\u0000\u0000\u0000)\u000fr\u0012\u0000\u0000\u0000r'\u0000\u0000\u0000r(\u0000\u0000\u0000r)\u0000\u0000\u0000r*\u0000\u0000\u0000r+\u0000\u0000\u0000r,\u0000\u0000\u0000r-\u0000\u0000\u0000r.\u0000\u0000\u0000r/\u0000\u0000\u0000rG\u0000\u0000\u0000�\u0005loadsr0\u0000\u0000\u0000r1\u0000\u0000\u0000rJ\u0000\u0000\u0000)\u0010r\u0006\u0000\u0000\u0000r\u0017\u0000\u0000\u0000r2\u0000\u0000\u0000r3\u0000\u0000\u0000r4\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000�\u000b@py_assert6�\f@py_assert10�\f@py_assert13rC\u0000\u0000\u0000r<\u0000\u0000\u0000�\f@py_format17�\u000b@py_assert2r9\u0000\u0000\u0000r;\u0000\u0000\u0000r\u0010\u0000\u0000\u0000r\u0010\u0000\u0000\u0000r\u0011\u0000\u0000\u0000�)test_objects_are_compact_single_line_json#\u0000\u0000\u0000s\f\u0000\u0000\u0000\u0004\u0001\n\u0001�\u0001�\u0001.\u0000�\u0001rR\u0000\u0000\u0000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n\u0000\u0000\u0000\u0007\u0000\u0000\u0000C\u0000\u0000\u0000s\u001a\u0001\u0000\u0000t\u0000d\u0001d\u0002�\u0002}\u0000|\u0000j\u0001}\u0001d\u0003}\u0002|\u0001|\u0002k\u0002}\u0003|\u0003sDt\u0002�\u0003d\u0004|\u0003f\u0001d\u0005|\u0001|\u0002f\u0002�\u0004d\u0006t\u0004�\u0005�\u0000v\u0000s%t\u0002�\u0006|\u0000�\u0001r*t\u0002�\u0007|\u0000�\u0001n\u0001d\u0006t\u0002�\u0007|\u0001�\u0001t\u0002�\u0007|\u0002�\u0001d\u0007�\u0003\u0016\u0000}\u0004d\bd\t|\u0004i\u0001\u0016\u0000}\u0005t\bt\u0002�\t|\u0005�\u0001�\u0001�\u0001d\u0000\u0004\u0000}\u0001\u0004\u0000}\u0003}\u0002d\nd\u000b�\u0000|\u0000j\n�\u000b�\u0000D\u0000�\u0001}\u0006d\fd\ri\u0001d\u000ed\u000fg\u0002g\u0002}\u0003|\u0006|\u0003k\u0002}\u0007|\u0007s�t\u0002�\u0003d\u0004|\u0007f\u0001d\u0010|\u0006|\u0003f\u0002�\u0004t\u0002�\u0007|\u0006�\u0001t\u0002�\u0007|\u0003�\u0001d\u0011�\u0002\u0016\u0000}\bd\u0012d\u0013|\bi\u0001\u0016\u0000}\tt\bt\u0002�\t|\t�\u0001�\u0001�\u0001d\u0000\u0004\u0000}\u0006\u0004\u0000}\u0007}\u0003d\u0000S\u0000)\u0014Nr\u0013\u0000\u0000\u0000u\u001c\u0000\u0000\u0000{\n \"answer\": \"μ\"\n}\n[1, 2]\nr\u0001\u0000\u0000\u0000r\u0014\u0000\u0000\u0000r\u0016\u0000\u0000\u0000r\u0017\u0000\u0000\u0000r\u0018\u0000\u0000\u0000r\u001c\u0000\u0000\u0000r\u001d\u0000\u0000\u0000c\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0005\u0000\u0000\u0000S\u0000\u0000\u0000s\u0016\u0000\u0000\u0000g\u0000|\u0000]\u0007}\u0001t\u0000�\u0001|\u0001�\u0001�\u0002q\u0002S\u0000r\u0010\u0000\u0000\u0000)\u0002rG\u0000\u0000\u0000rL\u0000\u0000\u0000)\u0002�\u0002.0�\u0004liner\u0010\u0000\u0000\u0000r\u0010\u0000\u0000\u0000r\u0011\u0000\u0000\u0000�\n<listcomp>.\u0000\u0000\u0000s\u0002\u0000\u0000\u0000\u0016\u0000zFtest_multiline_and_unicode_json_values_are_decoded.<locals>.<listcomp>�\u0006answeru\u0002\u0000\u0000\u0000μr\u0003\u0000\u0000\u0000�\u0002\u0000\u0000\u0000)\u0001z\u0012%(py1)s == %(py4)s)\u0002rK\u0000\u0000\u0000r\u001f\u0000\u0000\u0000z\u000eassert %(py6)sr \u0000\u0000\u0000r&\u0000\u0000\u0000)\nr\u0017\u0000\u0000\u0000r2\u0000\u0000\u0000r3\u0000\u0000\u0000r4\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000�\u000b@py_assert0rQ\u0000\u0000\u0000�\u000b@py_format5�\u000b@py_format7r\u0010\u0000\u0000\u0000r\u0010\u0000\u0000\u0000r\u0011\u0000\u0000\u0000�2test_multiline_and_unicode_json_values_are_decoded+\u0000\u0000\u0000s,\u0000\u0000\u0000\n\u0001�\u0001\u0014\u0001\u0006\u0001\u0006\u0001\u0012�\u0002\u0003\u000e�\u0002\u0003\u0002�\u0002\u0003\u0002�\u0002\u0003\u0002�\u0002\u0003\u0002�\u0002\u0003\u0018�\u0002\u0003\u0002�\u0002\u0003\u0014�r[\u0000\u0000\u0000)\u0002r\u0007\u0000\u0000\u0000N)\u0016�\u0007__doc__�\bbuiltinsr*\u0000\u0000\u0000�\u0019_pytest.assertion.rewrite�\tassertion�\u0007rewriter(\u0000\u0000\u0000rG\u0000\u0000\u0000r\f\u0000\u0000\u0000�\u0007pathlibr\u0002\u0000\u0000\u0000�\b__file__�\u0007parents�\u0004ROOTr\u000f\u0000\u0000\u0000r\u000e\u0000\u0000\u0000�\u0010CompletedProcessr\u0012\u0000\u0000\u0000r=\u0000\u0000\u0000rF\u0000\u0000\u0000rR\u0000\u0000\u0000r[\u0000\u0000\u0000r\u0010\u0000\u0000\u0000r\u0010\u0000\u0000\u0000r\u0010\u0000\u0000\u0000r\u0011\u0000\u0000\u0000�\b<module>\u0001\u0000\u0000\u0000s\u0016\u0000\u0000\u0000\u0004\u0000\"\u0002\b\u0001\f\u0001\u000e\u0003\b\u0001\u001c\u0003\n\n\n\u0007\n\u0006\u000e\btests/__pycache__/test_json_io.cpython-312-pytest-9.1.1.pyc\n�\r\r\n\u0000\u0000\u0000\u0000���j�\u0005\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u0000��\u0000\u0000\u0000�\u0000d\u0000Z\u0000d\u0001d\u0002l\u0001Z\u0002d\u0001d\u0002l\u0003m\u0004c\u0002\u0001\u0000m\u0005Z\u0006\u0001\u0000d\u0001d\u0002l\u0007Z\u0007d\u0001d\u0002l\bZ\bd\u0001d\u0003l\tm\nZ\n\u0001\u0000\u0002\u0000e\ne\u000b�\u0001\u0000\u0000\u0000\u0000\u0000\u0000j\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0004\u0019\u0000\u0000\u0000Z\re\rd\u0005z\u000b\u0000\u0000Z\u000ed\u0006e\u000fd\u0007e\u000fd\be\bj \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000e\u000f\u0019\u0000\u0000\u0000f\u0006d\t�\u0004Z\u0011d\u000ed\n�\u0004Z\u0012d\u000ed\u000b�\u0004Z\u0013d\u000ed\f�\u0004Z\u0014d\u000ed\r�\u0004Z\u0015y\u0002)\u000fz=Acceptance coverage for JSON stream input and compact output.�\u0000\u0000\u0000\u0000N)\u0001�\u0004Path�\u0001\u0000\u0000\u0000�\u0002jq�\u0007program�\ninput_text�\u0006returnc\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0003\u0000\u0000\u0000�V\u0000\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0001|\u0000g\u0003|\u0001d\u0002d\u0002d\u0003�\u0004�\u0005\u0000\u0000\u0000\u0000\u0000\u0000S\u0000)\u0005Nz\u0002-cTF)\u0004�\u0005input�\u000ecapture_output�\u0004text�\u0005check)\u0004�\nsubprocess�\u0003run�\u0003str�\nEXECUTABLE)\u0002r\u0006\u0000\u0000\u0000r\u0007\u0000\u0000\u0000s\u0002\u0000\u0000\u0000 �^/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/tests/test_json_io.py�\u0006run_jqr\u0013\u0000\u0000\u0000\f\u0000\u0000\u0000s-\u0000\u0000\u0000�\u0000�\u000b\u0015�>�>�\t\f�Z�\u001f�$�\u0007�\b(�\u000e\u0018�\u0017\u001b�\r\u0011�\u000e\u0013�\u000b\u0006\f\u0006�\u0000\u0006\u0005\u0006�\u0000\u0000\u0000\u0000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n\u0000\u0000\u0000\u0003\u0000\u0000\u0000�\u0004\u0000\u0000�\u0000d\u0001}\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0002|\u0000�\u0002\u0000\u0000\u0000\u0000\u0000\u0000}\u0001|\u0001j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0002d\u0003}\u0003|\u0002|\u0003k(\u0000\u0000}\u0004|\u0004s�t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0004|\u0004f\u0001d\u0005|\u0002|\u0003f\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000d\u0006t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u0006t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0003�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0007�\u0003z\u0006\u0000\u0000}\u0005d\bd\t|\u0005i\u0001z\u0006\u0000\u0000}\u0006t\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0006�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0002x\u0001}\u0004}\u0003|\u0001j\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0002|\u0002j\u0016\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0004\u0002\u0000|\u0004�\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0007|\u0000j\u0016\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\b\u0002\u0000|\b�\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\t|\u0007|\tk(\u0000\u0000}\n|\n�\u0001s*t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0004|\nf\u0001d\n|\u0007|\tf\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000d\u0006t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u0006t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0004�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0007�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u000bt\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u000bt\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\b�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\t�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\f�\u0007z\u0006\u0000\u0000}\u000bd\rd\u000e|\u000bi\u0001z\u0006\u0000\u0000}\ft\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\f�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0002x\u0001}\u0004x\u0001}\u0007x\u0001}\nx\u0001}\b}\ty\u0000)\u000fNz\u00061\n2\n3\n�\u0001.r\u0002\u0000\u0000\u0000�\u0001�\u0002==�\u0001z2%(py2)s\n{%(py2)s = %(py0)s.returncode\n} == %(py5)s�\u0006result�\u0003�\u0003py0�\u0003py2�\u0003py5�\u000eassert %(py7)s�\u0003py7)\u0001z�%(py6)s\n{%(py6)s = %(py4)s\n{%(py4)s = %(py2)s\n{%(py2)s = %(py0)s.stdout\n}.splitlines\n}()\n} == %(py12)s\n{%(py12)s = %(py10)s\n{%(py10)s = %(py8)s.splitlines\n}()\n}�\u0006inputs)\u0007r\u001c\u0000\u0000\u0000r\u001d\u0000\u0000\u0000�\u0003py4�\u0003py6�\u0003py8�\u0004py10�\u0004py12�\u000fassert %(py14)s�\u0004py14�\fr\u0013\u0000\u0000\u0000�\nreturncode�\n@pytest_ar�\u0011_call_reprcompare�\f@py_builtins�\u0006locals�\u0018_should_repr_global_name�\t_saferepr�\u000eAssertionError�\u0013_format_explanation�\u0006stdout�\nsplitlines)\rr!\u0000\u0000\u0000r\u001a\u0000\u0000\u0000�\u000b@py_assert1�\u000b@py_assert4�\u000b@py_assert3�\u000b@py_format6�\u000b@py_format8�\u000b@py_assert5�\u000b@py_assert9�\f@py_assert11�\u000b@py_assert7�\f@py_format13�\f@py_format15s\r\u0000\u0000\u0000 r\u0012\u0000\u0000\u0000�1test_multiple_input_values_are_processed_in_orderr@\u0000\u0000\u0000\u0016\u0000\u0000\u0000s`\u0001\u0000\u0000�\u0000�\r\u0018�F�\r\u0013�C�\u0016�\r �F�\u000b\u0011�\u000b\u001c�\u000b\u001c�\u0004!�\u0001�\u0004!�\u000b\u001c�\u0001�\u000b!�\u0004!�\u0004!�\u0004!�\u000b\u001c�\u0001�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�6�\u0004!�\u0004!�\u0004!�6�\u0004!�\u0004!�\u0004!�\u000b\u001c�\u0004!�\u0004!�\u0004!�\u0001�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u000b\u0011�=�=�\u0004<�=�\u000b#�\u000b#�\u0004<�\u000b#�\u000b%�\u0004<�\u0016�):�):�\u0004<�):�)<�\u0004<�\u000b%�)<�\u000b<�\u0004<�\u0004<�\u0004<�\u000b%�)<�\u0004<�\u0004<�\u0004<�\u0004<�\u0004<�\u0004<�6�\u0004<�\u0004<�\u0004<�6�\u0004<�\u0004<�\u0004<�=�\u0004<�\u0004<�\u0004<�\u000b#�\u0004<�\u0004<�\u0004<�\u000b%�\u0004<�\u0004<�\u0004<�\u0004<�\u0004<�\u0004<�\u0016�\u0004<�\u0004<�\u0004<�\u0016�\u0004<�\u0004<�\u0004<�):�\u0004<�\u0004<�\u0004<�)<�\u0004<�\u0004<�\u0004<�\u0004<�\u0004<�\u0004<�\u0004<�\u0004<r\u0014\u0000\u0000\u0000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u0000\u0000\u0000\u0003\u0000\u0000\u0000�\u0003\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0001d\u0002�\u0002\u0000\u0000\u0000\u0000\u0000\u0000}\u0000|\u0000j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0001d\u0003}\u0002|\u0001|\u0002k(\u0000\u0000}\u0003|\u0003s�t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0004|\u0003f\u0001d\u0005|\u0001|\u0002f\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000d\u0006t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u0006t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0007�\u0003z\u0006\u0000\u0000}\u0004d\bd\t|\u0004i\u0001z\u0006\u0000\u0000}\u0005t\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0005�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0001x\u0001}\u0003}\u0002|\u0000j\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0001|\u0001j\u0016\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0003\u0002\u0000|\u0003�\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0006g\u0000d\n�\u0001}\u0007|\u0006|\u0007k(\u0000\u0000}\b|\bs�t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0004|\bf\u0001d\u000b|\u0006|\u0007f\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000d\u0006t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u0006t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0003�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0006�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0007�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\f�\u0005z\u0006\u0000\u0000}\td\rd\u000e|\ti\u0001z\u0006\u0000\u0000}\nt\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\n�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0001x\u0001}\u0003x\u0001}\u0006x\u0001}\b}\u0007y\u0000)\u000fNz\u0003.[]z\b[1,2,3]\nr\u0002\u0000\u0000\u0000r\u0017\u0000\u0000\u0000r\u0019\u0000\u0000\u0000r\u001a\u0000\u0000\u0000r\u001b\u0000\u0000\u0000r\u001f\u0000\u0000\u0000r \u0000\u0000\u0000)\u0003�\u00011�\u00012�\u00013)\u0001ze%(py6)s\n{%(py6)s = %(py4)s\n{%(py4)s = %(py2)s\n{%(py2)s = %(py0)s.stdout\n}.splitlines\n}()\n} == %(py9)s)\u0005r\u001c\u0000\u0000\u0000r\u001d\u0000\u0000\u0000r\"\u0000\u0000\u0000r#\u0000\u0000\u0000�\u0003py9z\u000fassert %(py11)s�\u0004py11r)\u0000\u0000\u0000)\u000br\u001a\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000r7\u0000\u0000\u0000r8\u0000\u0000\u0000r9\u0000\u0000\u0000r:\u0000\u0000\u0000�\u000b@py_assert8r=\u0000\u0000\u0000�\f@py_format10�\f@py_format12s\u000b\u0000\u0000\u0000 r\u0012\u0000\u0000\u0000�6test_generator_outputs_preserve_order_and_multiplicityrJ\u0000\u0000\u0000\u001d\u0000\u0000\u0000s\u001e\u0001\u0000\u0000�\u0000�\r\u0013�E�;�\r'�F�\u000b\u0011�\u000b\u001c�\u000b\u001c�\u0004!�\u0001�\u0004!�\u000b\u001c�\u0001�\u000b!�\u0004!�\u0004!�\u0004!�\u000b\u001c�\u0001�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�6�\u0004!�\u0004!�\u0004!�6�\u0004!�\u0004!�\u0004!�\u000b\u001c�\u0004!�\u0004!�\u0004!�\u0001�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u000b\u0011�=�=�\u00048�=�\u000b#�\u000b#�\u00048�\u000b#�\u000b%�\u00048�\u001f�\u00048�\u000b%�\u001f�\u000b8�\u00048�\u00048�\u00048�\u000b%�\u001f�\u00048�\u00048�\u00048�\u00048�\u00048�\u00048�6�\u00048�\u00048�\u00048�6�\u00048�\u00048�\u00048�=�\u00048�\u00048�\u00048�\u000b#�\u00048�\u00048�\u00048�\u000b%�\u00048�\u00048�\u00048�\u001f�\u00048�\u00048�\u00048�\u00048�\u00048�\u00048�\u00048�\u00048r\u0014\u0000\u0000\u0000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\f\u0000\u0000\u0000\u0003\u0000\u0000\u0000�\b\u0000\u0000�\u0000d\u0001}\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0002|\u0000�\u0002\u0000\u0000\u0000\u0000\u0000\u0000}\u0001|\u0001j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0002d\u0003}\u0003|\u0002|\u0003k(\u0000\u0000}\u0004|\u0004s�t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0004|\u0004f\u0001d\u0005|\u0002|\u0003f\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000d\u0006t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u0006t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0003�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0007�\u0003z\u0006\u0000\u0000}\u0005d\bd\t|\u0005i\u0001z\u0006\u0000\u0000}\u0006t\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0006�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0002x\u0001}\u0004}\u0003t\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0016\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0002|\u0001j\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0003\u0002\u0000|\u0002|\u0003�\u0001\u0000\u0000\u0000\u0000\u0000\u0000}\u0007t\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0016\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\b\u0002\u0000|\b|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000}\t|\u0007|\tk(\u0000\u0000}\n|\n�\u0001s�t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0004|\nf\u0001d\n|\u0007|\tf\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000d\u000bt\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0019t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0019t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u000bt\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0006t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u0006t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0003�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0007�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u000bt\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0019t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0019t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u000bt\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\b�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\ft\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\ft\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\t�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\r�\tz\u0006\u0000\u0000}\u000bd\u000ed\u000f|\u000bi\u0001z\u0006\u0000\u0000}\ft\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\f�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0002x\u0001}\u0003x\u0001}\u0007x\u0001}\nx\u0001}\b}\t|\u0001j\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\r|\rj\u001a\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0003\u0002\u0000|\u0003�\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0007t\u001d\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0007�\u0001\u0000\u0000\u0000\u0000\u0000\u0000}\nd\u0010}\u000e|\n|\u000ek(\u0000\u0000}\b|\b�\u0001s2t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0004|\bf\u0001d\u0011|\n|\u000ef\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000d\u0012t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0019t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u001c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0019t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u001c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u0012d\u0006t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u0006t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\r�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0003�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0007�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\n�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u000e�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0013�\u0007z\u0006\u0000\u0000}\u000fd\u0014d\u0015|\u000fi\u0001z\u0006\u0000\u0000}\u000bt\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u000b�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\rx\u0001}\u0003x\u0001}\u0007x\u0001}\nx\u0001}\b}\u000ey\u0000)\u0016Nz\u0016{\"a\": 1, \"b\": [2, 3]}\nr\u0016\u0000\u0000\u0000r\u0002\u0000\u0000\u0000r\u0017\u0000\u0000\u0000r\u0019\u0000\u0000\u0000r\u001a\u0000\u0000\u0000r\u001b\u0000\u0000\u0000r\u001f\u0000\u0000\u0000r \u0000\u0000\u0000)\u0001z�%(py7)s\n{%(py7)s = %(py2)s\n{%(py2)s = %(py0)s.loads\n}(%(py5)s\n{%(py5)s = %(py3)s.stdout\n})\n} == %(py14)s\n{%(py14)s = %(py11)s\n{%(py11)s = %(py9)s.loads\n}(%(py12)s)\n}�\u0004jsonr\u0007\u0000\u0000\u0000)\tr\u001c\u0000\u0000\u0000r\u001d\u0000\u0000\u0000�\u0003py3r\u001e\u0000\u0000\u0000r \u0000\u0000\u0000rE\u0000\u0000\u0000rF\u0000\u0000\u0000r&\u0000\u0000\u0000r(\u0000\u0000\u0000z\u000fassert %(py16)s�\u0004py16r\u0004\u0000\u0000\u0000)\u0001z�%(py9)s\n{%(py9)s = %(py0)s(%(py7)s\n{%(py7)s = %(py5)s\n{%(py5)s = %(py3)s\n{%(py3)s = %(py1)s.stdout\n}.splitlines\n}()\n})\n} == %(py12)s�\u0003len)\u0007r\u001c\u0000\u0000\u0000�\u0003py1rM\u0000\u0000\u0000r\u001e\u0000\u0000\u0000r \u0000\u0000\u0000rE\u0000\u0000\u0000r&\u0000\u0000\u0000r'\u0000\u0000\u0000r(\u0000\u0000\u0000)\u000fr\u0013\u0000\u0000\u0000r*\u0000\u0000\u0000r+\u0000\u0000\u0000r,\u0000\u0000\u0000r-\u0000\u0000\u0000r.\u0000\u0000\u0000r/\u0000\u0000\u0000r0\u0000\u0000\u0000r1\u0000\u0000\u0000r2\u0000\u0000\u0000rL\u0000\u0000\u0000�\u0005loadsr3\u0000\u0000\u0000r4\u0000\u0000\u0000rO\u0000\u0000\u0000)\u0010r\u0007\u0000\u0000\u0000r\u001a\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000r7\u0000\u0000\u0000r8\u0000\u0000\u0000r9\u0000\u0000\u0000�\u000b@py_assert6�\f@py_assert10�\f@py_assert13rG\u0000\u0000\u0000r?\u0000\u0000\u0000�\f@py_format17�\u000b@py_assert2r<\u0000\u0000\u0000r>\u0000\u0000\u0000s\u0010\u0000\u0000\u0000 r\u0012\u0000\u0000\u0000�)test_objects_are_compact_single_line_jsonrW\u0000\u0000\u0000#\u0000\u0000\u0000sn\u0002\u0000\u0000�\u0000�\u0011*�J�\r\u0013�C�\u001a�\r$�F�\u000b\u0011�\u000b\u001c�\u000b\u001c�\u0004!�\u0001�\u0004!�\u000b\u001c�\u0001�\u000b!�\u0004!�\u0004!�\u0004!�\u000b\u001c�\u0001�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�6�\u0004!�\u0004!�\u0004!�6�\u0004!�\u0004!�\u0004!�\u000b\u001c�\u0004!�\u0004!�\u0004!�\u0001�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u000b\u000f�:�:�\u0004>�f�m�m�\u0004>�:�m�\u000b$�\u0004>�\u0004�\n�\n�\u0004>�\n�:�(>�\u0004>�\u000b$�(>�\u000b>�\u0004>�\u0004>�\u0004>�\u000b$�(>�\u0004>�\u0004>�\u0004>�\u0004>�\u0004>�\u0004>�4�\u0004>�\u0004>�\u0004>�4�\u0004>�\u0004>�\u0004>�:�\u0004>�\u0004>�\u0004>�\u0004>�\u0004>�\u0004>�f�\u0004>�\u0004>�\u0004>�f�\u0004>�\u0004>�\u0004>�m�\u0004>�\u0004>�\u0004>�\u000b$�\u0004>�\u0004>�\u0004>�\u0004>�\u0004>�\u0004>�\u0004�\u0004>�\u0004>�\u0004>�\u0004�\u0004>�\u0004>�\u0004>�\n�\u0004>�\u0004>�\u0004>�\u0004>�\u0004>�\u0004>�:�\u0004>�\u0004>�\u0004>�:�\u0004>�\u0004>�\u0004>�(>�\u0004>�\u0004>�\u0004>�\u0004>�\u0004>�\u0004>�\u0004>�\u0004>�\u000f\u0015�}�}�\u0004/�}�\u000f'�\u000f'�\u0004/�\u000f'�\u000f)�\u0004/�3�\u000f)�\u000b*�\u0004/�a�\u0004/�\u000b*�a�\u000b/�\u0004/�\u0004/�\u0004/�\u000b*�a�\u0004/�\u0004/�\u0004/�\u0004/�\u0004/�\u0004/�3�\u0004/�\u0004/�\u0004/�3�\u0004/�\u0004/�\u0004/�\u0004/�\u0004/�\u0004/�v�\u0004/�\u0004/�\u0004/�v�\u0004/�\u0004/�\u0004/�}�\u0004/�\u0004/�\u0004/�\u000f'�\u0004/�\u0004/�\u0004/�\u000f)�\u0004/�\u0004/�\u0004/�\u000b*�\u0004/�\u0004/�\u0004/�a�\u0004/�\u0004/�\u0004/�\u0004/�\u0004/�\u0004/�\u0004/�\u0004/r\u0014\u0000\u0000\u0000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0003\u0000\u0000\u0000�,\u0003\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0001d\u0002�\u0002\u0000\u0000\u0000\u0000\u0000\u0000}\u0000|\u0000j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0001d\u0003}\u0002|\u0001|\u0002k(\u0000\u0000}\u0003|\u0003s�t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0004|\u0003f\u0001d\u0005|\u0001|\u0002f\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000d\u0006t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u0006t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0007�\u0003z\u0006\u0000\u0000}\u0004d\bd\t|\u0004i\u0001z\u0006\u0000\u0000}\u0005t\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0005�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0001x\u0001}\u0003}\u0002|\u0000j\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0017\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000D\u0000�\u0006c\u0002g\u0000c\u0002]\u0017\u0000\u0000}\u0006t\u0019\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u001a\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0006�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0002�\u0019\u0004\u0000}\u0007}\u0006d\nd\u000bi\u0001d\fd\rg\u0002g\u0002}\u0003|\u0007|\u0003k(\u0000\u0000}\b|\bslt\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0004|\bf\u0001d\u000e|\u0007|\u0003f\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0007�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0003�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u000f�\u0002z\u0006\u0000\u0000}\td\u0010d\u0011|\ti\u0001z\u0006\u0000\u0000}\nt\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\n�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0007x\u0001}\b}\u0003y\u0000c\u0002\u0001\u0000c\u0002}\u0006w\u0000)\u0012Nr\u0016\u0000\u0000\u0000u\u001c\u0000\u0000\u0000{\n \"answer\": \"μ\"\n}\n[1, 2]\nr\u0002\u0000\u0000\u0000r\u0017\u0000\u0000\u0000r\u0019\u0000\u0000\u0000r\u001a\u0000\u0000\u0000r\u001b\u0000\u0000\u0000r\u001f\u0000\u0000\u0000r \u0000\u0000\u0000�\u0006answeru\u0002\u0000\u0000\u0000μr\u0004\u0000\u0000\u0000�\u0002\u0000\u0000\u0000)\u0001z\u0012%(py1)s == %(py4)s)\u0002rP\u0000\u0000\u0000r\"\u0000\u0000\u0000z\u000eassert %(py6)sr#\u0000\u0000\u0000)\u000er\u0013\u0000\u0000\u0000r*\u0000\u0000\u0000r+\u0000\u0000\u0000r,\u0000\u0000\u0000r-\u0000\u0000\u0000r.\u0000\u0000\u0000r/\u0000\u0000\u0000r0\u0000\u0000\u0000r1\u0000\u0000\u0000r2\u0000\u0000\u0000r3\u0000\u0000\u0000r4\u0000\u0000\u0000rL\u0000\u0000\u0000rQ\u0000\u0000\u0000)\u000br\u001a\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000r7\u0000\u0000\u0000r8\u0000\u0000\u0000r9\u0000\u0000\u0000�\u0004line�\u000b@py_assert0rV\u0000\u0000\u0000�\u000b@py_format5�\u000b@py_format7s\u000b\u0000\u0000\u0000 r\u0012\u0000\u0000\u0000�2test_multiline_and_unicode_json_values_are_decodedr_\u0000\u0000\u0000+\u0000\u0000\u0000sA\u0001\u0000\u0000�\u0000�\r\u0013�C�\u0019;�\r<�F�\u000b\u0011�\u000b\u001c�\u000b\u001c�\u0004!�\u0001�\u0004!�\u000b\u001c�\u0001�\u000b!�\u0004!�\u0004!�\u0004!�\u000b\u001c�\u0001�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�6�\u0004!�\u0004!�\u0004!�6�\u0004!�\u0004!�\u0004!�\u000b\u001c�\u0004!�\u0004!�\u0004!�\u0001�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�)/�\u001d�\u001d�)A�)A�)C�\u000bD�)C�\u0014�D�J�J�t�\f\u001c�)C�\u0000\u0003\u0005\u0006�\u000bD�\t\u0011�4�\b\u0018�\t\n�A�\u0006�\u0005\u0003I\u0001\u0006�\u0000\u0003\u0005\u0006�\u000bD�\u0000\u0003I\u0001\u0006�\u0000\u0003\f\u0006�\u0000\u0003\u0005\u0006�\u0006�\u0000�\u0007\u0003\u0005\u0006�\u000bD�\u0000\u0003I\u0001\u0006�\u0000\u0003\u0005\u0006�\u0000\u0003\u0005\u0006�\u0006�\u0000�\u0007\u0000\fE\u0001�\u0000\u0003\u0005\u0006�\u0000\u0003\u0005\u0006�\u0006�\u0000�\u0007\u0003I\u0001\u0006�\u0000\u0003\u0005\u0006�\u0000\u0003\u0005\u0006�\u0000\u0003\u0005\u0006�\u0000\u0003\u0005\u0006�\u0006�\u0000�\u0007\u0003\u0005\u0006�\u0000\u0003\u0005\u0006�\u0000\u0003\u0005\u0006��\u000bDs\u0006\u0000\u0000\u0000�1\u001cF\u0011\u0004)\u0002r\b\u0000\u0000\u0000N)\u0016�\u0007__doc__�\bbuiltinsr-\u0000\u0000\u0000�\u0019_pytest.assertion.rewrite�\tassertion�\u0007rewriter+\u0000\u0000\u0000rL\u0000\u0000\u0000r\u000e\u0000\u0000\u0000�\u0007pathlibr\u0003\u0000\u0000\u0000�\b__file__�\u0007parents�\u0004ROOTr\u0011\u0000\u0000\u0000r\u0010\u0000\u0000\u0000�\u0010CompletedProcessr\u0013\u0000\u0000\u0000r@\u0000\u0000\u0000rJ\u0000\u0000\u0000rW\u0000\u0000\u0000r_\u0000\u0000\u0000�\u0000r\u0014\u0000\u0000\u0000r\u0012\u0000\u0000\u0000�\b<module>rk\u0000\u0000\u0000\u0001\u0000\u0000\u0000sm\u0000\u0000\u0000�\u0003\u0001\u0001\u0001�\u0000C�\u0000\u0000�\u0000�\u000b�\u0000\u0011�\u0000\u0018�\u0006\u0000\b\f�H�~�\u0007\u001d�\u0007\u001d�a�\u0007 �\u0004�\r\u0011�D�[�\n�\u0006\u0007\u0001\u0006�C�\u0000\u0007\u0001\u0006�S�\u0000\u0007\u0001\u0006�Z�-H�-H�\u0013�-M�\u0000\u0007\u0001\u0006�\u0014\u0004\u0001=�\u000e\u0003\u00019�\f\u0005\u00010�\u0010\u0006\u0001\u0006r\u0014\u0000\u0000\u0000tests/__pycache__/test_lexer.cpython-310-pytest-9.0.2.pyc\no\r\r\n\u0000\u0000\u0000\u0000+��j}\u0005\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0005\u0000\u0000\u0000@\u0000\u0000\u0000s�\u0000\u0000\u0000d\u0000d\u0001l\u0000Z\u0001d\u0000d\u0001l\u0002m\u0003\u0002\u0000\u0001\u0000m\u0004Z\u0005\u0001\u0000d\u0000d\u0001l\u0006Z\u0006d\u0000d\u0002l\u0007m\bZ\b\u0001\u0000d\u0000d\u0003l\tm\nZ\nm\u000bZ\u000b\u0001\u0000d\u0010d\u0005d\u0006�\u0004Z\fd\u0010d\u0007d\b�\u0004Z\rd\u0010d\td\n�\u0004Z\u000ee\u0006j\u000f�\u0010d\u000bd\fd\rg\u0002�\u0002d\u000be\u0011d\u0004d\u0001f\u0004d\u000ed\u000f�\u0004�\u0001Z\u0012d\u0001S\u0000)\u0011�\u0000\u0000\u0000\u0000N)\u0001�\fCompileError)\u0002�\tTokenKind�\btokenize�\u0006returnc\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n\u0000\u0000\u0000\r\u0000\u0000\u0000C\u0000\u0000\u0000s�\u0001\u0000\u0000t\u0000d\u0001�\u0001}\u0000d\u0002d\u0003�\u0000|\u0000d\u0000d\u0004�\u0002\u0019\u0000D\u0000�\u0001}\u0001t\u0001j\u0002t\u0001j\u0003t\u0001j\u0004t\u0001j\u0005t\u0001j\u0004t\u0001j\u0004t\u0001j\u0006t\u0001j\u0007t\u0001j\bt\u0001j\u0004t\u0001j\u0005t\u0001j\u0007t\u0001j\u0003g\r}\u0002|\u0001|\u0002k\u0002}\u0003|\u0003sTt\t�\nd\u0005|\u0003f\u0001d\u0006|\u0001|\u0002f\u0002�\u0004t\t�\u000b|\u0001�\u0001t\t�\u000b|\u0002�\u0001d\u0007�\u0002\u0016\u0000}\u0004d\bd\t|\u0004i\u0001\u0016\u0000}\u0005t\ft\t�\r|\u0005�\u0001�\u0001�\u0001d\u0000\u0004\u0000}\u0001\u0004\u0000}\u0003}\u0002d\nd\u0003�\u0000|\u0000d\u0000d\u000b�\u0002\u0019\u0000D\u0000�\u0001}\u0001g\u0000d\f�\u0001}\u0002|\u0001|\u0002k\u0002}\u0003|\u0003s�t\t�\nd\u0005|\u0003f\u0001d\u0006|\u0001|\u0002f\u0002�\u0004t\t�\u000b|\u0001�\u0001t\t�\u000b|\u0002�\u0001d\u0007�\u0002\u0016\u0000}\u0004d\bd\t|\u0004i\u0001\u0016\u0000}\u0005t\ft\t�\r|\u0005�\u0001�\u0001�\u0001d\u0000\u0004\u0000}\u0001\u0004\u0000}\u0003}\u0002|\u0000d\u0004\u0019\u0000}\u0001|\u0001j\u000e}\u0003t\u0001j\u000f}\u0006|\u0003|\u0006u\u0000}\u0007|\u0007s�t\t�\nd\r|\u0007f\u0001d\u000e|\u0003|\u0006f\u0002�\u0004t\t�\u000b|\u0001�\u0001t\t�\u000b|\u0003�\u0001d\u000ft\u0010�\u0011�\u0000v\u0000s�t\t�\u0012t\u0001�\u0001r�t\t�\u000bt\u0001�\u0001n\u0001d\u000ft\t�\u000b|\u0006�\u0001d\u0010�\u0004\u0016\u0000}\bd\u0011d\u0012|\bi\u0001\u0016\u0000}\tt\ft\t�\r|\t�\u0001�\u0001�\u0001d\u0000\u0004\u0000}\u0001\u0004\u0000}\u0003\u0004\u0000}\u0007}\u0006d\u0000S\u0000)\u0013Nz def f($x): .foo == 1; $x // nullc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0003\u0000\u0000\u0000S\u0000\u0000\u0000�\u0012\u0000\u0000\u0000g\u0000|\u0000]\u0005}\u0001|\u0001j\u0000�\u0002q\u0002S\u0000�\u0000)\u0001�\u0004kind�\u0002�\u0002.0�\u0005tokenr\u0007\u0000\u0000\u0000r\u0007\u0000\u0000\u0000�\\/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/tests/test_lexer.py�\n<listcomp>\t\u0000\u0000\u0000�\u0002\u0000\u0000\u0000\u0012\u0000zNtest_scans_literals_keywords_and_operators_in_source_order.<locals>.<listcomp>������\u0001�\u0002==�\u0001z\u0012%(py1)s == %(py4)s�\u0002�\u0003py1�\u0003py4�\u000eassert %(py6)s�\u0003py6c\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0003\u0000\u0000\u0000S\u0000\u0000\u0000r\u0006\u0000\u0000\u0000r\u0007\u0000\u0000\u0000)\u0001�\bpositionr\t\u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\f\u0000\u0000\u0000r\r\u0000\u0000\u0000\u0010\u0000\u0000\u0000r\u000e\u0000\u0000\u0000�\u0003\u0000\u0000\u0000)\u0003r\u0001\u0000\u0000\u0000�\u0004\u0000\u0000\u0000�\u0005\u0000\u0000\u0000)\u0001�\u0002is)\u0001zE%(py3)s\n{%(py3)s = %(py1)s.kind\n} is %(py7)s\n{%(py7)s = %(py5)s.END\n}r\u0003\u0000\u0000\u0000)\u0004r\u0014\u0000\u0000\u0000�\u0003py3�\u0003py5�\u0003py7z\u000eassert %(py9)s�\u0003py9)\u0013r\u0004\u0000\u0000\u0000r\u0003\u0000\u0000\u0000�\u0007KEYWORD�\nIDENTIFIER�\tDELIMITER�\u0007BINDING�\u0005FIELD�\bOPERATOR�\u0006NUMBER�\n@pytest_ar�\u0011_call_reprcompare�\t_saferepr�\u000eAssertionError�\u0013_format_explanationr\b\u0000\u0000\u0000�\u0003END�\f@py_builtins�\u0006locals�\u0018_should_repr_global_name)\n�\u0006tokens�\u000b@py_assert0�\u000b@py_assert3�\u000b@py_assert2�\u000b@py_format5�\u000b@py_format7�\u000b@py_assert6�\u000b@py_assert4�\u000b@py_format8�\f@py_format10r\u0007\u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\f\u0000\u0000\u0000�:test_scans_literals_keywords_and_operators_in_source_order\u0007\u0000\u0000\u0000s4\u0000\u0000\u0000\b\u0001\u0016\u0001\f\u0001\f\u0001\f\u0001\f\u0001\u0004\u0001\u0012�\u0002\u0006\u000e�\u0002\u0006\u0002�\u0002\u0006\u0002�\u0002\u0006\u0002�\u0002\u0006\u0002�\u0002\u0006\u0018�\u0002\u0006\u0002�\u0002\u0006\u0010�|\u0007�\u0001r;\u0000\u0000\u0000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0007\u0000\u0000\u0000C\u0000\u0000\u0000s�\u0000\u0000\u0000t\u0000d\u0001�\u0001}\u0000d\u0002d\u0003�\u0000|\u0000d\u0000d\u0004�\u0002\u0019\u0000D\u0000�\u0001}\u0001g\u0000d\u0005�\u0001}\u0002|\u0001|\u0002k\u0002}\u0003|\u0003s<t\u0001�\u0002d\u0006|\u0003f\u0001d\u0007|\u0001|\u0002f\u0002�\u0004t\u0001�\u0003|\u0001�\u0001t\u0001�\u0003|\u0002�\u0001d\b�\u0002\u0016\u0000}\u0004d\td\n|\u0004i\u0001\u0016\u0000}\u0005t\u0004t\u0001�\u0005|\u0005�\u0001�\u0001�\u0001d\u0000\u0004\u0000}\u0001\u0004\u0000}\u0003}\u0002d\u0000S\u0000)\u000bNz\u00141 # ignored\n \"a\\n#b\"c\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0003\u0000\u0000\u0000S\u0000\u0000\u0000r\u0006\u0000\u0000\u0000r\u0007\u0000\u0000\u0000)\u0001�\u0004textr\t\u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\f\u0000\u0000\u0000r\r\u0000\u0000\u0000\u0016\u0000\u0000\u0000r\u000e\u0000\u0000\u0000z?test_scans_comments_and_json_string_escapes.<locals>.<listcomp>r\u000f\u0000\u0000\u0000)\u0004�\u00011�\u0001\"z\u0005a\\n#br>\u0000\u0000\u0000r\u0010\u0000\u0000\u0000r\u0012\u0000\u0000\u0000r\u0013\u0000\u0000\u0000r\u0016\u0000\u0000\u0000r\u0017\u0000\u0000\u0000)\u0006r\u0004\u0000\u0000\u0000r(\u0000\u0000\u0000r)\u0000\u0000\u0000r*\u0000\u0000\u0000r+\u0000\u0000\u0000r,\u0000\u0000\u0000�\u0006r1\u0000\u0000\u0000r2\u0000\u0000\u0000r3\u0000\u0000\u0000r4\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\f\u0000\u0000\u0000�+test_scans_comments_and_json_string_escapes\u0014\u0000\u0000\u0000s\u0004\u0000\u0000\u0000\b\u0001�\u0001r@\u0000\u0000\u0000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0007\u0000\u0000\u0000C\u0000\u0000\u0000s�\u0000\u0000\u0000t\u0000d\u0001�\u0001}\u0000d\u0002d\u0003�\u0000|\u0000d\u0000d\u0004�\u0002\u0019\u0000D\u0000�\u0001}\u0001t\u0001j\u0002d\u0005f\u0002t\u0001j\u0003d\u0006f\u0002t\u0001j\u0004d\u0007f\u0002g\u0003}\u0002|\u0001|\u0002k\u0002}\u0003|\u0003sFt\u0005�\u0006d\b|\u0003f\u0001d\t|\u0001|\u0002f\u0002�\u0004t\u0005�\u0007|\u0001�\u0001t\u0005�\u0007|\u0002�\u0001d\n�\u0002\u0016\u0000}\u0004d\u000bd\f|\u0004i\u0001\u0016\u0000}\u0005t\bt\u0005�\t|\u0005�\u0001�\u0001�\u0001d\u0000\u0004\u0000}\u0001\u0004\u0000}\u0003}\u0002d\u0000S\u0000)\rNz\u001b@json $module::value .fieldc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0004\u0000\u0000\u0000S\u0000\u0000\u0000s\u0018\u0000\u0000\u0000g\u0000|\u0000]\b}\u0001|\u0001j\u0000|\u0001j\u0001f\u0002�\u0002q\u0002S\u0000r\u0007\u0000\u0000\u0000)\u0002r\b\u0000\u0000\u0000r<\u0000\u0000\u0000r\t\u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\f\u0000\u0000\u0000r\r\u0000\u0000\u0000\u001b\u0000\u0000\u0000s\u0002\u0000\u0000\u0000\u0018\u0000z=test_scans_formats_and_qualified_bindings.<locals>.<listcomp>r\u000f\u0000\u0000\u0000z\u0005@jsonz\u000e$module::valuez\u0006.fieldr\u0010\u0000\u0000\u0000r\u0012\u0000\u0000\u0000r\u0013\u0000\u0000\u0000r\u0016\u0000\u0000\u0000r\u0017\u0000\u0000\u0000)\nr\u0004\u0000\u0000\u0000r\u0003\u0000\u0000\u0000�\u0006FORMATr$\u0000\u0000\u0000r%\u0000\u0000\u0000r(\u0000\u0000\u0000r)\u0000\u0000\u0000r*\u0000\u0000\u0000r+\u0000\u0000\u0000r,\u0000\u0000\u0000r?\u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\f\u0000\u0000\u0000�)test_scans_formats_and_qualified_bindings\u0019\u0000\u0000\u0000s,\u0000\u0000\u0000\b\u0001\u0016\u0001\b\u0001\b\u0001\b\u0001\u0012�\u0002\u0004\u000e�\u0002\u0004\u0002�\u0002\u0004\u0002�\u0002\u0004\u0002�\u0002\u0004\u0002�\u0002\u0004\u0018�\u0002\u0004\u0002�\u0002\u0004\u0014�rB\u0000\u0000\u0000�\u0006sourcez\u0007\"bad\\q\"z\r\"unterminatedc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000\u0000\u0000\b\u0000\u0000\u0000C\u0000\u0000\u0000s8\u0000\u0000\u0000t\u0000�\u0001t\u0002�\u0001�\r\u0001\u0000t\u0003|\u0000�\u0001\u0001\u0000W\u0000d\u0000\u0004\u0000\u0004\u0000�\u0003\u0001\u0000d\u0000S\u00001\u0000s\u0015w\u0001\u0001\u0000\u0001\u0000\u0001\u0000Y\u0000\u0001\u0000d\u0000S\u0000)\u0001N)\u0004�\u0006pytest�\u0006raisesr\u0002\u0000\u0000\u0000r\u0004\u0000\u0000\u0000)\u0001rC\u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\f\u0000\u0000\u0000�#test_rejects_invalid_lexical_source\"\u0000\u0000\u0000s\u0006\u0000\u0000\u0000\f\u0002\n\u0001\"�rF\u0000\u0000\u0000)\u0002r\u0005\u0000\u0000\u0000N)\u0013�\bbuiltinsr.\u0000\u0000\u0000�\u0019_pytest.assertion.rewrite�\tassertion�\u0007rewriter(\u0000\u0000\u0000rD\u0000\u0000\u0000�\u0015jq_interpreter.errorsr\u0002\u0000\u0000\u0000�\u0014jq_interpreter.lexerr\u0003\u0000\u0000\u0000r\u0004\u0000\u0000\u0000r;\u0000\u0000\u0000r@\u0000\u0000\u0000rB\u0000\u0000\u0000�\u0004mark�\u000bparametrize�\u0003strrF\u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\u0007\u0000\u0000\u0000r\f\u0000\u0000\u0000�\b<module>\u0001\u0000\u0000\u0000s\u0010\u0000\u0000\u0000\"\u0000\f\u0002\u0010\u0001\n\u0003\n\r\n\u0005\u0010\t\u0018\u0001tests/__pycache__/test_lexer.cpython-312-pytest-9.1.1.pyc\n�\r\r\n\u0000\u0000\u0000\u0000+��j}\u0005\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000�\u0000d\u0000d\u0001l\u0000Z\u0001d\u0000d\u0001l\u0002m\u0003c\u0002\u0001\u0000m\u0004Z\u0005\u0001\u0000d\u0000d\u0001l\u0006Z\u0006d\u0000d\u0002l\u0007m\bZ\b\u0001\u0000d\u0000d\u0003l\tm\nZ\nm\u000bZ\u000b\u0001\u0000d\fd\u0005�\u0004Z\fd\fd\u0006�\u0004Z\rd\fd\u0007�\u0004Z\u000ee\u0006j\u001e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j!\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\bd\td\ng\u0002�\u0002\u0000\u0000\u0000\u0000\u0000\u0000d\be\u0011d\u0004d\u0001f\u0004d\u000b�\u0004�\u0000\u0000\u0000\u0000\u0000\u0000\u0000Z\u0012y\u0001)\r�\u0000\u0000\u0000\u0000N)\u0001�\fCompileError)\u0002�\tTokenKind�\btokenize�\u0006returnc\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\r\u0000\u0000\u0000\u0003\u0000\u0000\u0000�\u0004\u0006\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000}\u0000|\u0000d\u0000d\u0002\u001a\u0000D\u0000�\u0001c\u0002g\u0000c\u0002]\u000e\u0000\u0000}\u0001|\u0001j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0002�\u0010\u0004\u0000}\u0002}\u0001t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000g\r}\u0003|\u0002|\u0003k(\u0000\u0000}\u0004|\u0004slt\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0016\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0003|\u0004f\u0001d\u0004|\u0002|\u0003f\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000t\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0003�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0005�\u0002z\u0006\u0000\u0000}\u0005d\u0006d\u0007|\u0005i\u0001z\u0006\u0000\u0000}\u0006t\u001b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u001c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0006�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0002x\u0001}\u0004}\u0003|\u0000d\u0000d\b\u001a\u0000D\u0000�\u0001c\u0002g\u0000c\u0002]\u000e\u0000\u0000}\u0001|\u0001j\u001e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0002�\u0010\u0004\u0000}\u0002}\u0001g\u0000d\t�\u0001}\u0003|\u0002|\u0003k(\u0000\u0000}\u0004|\u0004slt\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0016\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0003|\u0004f\u0001d\u0004|\u0002|\u0003f\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000t\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0003�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0005�\u0002z\u0006\u0000\u0000}\u0005d\u0006d\u0007|\u0005i\u0001z\u0006\u0000\u0000}\u0006t\u001b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u001c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0006�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0002x\u0001}\u0004}\u0003|\u0000d\u0002\u0019\u0000\u0000\u0000}\u0002|\u0002j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0004t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0007|\u0004|\u0007u\u0000}\b|\bs�t\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0016\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\n|\bf\u0001d\u000b|\u0004|\u0007f\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000t\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0004�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\ft#\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j$\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0019t\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j&\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0019t\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\ft\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0007�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\r�\u0004z\u0006\u0000\u0000}\td\u000ed\u000f|\ti\u0001z\u0006\u0000\u0000}\nt\u001b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u001c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\n�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0002x\u0001}\u0004x\u0001}\b}\u0007y\u0000c\u0002\u0001\u0000c\u0002}\u0001w\u0000c\u0002\u0001\u0000c\u0002}\u0001w\u0000)\u0010Nz def f($x): .foo == 1; $x // null������\u0001�\u0002==�\u0001z\u0012%(py1)s == %(py4)s�\u0002�\u0003py1�\u0003py4�\u000eassert %(py6)s�\u0003py6�\u0003\u0000\u0000\u0000)\u0003r\u0002\u0000\u0000\u0000�\u0004\u0000\u0000\u0000�\u0005\u0000\u0000\u0000)\u0001�\u0002is)\u0001zE%(py3)s\n{%(py3)s = %(py1)s.kind\n} is %(py7)s\n{%(py7)s = %(py5)s.END\n}r\u0004\u0000\u0000\u0000)\u0004r\r\u0000\u0000\u0000�\u0003py3�\u0003py5�\u0003py7z\u000eassert %(py9)s�\u0003py9)\u0014r\u0005\u0000\u0000\u0000�\u0004kindr\u0004\u0000\u0000\u0000�\u0007KEYWORD�\nIDENTIFIER�\tDELIMITER�\u0007BINDING�\u0005FIELD�\bOPERATOR�\u0006NUMBER�\n@pytest_ar�\u0011_call_reprcompare�\t_saferepr�\u000eAssertionError�\u0013_format_explanation�\bposition�\u0003END�\f@py_builtins�\u0006locals�\u0018_should_repr_global_name)\u000b�\u0006tokens�\u0005token�\u000b@py_assert0�\u000b@py_assert3�\u000b@py_assert2�\u000b@py_format5�\u000b@py_format7�\u000b@py_assert6�\u000b@py_assert4�\u000b@py_format8�\f@py_format10s\u000b\u0000\u0000\u0000 �\\/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/tests/test_lexer.py�:test_scans_literals_keywords_and_operators_in_source_orderr7\u0000\u0000\u0000\u0007\u0000\u0000\u0000s\u0005\u0002\u0000\u0000�\u0000�\r\u0015�\u00168�\r9�F�$*�3�B�K�\u000b0�K�5�E�J�J�K�\u0000\u0006\u0005\u0006�\u000b0�\b\u0011�\b\u0019�\b\u0019�9�\u001b/�\u001b/�\u0019�1D�1D�\b\u0011�\b\u0019�\b\u0019�9�\u001b.�\u001b.�\t�0C�0C�\b\u0011�\u000f�\u000f�\u0019�\u0019+�\u0019+�Y�-=�-=�\b\u0011�\b\u001b�\b\u001b�Y�\u001d.�\u001d.�\t�0B�0B�\b\u0011�\b\u001c�\b\u001c�\u000b\u00065\u0006�\u0000\u0006\u0005\u0006�\u000b0�\u0000\u00065\u0006�\u0000\u0006\f\u0006�\u0000\u0006\u0005\u0006�\f�\u0000�\r\u0006\u0005\u0006�\u000b0�\u0000\u00065\u0006�\u0000\u0006\u0005\u0006�\u0000\u0006\u0005\u0006�\f�\u0000�\r\u0000\f1�\u0000\u0006\u0005\u0006�\u0000\u0006\u0005\u0006�\f�\u0000�\r\u00065\u0006�\u0000\u0006\u0005\u0006�\u0000\u0006\u0005\u0006�\u0000\u0006\u0005\u0006�\u0000\u0006\u0005\u0006�\f�\u0000�\r\u0006\u0005\u0006�\u0000\u0006\u0005\u0006�\u000e\u0000)/�r�\u0001�\n�\u000b3�\n�u�E�N�N�\n�\u0004@�\u000b3�y�\u0004@�\u000b3�y�\u000b@�\u0004@�\u0004@�\u0004@�\u000b3�y�\u0004@�\u0004@�\u0004@�\u000b3�\u0004@�\u0004@�\u0004@�y�\u0004@�\u0004@�\u0004@�\u0004@�\u0004@�\u0004@�\u0004@�\u000b\u0011�\"�:�\u0004+�:�?�?�\u0004+�i�m�m�\u0004+�?�m�\u000b+�\u0004+�\u0004+�\u0004+�?�m�\u0004+�\u0004+�\u0004+�:�\u0004+�\u0004+�\u0004+�?�\u0004+�\u0004+�\u0004+�\u0004+�\u0004+�\u0004+�i�\u0004+�\u0004+�\u0004+�i�\u0004+�\u0004+�\u0004+�m�\u0004+�\u0004+�\u0004+�\u0004+�\u0004+�\u0004+�\u0004+��\u0011\u0000\f1��\u000e\u0000\f4s\u000b\u0000\u0000\u0000�\u0013K8\u0004�-\u0013K=\u0004c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0003\u0000\u0000\u0000�V\u0001\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000}\u0000|\u0000d\u0000d\u0002\u001a\u0000D\u0000�\u0001c\u0002g\u0000c\u0002]\u000e\u0000\u0000}\u0001|\u0001j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0002�\u0010\u0004\u0000}\u0002}\u0001g\u0000d\u0003�\u0001}\u0003|\u0002|\u0003k(\u0000\u0000}\u0004|\u0004slt\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0004|\u0004f\u0001d\u0005|\u0002|\u0003f\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0003�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0006�\u0002z\u0006\u0000\u0000}\u0005d\u0007d\b|\u0005i\u0001z\u0006\u0000\u0000}\u0006t\u000b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0006�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0002x\u0001}\u0004}\u0003y\u0000c\u0002\u0001\u0000c\u0002}\u0001w\u0000)\tNz\u00141 # ignored\n \"a\\n#b\"r\b\u0000\u0000\u0000)\u0004�\u00011�\u0001\"z\u0005a\\n#br:\u0000\u0000\u0000r\t\u0000\u0000\u0000r\u000b\u0000\u0000\u0000r\f\u0000\u0000\u0000r\u000f\u0000\u0000\u0000r\u0010\u0000\u0000\u0000)\u0007r\u0005\u0000\u0000\u0000�\u0004textr!\u0000\u0000\u0000r\"\u0000\u0000\u0000r#\u0000\u0000\u0000r$\u0000\u0000\u0000r%\u0000\u0000\u0000�\u0007r+\u0000\u0000\u0000r,\u0000\u0000\u0000r-\u0000\u0000\u0000r.\u0000\u0000\u0000r/\u0000\u0000\u0000r0\u0000\u0000\u0000r1\u0000\u0000\u0000s\u0007\u0000\u0000\u0000 r6\u0000\u0000\u0000�+test_scans_comments_and_json_string_escapesr=\u0000\u0000\u0000\u0014\u0000\u0000\u0000sz\u0000\u0000\u0000�\u0000�\r\u0015�\u0016.�\r/�F�$*�3�B�K�\u000b0�K�5�E�J�J�K�\u0004M�\u000b0�4M�\u0004M�\u000b0�4M�\u000bM�\u0004M�\u0004M�\u0004M�\u000b0�4M�\u0004M�\u0004M�\u0004M�\u000b0�\u0004M�\u0004M�\u0004M�4M�\u0004M�\u0004M�\u0004M�\u0004M�\u0004M�\u0004M�\u0004M��\u000b0s\u0005\u0000\u0000\u0000�\u0013B&\u0004c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0003\u0000\u0000\u0000��\u0001\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000}\u0000|\u0000d\u0000d\u0002\u001a\u0000D\u0000�\u0001c\u0002g\u0000c\u0002]\u001a\u0000\u0000}\u0001|\u0001j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001j\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000f\u0002�\u0002�\u001c\u0004\u0000}\u0002}\u0001t\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\b\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0003f\u0002t\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0004f\u0002t\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0005f\u0002g\u0003}\u0003|\u0002|\u0003k(\u0000\u0000}\u0004|\u0004slt\u000f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0006|\u0004f\u0001d\u0007|\u0002|\u0003f\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000t\u000f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u000f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0003�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\b�\u0002z\u0006\u0000\u0000}\u0005d\td\n|\u0005i\u0001z\u0006\u0000\u0000}\u0006t\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u000f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0016\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0006�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0002x\u0001}\u0004}\u0003y\u0000c\u0002\u0001\u0000c\u0002}\u0001w\u0000)\u000bNz\u001b@json $module::value .fieldr\b\u0000\u0000\u0000z\u0005@jsonz\u000e$module::valuez\u0006.fieldr\t\u0000\u0000\u0000r\u000b\u0000\u0000\u0000r\f\u0000\u0000\u0000r\u000f\u0000\u0000\u0000r\u0010\u0000\u0000\u0000)\fr\u0005\u0000\u0000\u0000r\u0019\u0000\u0000\u0000r;\u0000\u0000\u0000r\u0004\u0000\u0000\u0000�\u0006FORMATr\u001d\u0000\u0000\u0000r\u001e\u0000\u0000\u0000r!\u0000\u0000\u0000r\"\u0000\u0000\u0000r#\u0000\u0000\u0000r$\u0000\u0000\u0000r%\u0000\u0000\u0000r<\u0000\u0000\u0000s\u0007\u0000\u0000\u0000 r6\u0000\u0000\u0000�)test_scans_formats_and_qualified_bindingsr@\u0000\u0000\u0000\u0019\u0000\u0000\u0000s�\u0000\u0000\u0000�\u0000�\r\u0015�\u00163�\r4�F�28�\u0013�\"�+�\u000b>�+�\u0015�U�Z�Z�\u0015�\u001a�\u001a�\f$�+�\u0000\u0004\u0005\u0006�\u000b>�\t\u0012�\t\u0019�\t\u0019�7�\b#�\t\u0012�\t\u001a�\t\u001a�\u001c,�\b-�\t\u0012�\u001f�\u001f�(�\b#�\u0007\u0004C\u0001\u0006�\u0000\u0004\u0005\u0006�\u000b>�\u0000\u0004C\u0001\u0006�\u0000\u0004\f\u0006�\u0000\u0004\u0005\u0006�\b�\u0000�\t\u0004\u0005\u0006�\u000b>�\u0000\u0004C\u0001\u0006�\u0000\u0004\u0005\u0006�\u0000\u0004\u0005\u0006�\b�\u0000�\t\u0000\f?�\u0000\u0004\u0005\u0006�\u0000\u0004\u0005\u0006�\b�\u0000�\t\u0004C\u0001\u0006�\u0000\u0004\u0005\u0006�\u0000\u0004\u0005\u0006�\u0000\u0004\u0005\u0006�\u0000\u0004\u0005\u0006�\b�\u0000�\t\u0004\u0005\u0006�\u0000\u0004\u0005\u0006�\u0000\u0004\u0005\u0006��\u000b>s\u0005\u0000\u0000\u0000�\u001fC#\u0004�\u0006sourcez\u0007\"bad\\q\"z\r\"unterminatedc\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0003\u0000\u0000\u0000�v\u0000\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u00005\u0000\u0001\u0000t\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000d\u0000d\u0000d\u0000�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0000#\u00001\u0000s\u0001w\u0002\u0001\u0000Y\u0000\u0001\u0000\u0001\u0000y\u0000x\u0003Y\u0000w\u0001)\u0001N)\u0004�\u0006pytest�\u0006raisesr\u0003\u0000\u0000\u0000r\u0005\u0000\u0000\u0000)\u0001rA\u0000\u0000\u0000s\u0001\u0000\u0000\u0000 r6\u0000\u0000\u0000�#test_rejects_invalid_lexical_sourcerE\u0000\u0000\u0000\"\u0000\u0000\u0000s\"\u0000\u0000\u0000�\u0000�\t\u000f�\u001d�\u001d�|�\t$�\b\u0010�\u0016�\b\u0018�\u0003\u0000\n%�\t$�\t$�s\b\u0000\u0000\u0000�\f/\u0003�\u00058\u0007)\u0002r\u0006\u0000\u0000\u0000N)\u0013�\bbuiltinsr(\u0000\u0000\u0000�\u0019_pytest.assertion.rewrite�\tassertion�\u0007rewriter!\u0000\u0000\u0000rC\u0000\u0000\u0000�\u0015jq_interpreter.errorsr\u0003\u0000\u0000\u0000�\u0014jq_interpreter.lexerr\u0004\u0000\u0000\u0000r\u0005\u0000\u0000\u0000r7\u0000\u0000\u0000r=\u0000\u0000\u0000r@\u0000\u0000\u0000�\u0004mark�\u000bparametrize�\u0003strrE\u0000\u0000\u0000�\u0000�\u0000\u0000\u0000\u0000r6\u0000\u0000\u0000�\b<module>rQ\u0000\u0000\u0000\u0001\u0000\u0000\u0000s[\u0000\u0000\u0000�\u0003\u0001\u0001\u0001�\u0000\u0000�\u0000�\r�\u0000.�\u00004�\u0006\n\u0001,�\u001a\u0002\u0001N\u0001�\n\u0006\u0001\u0006�\u0012\u0000\u0002\b�\u001b�\u001b�\u0001\u0018�\u0001\u0018�\u0018�J�\u000f�#@�\u0001A�\u0002\u0002\u0001\u0019�\u0003�\u0000\u0002\u0001\u0019�\u0004�\u0000\u0002\u0001\u0019�\u0003\u0000\u0002B\u0001�\u0002\u0002\u0001\u0019rP\u0000\u0000\u0000tests/__pycache__/test_parse_002.cpython-310-pytest-9.0.2.pyc\no\r\r\n\u0000\u0000\u0000\u0000-\u0000�j�\u0005\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000@\u0000\u0000\u0000s�\u0000\u0000\u0000d\u0000d\u0001l\u0000Z\u0001d\u0000d\u0001l\u0002m\u0003\u0002\u0000\u0001\u0000m\u0004Z\u0005\u0001\u0000d\u0000d\u0001l\u0006Z\u0006d\u0000d\u0001l\u0007Z\u0007d\u0000d\u0002l\bm\tZ\t\u0001\u0000d\u0000d\u0001l\nZ\nd\u0000d\u0003l\u000bm\fZ\f\u0001\u0000d\u0000d\u0004l\rm\u000eZ\u000e\u0001\u0000e\te\u000f�\u0001j\u0010d\u0005\u0019\u0000Z\u0011d\u0006e\u0012d\u0007e\u0013d\be\u0007j\u0014e\u0012\u0019\u0000f\u0006d\td\n�\u0004Z\u0015d\u0016d\u000bd\f�\u0004Z\u0016d\u0016d\rd\u000e�\u0004Z\u0017e\nj\u0018�\u0019d\u000fg\u0000d\u0010�\u0001�\u0002d\u0006e\u0012d\u0007e\u0013d\u0011e\u0012d\bd\u0001f\bd\u0012d\u0013�\u0004�\u0001Z\u001ad\u0016d\u0014d\u0015�\u0004Z\u001bd\u0001S\u0000)\u0017�\u0000\u0000\u0000\u0000N)\u0001�\u0004Path)\u0001�\fCompileError)\u0001�\u0005parse�\u0001\u0000\u0000\u0000�\u0007program�\u0005value�\u0006returnc\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0007\u0000\u0000\u0000C\u0000\u0000\u0000s,\u0000\u0000\u0000t\u0000j\u0001t\u0002t\u0003d\u0001\u001b\u0000�\u0001d\u0002|\u0000g\u0003t\u0004�\u0005|\u0001�\u0001d\u0003\u0017\u0000d\u0004d\u0004d\u0005d\u0006�\u0005S\u0000)\u0007N�\u0002jqz\u0002-c�\u0001\nTF)\u0004�\u0005input�\u0004text�\u000ecapture_output�\u0005check)\u0006�\nsubprocess�\u0003run�\u0003str�\u0004ROOT�\u0004json�\u0005dumps)\u0002r\u0006\u0000\u0000\u0000r\u0007\u0000\u0000\u0000�\u0000r\u0015\u0000\u0000\u0000�`/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/tests/test_parse_002.pyr\u0010\u0000\u0000\u0000\u000e\u0000\u0000\u0000s\u000e\u0000\u0000\u0000\u0004\u0001\u0010\u0001\f\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0006�r\u0010\u0000\u0000\u0000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000b\u0000\u0000\u0000\t\u0000\u0000\u0000C\u0000\u0000\u0000�j\u0001\u0000\u0000t\u0000d\u0001d\u0000�\u0002}\u0000|\u0000j\u0001}\u0001d\u0002}\u0002|\u0001|\u0002k\u0002}\u0003|\u0003sDt\u0002�\u0003d\u0003|\u0003f\u0001d\u0004|\u0001|\u0002f\u0002�\u0004d\u0005t\u0004�\u0005�\u0000v\u0000s%t\u0002�\u0006|\u0000�\u0001r*t\u0002�\u0007|\u0000�\u0001n\u0001d\u0005t\u0002�\u0007|\u0001�\u0001t\u0002�\u0007|\u0002�\u0001d\u0006�\u0003\u0016\u0000}\u0004d\u0007d\b|\u0004i\u0001\u0016\u0000}\u0005t\bt\u0002�\t|\u0005�\u0001�\u0001�\u0001d\u0000\u0004\u0000}\u0001\u0004\u0000}\u0003}\u0002t\nj\u000b}\u0001|\u0000j\f}\u0002|\u0001|\u0002�\u0001}\u0006d\t}\u0007|\u0006|\u0007k\u0002}\b|\bs�t\u0002�\u0003d\u0003|\bf\u0001d\n|\u0006|\u0007f\u0002�\u0004d\u000bt\u0004�\u0005�\u0000v\u0000sqt\u0002�\u0006t\n�\u0001rvt\u0002�\u0007t\n�\u0001n\u0001d\u000bt\u0002�\u0007|\u0001�\u0001d\u0005t\u0004�\u0005�\u0000v\u0000s�t\u0002�\u0006|\u0000�\u0001r�t\u0002�\u0007|\u0000�\u0001n\u0001d\u0005t\u0002�\u0007|\u0002�\u0001t\u0002�\u0007|\u0006�\u0001t\u0002�\u0007|\u0007�\u0001d\f�\u0006\u0016\u0000}\td\rd\u000e|\ti\u0001\u0016\u0000}\nt\bt\u0002�\t|\n�\u0001�\u0001�\u0001d\u0000\u0004\u0000}\u0001\u0004\u0000}\u0002\u0004\u0000}\u0006\u0004\u0000}\b}\u0007d\u0000S\u0000)\u000fNz\u0014\"Aa\\r\\n\\t\\b\\f\\u03bc\"r\u0001\u0000\u0000\u0000�\u0001�\u0002==�\u0001z2%(py2)s\n{%(py2)s = %(py0)s.returncode\n} == %(py5)s�\u0006result�\u0003�\u0003py0�\u0003py2�\u0003py5�\u000eassert %(py7)s�\u0003py7u\t\u0000\u0000\u0000Aa\r\n\t\b\fμ�\u0001zh%(py7)s\n{%(py7)s = %(py2)s\n{%(py2)s = %(py0)s.loads\n}(%(py5)s\n{%(py5)s = %(py3)s.stdout\n})\n} == %(py10)sr\u0013\u0000\u0000\u0000�\u0006r\u001d\u0000\u0000\u0000r\u001e\u0000\u0000\u0000�\u0003py3r\u001f\u0000\u0000\u0000r!\u0000\u0000\u0000�\u0004py10�\u000fassert %(py12)s�\u0004py12�\rr\u0010\u0000\u0000\u0000�\nreturncode�\n@pytest_ar�\u0011_call_reprcompare�\f@py_builtins�\u0006locals�\u0018_should_repr_global_name�\t_saferepr�\u000eAssertionError�\u0013_format_explanationr\u0013\u0000\u0000\u0000�\u0005loads�\u0006stdout�\u000br\u001b\u0000\u0000\u0000�\u000b@py_assert1�\u000b@py_assert4�\u000b@py_assert3�\u000b@py_format6�\u000b@py_format8�\u000b@py_assert6�\u000b@py_assert9�\u000b@py_assert8�\f@py_format11�\f@py_format13r\u0015\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0016\u0000\u0000\u0000�%test_unicode_json_escapes_are_decoded\u0018\u0000\u0000\u0000�\u0006\u0000\u0000\u0000\n\u0001�\u0001�\u0001r?\u0000\u0000\u0000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000b\u0000\u0000\u0000\t\u0000\u0000\u0000C\u0000\u0000\u0000r\u0017\u0000\u0000\u0000)\u000fNz\u0019\"inter\\(\"pol\" + \"ation\")\"r\u0001\u0000\u0000\u0000r\u0018\u0000\u0000\u0000r\u001a\u0000\u0000\u0000r\u001b\u0000\u0000\u0000r\u001c\u0000\u0000\u0000r \u0000\u0000\u0000r!\u0000\u0000\u0000�\rinterpolationr\"\u0000\u0000\u0000r\u0013\u0000\u0000\u0000r#\u0000\u0000\u0000r&\u0000\u0000\u0000r'\u0000\u0000\u0000r(\u0000\u0000\u0000r4\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0016\u0000\u0000\u0000�%test_interpolation_uses_filter_output\u001e\u0000\u0000\u0000r@\u0000\u0000\u0000rB\u0000\u0000\u0000)\u0003r\u0006\u0000\u0000\u0000r\u0007\u0000\u0000\u0000�\bexpected)\u0003)\u0003z\u0004@uriu\u0002\u0000\u0000\u0000μz\u0006%CE%BC)\u0003z\u0007@base64u\b\u0000\u0000\u0000foóbar\nz\fZm/Ds2Jhcgo=)\u0003z\u0013@html \"<b>\\(.)</b>\"z\u0014<script>hax</script>z'<b><script>hax</script></b>rC\u0000\u0000\u0000c\u0003\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\r\u0000\u0000\u0000\t\u0000\u0000\u0000C\u0000\u0000\u0000s|\u0001\u0000\u0000t\u0000|\u0000|\u0001�\u0002}\u0003|\u0003j\u0001}\u0004d\u0001}\u0005|\u0004|\u0005k\u0002}\u0006|\u0006sDt\u0002�\u0003d\u0002|\u0006f\u0001d\u0003|\u0004|\u0005f\u0002�\u0004d\u0004t\u0004�\u0005�\u0000v\u0000s%t\u0002�\u0006|\u0003�\u0001r*t\u0002�\u0007|\u0003�\u0001n\u0001d\u0004t\u0002�\u0007|\u0004�\u0001t\u0002�\u0007|\u0005�\u0001d\u0005�\u0003\u0016\u0000}\u0007d\u0006d\u0007|\u0007i\u0001\u0016\u0000}\bt\bt\u0002�\t|\b�\u0001�\u0001�\u0001d\u0000\u0004\u0000}\u0004\u0004\u0000}\u0006}\u0005t\nj\u000b}\u0004|\u0003j\f}\u0005|\u0004|\u0005�\u0001}\t|\t|\u0002k\u0002}\n|\ns�t\u0002�\u0003d\u0002|\nf\u0001d\b|\t|\u0002f\u0002�\u0004d\tt\u0004�\u0005�\u0000v\u0000sot\u0002�\u0006t\n�\u0001rtt\u0002�\u0007t\n�\u0001n\u0001d\tt\u0002�\u0007|\u0004�\u0001d\u0004t\u0004�\u0005�\u0000v\u0000s�t\u0002�\u0006|\u0003�\u0001r�t\u0002�\u0007|\u0003�\u0001n\u0001d\u0004t\u0002�\u0007|\u0005�\u0001t\u0002�\u0007|\t�\u0001d\nt\u0004�\u0005�\u0000v\u0000s�t\u0002�\u0006|\u0002�\u0001r�t\u0002�\u0007|\u0002�\u0001n\u0001d\nd\u000b�\u0006\u0016\u0000}\u000bd\fd\r|\u000bi\u0001\u0016\u0000}\ft\bt\u0002�\t|\f�\u0001�\u0001�\u0001d\u0000\u0004\u0000}\u0004\u0004\u0000}\u0005\u0004\u0000}\t}\nd\u0000S\u0000)\u000eNr\u0001\u0000\u0000\u0000r\u0018\u0000\u0000\u0000r\u001a\u0000\u0000\u0000r\u001b\u0000\u0000\u0000r\u001c\u0000\u0000\u0000r \u0000\u0000\u0000r!\u0000\u0000\u0000)\u0001zg%(py7)s\n{%(py7)s = %(py2)s\n{%(py2)s = %(py0)s.loads\n}(%(py5)s\n{%(py5)s = %(py3)s.stdout\n})\n} == %(py9)sr\u0013\u0000\u0000\u0000rC\u0000\u0000\u0000)\u0006r\u001d\u0000\u0000\u0000r\u001e\u0000\u0000\u0000r$\u0000\u0000\u0000r\u001f\u0000\u0000\u0000r!\u0000\u0000\u0000�\u0003py9z\u000fassert %(py11)s�\u0004py11r(\u0000\u0000\u0000)\rr\u0006\u0000\u0000\u0000r\u0007\u0000\u0000\u0000rC\u0000\u0000\u0000r\u001b\u0000\u0000\u0000r5\u0000\u0000\u0000r6\u0000\u0000\u0000r7\u0000\u0000\u0000r8\u0000\u0000\u0000r9\u0000\u0000\u0000r:\u0000\u0000\u0000r<\u0000\u0000\u0000�\f@py_format10�\f@py_format12r\u0015\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0016\u0000\u0000\u0000�\u0014test_format_literals$\u0000\u0000\u0000s\u0006\u0000\u0000\u0000\n\t�\u0001�\u0001rH\u0000\u0000\u0000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\b\u0000\u0000\u0000C\u0000\u0000\u0000s8\u0000\u0000\u0000t\u0000�\u0001t\u0002�\u0001�\r\u0001\u0000t\u0003d\u0001�\u0001\u0001\u0000W\u0000d\u0000\u0004\u0000\u0004\u0000�\u0003\u0001\u0000d\u0000S\u00001\u0000s\u0015w\u0001\u0001\u0000\u0001\u0000\u0001\u0000Y\u0000\u0001\u0000d\u0000S\u0000)\u0002Nz\u0006\"u\\vw\")\u0004�\u0006pytest�\u0006raisesr\u0003\u0000\u0000\u0000r\u0004\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0016\u0000\u0000\u0000�&test_invalid_escape_is_compile_failure2\u0000\u0000\u0000s\u0006\u0000\u0000\u0000\f\u0001\n\u0001\"�rK\u0000\u0000\u0000)\u0002r\b\u0000\u0000\u0000N)\u001c�\bbuiltinsr,\u0000\u0000\u0000�\u0019_pytest.assertion.rewrite�\tassertion�\u0007rewriter*\u0000\u0000\u0000r\u0013\u0000\u0000\u0000r\u000f\u0000\u0000\u0000�\u0007pathlibr\u0002\u0000\u0000\u0000rI\u0000\u0000\u0000�\u0015jq_interpreter.errorsr\u0003\u0000\u0000\u0000�\u0015jq_interpreter.parserr\u0004\u0000\u0000\u0000�\b__file__�\u0007parentsr\u0012\u0000\u0000\u0000r\u0011\u0000\u0000\u0000�\u0006object�\u0010CompletedProcessr\u0010\u0000\u0000\u0000r?\u0000\u0000\u0000rB\u0000\u0000\u0000�\u0004mark�\u000bparametrizerH\u0000\u0000\u0000rK\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0016\u0000\u0000\u0000�\b<module>\u0001\u0000\u0000\u0000s \u0000\u0000\u0000\"\u0000\b\u0001\f\u0001\b\u0002\f\u0002\f\u0001\u000e\u0003\u001c\u0003\n\n\n\u0006\u0006\u0006\u0002\u0001\u0006\u0001\u0002�\u001c\b\u000e\u0006tests/__pycache__/test_parse_002.cpython-312-pytest-9.1.1.pyc\n�\r\r\n\u0000\u0000\u0000\u0000-\u0000�j�\u0005\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000�$\u0001\u0000\u0000�\u0000d\u0000d\u0001l\u0000Z\u0001d\u0000d\u0001l\u0002m\u0003c\u0002\u0001\u0000m\u0004Z\u0005\u0001\u0000d\u0000d\u0001l\u0006Z\u0006d\u0000d\u0001l\u0007Z\u0007d\u0000d\u0002l\bm\tZ\t\u0001\u0000d\u0000d\u0001l\nZ\nd\u0000d\u0003l\u000bm\fZ\f\u0001\u0000d\u0000d\u0004l\rm\u000eZ\u000e\u0001\u0000\u0002\u0000e\te\u000f�\u0001\u0000\u0000\u0000\u0000\u0000\u0000j \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0005\u0019\u0000\u0000\u0000Z\u0011d\u0006e\u0012d\u0007e\u0013d\be\u0007j(\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000e\u0012\u0019\u0000\u0000\u0000f\u0006d\t�\u0004Z\u0015d\u0011d\n�\u0004Z\u0016d\u0011d\u000b�\u0004Z\u0017e\nj0\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j3\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\fg\u0000d\r�\u0001�\u0002\u0000\u0000\u0000\u0000\u0000\u0000d\u0006e\u0012d\u0007e\u0013d\u000ee\u0012d\bd\u0001f\bd\u000f�\u0004�\u0000\u0000\u0000\u0000\u0000\u0000\u0000Z\u001ad\u0011d\u0010�\u0004Z\u001by\u0001)\u0012�\u0000\u0000\u0000\u0000N)\u0001�\u0004Path)\u0001�\fCompileError)\u0001�\u0005parse�\u0001\u0000\u0000\u0000�\u0007program�\u0005value�\u0006returnc\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0003\u0000\u0000\u0000�\u0000\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0001z\u000b\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0002|\u0000g\u0003t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0003z\u0000\u0000\u0000d\u0004d\u0004d\u0005�\u0006�\u0005\u0000\u0000\u0000\u0000\u0000\u0000S\u0000)\u0007N�\u0002jqz\u0002-c�\u0001\nTF)\u0004�\u0005input�\u0004text�\u000ecapture_output�\u0005check)\u0006�\nsubprocess�\u0003run�\u0003str�\u0004ROOT�\u0004json�\u0005dumps)\u0002r\u0007\u0000\u0000\u0000r\b\u0000\u0000\u0000s\u0002\u0000\u0000\u0000 �`/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/tests/test_parse_002.pyr\u0012\u0000\u0000\u0000r\u0012\u0000\u0000\u0000\u000e\u0000\u0000\u0000s@\u0000\u0000\u0000�\u0000�\u000b\u0015�>�>�\t\f�T�D�[�\t\u0019�4�\u0017�\b)�\u000e\u0012�j�j�\u0015�\u000e\u001f�$�\u000e&�\r\u0011�\u0017\u001b�\u000e\u0013�\u000b\u0006\f\u0006�\u0000\u0006\u0005\u0006�\u0000\u0000\u0000\u0000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0003\u0000\u0000\u0000�X\u0004\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0001d\u0000�\u0002\u0000\u0000\u0000\u0000\u0000\u0000}\u0000|\u0000j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0001d\u0002}\u0002|\u0001|\u0002k(\u0000\u0000}\u0003|\u0003s�t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0003|\u0003f\u0001d\u0004|\u0001|\u0002f\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000d\u0005t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u0005t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0006�\u0003z\u0006\u0000\u0000}\u0004d\u0007d\b|\u0004i\u0001z\u0006\u0000\u0000}\u0005t\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0005�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0001x\u0001}\u0003}\u0002t\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0016\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0001|\u0000j\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0002\u0002\u0000|\u0001|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000}\u0006d\t}\u0007|\u0006|\u0007k(\u0000\u0000}\b|\b�\u0001s\u001et\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0003|\bf\u0001d\n|\u0006|\u0007f\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000d\u000bt\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0019t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0019t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u000bt\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0005t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u0005t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0006�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0007�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\f�\u0006z\u0006\u0000\u0000}\td\rd\u000e|\ti\u0001z\u0006\u0000\u0000}\nt\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\n�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0001x\u0001}\u0002x\u0001}\u0006x\u0001}\b}\u0007y\u0000)\u000fNz\u0014\"Aa\\r\\n\\t\\b\\f\\u03bc\"r\u0002\u0000\u0000\u0000�\u0001�\u0002==�\u0001z2%(py2)s\n{%(py2)s = %(py0)s.returncode\n} == %(py5)s�\u0006result�\u0003�\u0003py0�\u0003py2�\u0003py5�\u000eassert %(py7)s�\u0003py7u\t\u0000\u0000\u0000Aa\r\n\t\b\fμ�\u0001zh%(py7)s\n{%(py7)s = %(py2)s\n{%(py2)s = %(py0)s.loads\n}(%(py5)s\n{%(py5)s = %(py3)s.stdout\n})\n} == %(py10)sr\u0015\u0000\u0000\u0000�\u0006r\u001f\u0000\u0000\u0000r \u0000\u0000\u0000�\u0003py3r!\u0000\u0000\u0000r#\u0000\u0000\u0000�\u0004py10�\u000fassert %(py12)s�\u0004py12�\rr\u0012\u0000\u0000\u0000�\nreturncode�\n@pytest_ar�\u0011_call_reprcompare�\f@py_builtins�\u0006locals�\u0018_should_repr_global_name�\t_saferepr�\u000eAssertionError�\u0013_format_explanationr\u0015\u0000\u0000\u0000�\u0005loads�\u0006stdout�\u000br\u001d\u0000\u0000\u0000�\u000b@py_assert1�\u000b@py_assert4�\u000b@py_assert3�\u000b@py_format6�\u000b@py_format8�\u000b@py_assert6�\u000b@py_assert9�\u000b@py_assert8�\f@py_format11�\f@py_format13s\u000b\u0000\u0000\u0000 r\u0017\u0000\u0000\u0000�%test_unicode_json_escapes_are_decodedrA\u0000\u0000\u0000\u0018\u0000\u0000\u0000s@\u0001\u0000\u0000�\u0000�\r\u0010�\u0011(�$�\r/�F�\u000b\u0011�\u000b\u001c�\u000b\u001c�\u0004!�\u0001�\u0004!�\u000b\u001c�\u0001�\u000b!�\u0004!�\u0004!�\u0004!�\u000b\u001c�\u0001�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�6�\u0004!�\u0004!�\u0004!�6�\u0004!�\u0004!�\u0004!�\u000b\u001c�\u0004!�\u0004!�\u0004!�\u0001�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u000b\u000f�:�:�\u00048�f�m�m�\u00048�:�m�\u000b$�\u00048�(8�\u00048�\u000b$�(8�\u000b8�\u00048�\u00048�\u00048�\u000b$�(8�\u00048�\u00048�\u00048�\u00048�\u00048�\u00048�4�\u00048�\u00048�\u00048�4�\u00048�\u00048�\u00048�:�\u00048�\u00048�\u00048�\u00048�\u00048�\u00048�f�\u00048�\u00048�\u00048�f�\u00048�\u00048�\u00048�m�\u00048�\u00048�\u00048�\u000b$�\u00048�\u00048�\u00048�(8�\u00048�\u00048�\u00048�\u00048�\u00048�\u00048�\u00048�\u00048r\u0018\u0000\u0000\u0000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0003\u0000\u0000\u0000�X\u0004\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0001d\u0000�\u0002\u0000\u0000\u0000\u0000\u0000\u0000}\u0000|\u0000j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0001d\u0002}\u0002|\u0001|\u0002k(\u0000\u0000}\u0003|\u0003s�t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0003|\u0003f\u0001d\u0004|\u0001|\u0002f\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000d\u0005t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u0005t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0006�\u0003z\u0006\u0000\u0000}\u0004d\u0007d\b|\u0004i\u0001z\u0006\u0000\u0000}\u0005t\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0005�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0001x\u0001}\u0003}\u0002t\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0016\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0001|\u0000j\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0002\u0002\u0000|\u0001|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000}\u0006d\t}\u0007|\u0006|\u0007k(\u0000\u0000}\b|\b�\u0001s\u001et\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0003|\bf\u0001d\n|\u0006|\u0007f\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000d\u000bt\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0019t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0019t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u000bt\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0005t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u0005t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0006�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0007�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\f�\u0006z\u0006\u0000\u0000}\td\rd\u000e|\ti\u0001z\u0006\u0000\u0000}\nt\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\n�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0001x\u0001}\u0002x\u0001}\u0006x\u0001}\b}\u0007y\u0000)\u000fNz\u0019\"inter\\(\"pol\" + \"ation\")\"r\u0002\u0000\u0000\u0000r\u001a\u0000\u0000\u0000r\u001c\u0000\u0000\u0000r\u001d\u0000\u0000\u0000r\u001e\u0000\u0000\u0000r\"\u0000\u0000\u0000r#\u0000\u0000\u0000�\rinterpolationr$\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r%\u0000\u0000\u0000r(\u0000\u0000\u0000r)\u0000\u0000\u0000r*\u0000\u0000\u0000r6\u0000\u0000\u0000s\u000b\u0000\u0000\u0000 r\u0017\u0000\u0000\u0000�%test_interpolation_uses_filter_outputrD\u0000\u0000\u0000\u001e\u0000\u0000\u0000s<\u0001\u0000\u0000�\u0000�\r\u0010�\u0011-�t�\r4�F�\u000b\u0011�\u000b\u001c�\u000b\u001c�\u0004!�\u0001�\u0004!�\u000b\u001c�\u0001�\u000b!�\u0004!�\u0004!�\u0004!�\u000b\u001c�\u0001�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�6�\u0004!�\u0004!�\u0004!�6�\u0004!�\u0004!�\u0004!�\u000b\u001c�\u0004!�\u0004!�\u0004!�\u0001�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u000b\u000f�:�:�\u00047�f�m�m�\u00047�:�m�\u000b$�\u00047�\u000f�\u00047�\u000b$�\u000f�\u000b7�\u00047�\u00047�\u00047�\u000b$�\u000f�\u00047�\u00047�\u00047�\u00047�\u00047�\u00047�4�\u00047�\u00047�\u00047�4�\u00047�\u00047�\u00047�:�\u00047�\u00047�\u00047�\u00047�\u00047�\u00047�f�\u00047�\u00047�\u00047�f�\u00047�\u00047�\u00047�m�\u00047�\u00047�\u00047�\u000b$�\u00047�\u00047�\u00047�\u000f�\u00047�\u00047�\u00047�\u00047�\u00047�\u00047�\u00047�\u00047r\u0018\u0000\u0000\u0000)\u0003r\u0007\u0000\u0000\u0000r\b\u0000\u0000\u0000�\bexpected)\u0003)\u0003z\u0004@uriu\u0002\u0000\u0000\u0000μz\u0006%CE%BC)\u0003z\u0007@base64u\b\u0000\u0000\u0000foóbar\nz\fZm/Ds2Jhcgo=)\u0003z\u0013@html \"<b>\\(.)</b>\"z\u0014<script>hax</script>z'<b><script>hax</script></b>rE\u0000\u0000\u0000c\u0003\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t\u0000\u0000\u0000\u0003\u0000\u0000\u0000�\u0004\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0000|\u0001�\u0002\u0000\u0000\u0000\u0000\u0000\u0000}\u0003|\u0003j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0004d\u0001}\u0005|\u0004|\u0005k(\u0000\u0000}\u0006|\u0006s�t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0002|\u0006f\u0001d\u0003|\u0004|\u0005f\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000d\u0004t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0003�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0003�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u0004t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0004�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0005�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0005�\u0003z\u0006\u0000\u0000}\u0007d\u0006d\u0007|\u0007i\u0001z\u0006\u0000\u0000}\bt\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\b�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0004x\u0001}\u0006}\u0005t\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0016\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0004|\u0003j\u0018\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000}\u0005\u0002\u0000|\u0004|\u0005�\u0001\u0000\u0000\u0000\u0000\u0000\u0000}\t|\t|\u0002k(\u0000\u0000}\n|\n�\u0001sKt\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0006\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0002|\nf\u0001d\b|\t|\u0002f\u0002�\u0004\u0000\u0000\u0000\u0000\u0000\u0000d\tt\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0019t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0019t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0014\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\tt\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0004�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\u0004t\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0003�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0003�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\u0004t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0005�\u0001\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\t�\u0001\u0000\u0000\u0000\u0000\u0000\u0000d\nt\t\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0000\u0000\u0000\u0000\u0000\u0000\u0000v\u0000s\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000r\u0015t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u000e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\u0002�\u0001\u0000\u0000\u0000\u0000\u0000\u0000n\u0001d\nd\u000b�\u0006z\u0006\u0000\u0000}\u000bd\fd\r|\u000bi\u0001z\u0006\u0000\u0000}\ft\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0005\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000|\f�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u0000�\u0001d\u0000x\u0001}\u0004x\u0001}\u0005x\u0001}\t}\ny\u0000)\u000eNr\u0002\u0000\u0000\u0000r\u001a\u0000\u0000\u0000r\u001c\u0000\u0000\u0000r\u001d\u0000\u0000\u0000r\u001e\u0000\u0000\u0000r\"\u0000\u0000\u0000r#\u0000\u0000\u0000)\u0001zg%(py7)s\n{%(py7)s = %(py2)s\n{%(py2)s = %(py0)s.loads\n}(%(py5)s\n{%(py5)s = %(py3)s.stdout\n})\n} == %(py9)sr\u0015\u0000\u0000\u0000rE\u0000\u0000\u0000)\u0006r\u001f\u0000\u0000\u0000r \u0000\u0000\u0000r&\u0000\u0000\u0000r!\u0000\u0000\u0000r#\u0000\u0000\u0000�\u0003py9z\u000fassert %(py11)s�\u0004py11r*\u0000\u0000\u0000)\rr\u0007\u0000\u0000\u0000r\b\u0000\u0000\u0000rE\u0000\u0000\u0000r\u001d\u0000\u0000\u0000r7\u0000\u0000\u0000r8\u0000\u0000\u0000r9\u0000\u0000\u0000r:\u0000\u0000\u0000r;\u0000\u0000\u0000r<\u0000\u0000\u0000r>\u0000\u0000\u0000�\f@py_format10�\f@py_format12s\r\u0000\u0000\u0000 r\u0017\u0000\u0000\u0000�\u0014test_format_literalsrK\u0000\u0000\u0000$\u0000\u0000\u0000sL\u0001\u0000\u0000�\u0000�\u0012\u0000\u000e\u0011�\u0017�%�\r �F�\u000b\u0011�\u000b\u001c�\u000b\u001c�\u0004!�\u0001�\u0004!�\u000b\u001c�\u0001�\u000b!�\u0004!�\u0004!�\u0004!�\u000b\u001c�\u0001�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�6�\u0004!�\u0004!�\u0004!�6�\u0004!�\u0004!�\u0004!�\u000b\u001c�\u0004!�\u0004!�\u0004!�\u0001�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u0004!�\u000b\u000f�:�:�\u00040�f�m�m�\u00040�:�m�\u000b$�\u00040�\u000b$�\b�\u000b0�\u00040�\u00040�\u00040�\u000b$�\b�\u00040�\u00040�\u00040�\u00040�\u00040�\u00040�4�\u00040�\u00040�\u00040�4�\u00040�\u00040�\u00040�:�\u00040�\u00040�\u00040�\u00040�\u00040�\u00040�f�\u00040�\u00040�\u00040�f�\u00040�\u00040�\u00040�m�\u00040�\u00040�\u00040�\u000b$�\u00040�\u00040�\u00040�\u00040�\u00040�\u00040�\b�\u00040�\u00040�\u00040�\b�\u00040�\u00040�\u00040�\u00040�\u00040�\u00040�\u00040�\u00040r\u0018\u0000\u0000\u0000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0003\u0000\u0000\u0000�v\u0000\u0000\u0000�\u0000t\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000j\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000t\u0004\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000�\u0001\u0000\u0000\u0000\u0000\u0000\u00005\u0000\u0001\u0000t\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000d\u0001�\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000d\u0000d\u0000d\u0000�\u0002\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0000y\u0000#\u00001\u0000s\u0001w\u0002\u0001\u0000Y\u0000\u0001\u0000\u0001\u0000y\u0000x\u0003Y\u0000w\u0001)\u0002Nz\u0006\"u\\vw\")\u0004�\u0006pytest�\u0006raisesr\u0004\u0000\u0000\u0000r\u0005\u0000\u0000\u0000�\u0000r\u0018\u0000\u0000\u0000r\u0017\u0000\u0000\u0000�&test_invalid_escape_is_compile_failurerP\u0000\u0000\u00002\u0000\u0000\u0000s\"\u0000\u0000\u0000�\u0000�\t\u000f�\u001d�\u001d�|�\t$�\b\r�i�\b\u0018�\u0003\u0000\n%�\t$�\t$�s\b\u0000\u0000\u0000�\f/\u0003�\u00058\u0007)\u0002r\t\u0000\u0000\u0000N)\u001c�\bbuiltinsr.\u0000\u0000\u0000�\u0019_pytest.assertion.rewrite�\tassertion�\u0007rewriter,\u0000\u0000\u0000r\u0015\u0000\u0000\u0000r\u0011\u0000\u0000\u0000�\u0007pathlibr\u0003\u0000\u0000\u0000rM\u0000\u0000\u0000�\u0015jq_interpreter.errorsr\u0004\u0000\u0000\u0000�\u0015jq_interpreter.parserr\u0005\u0000\u0000\u0000�\b__file__�\u0007parentsr\u0014\u0000\u0000\u0000r\u0013\u0000\u0000\u0000�\u0006object�\u0010CompletedProcessr\u0012\u0000\u0000\u0000rA\u0000\u0000\u0000rD\u0000\u0000\u0000�\u0004mark�\u000bparametrizerK\u0000\u0000\u0000rP\u0000\u0000\u0000rO\u0000\u0000\u0000r\u0018\u0000\u0000\u0000r\u0017\u0000\u0000\u0000�\b<module>r^\u0000\u0000\u0000\u0001\u0000\u0000\u0000s�\u0000\u0000\u0000�\u0003\u0001\u0001\u0001�\u0000\u0000�\u0000�\u000b�\u0000\u0011�\u0000\u0018�\u0000\r�\u0000.�\u0000'�\u0006\u0000\b\f�H�~�\u0007\u001d�\u0007\u001d�a�\u0007 �\u0004�\u0006\u0007\u0001\u0006�\u0013�\u0000\u0007\u0001\u0006�V�\u0000\u0007\u0001\u0006�\n�(C�(C�C�(H�\u0000\u0007\u0001\u0006�\u0014\u0003\u00019�\f\u0003\u00018�\f\u0000\u0002\b�\u001b�\u001b�\u0001\u0018�\u0001\u0018�\u0004$�\u0002\u0004\u0005\u0006�\u0005\u0007\u0002\u0002�\u0010\u0003\u00011�#�\u0000\u0003\u00011�f�\u0000\u0003\u00011�\u0003�\u0000\u0003\u00011�\u0004�\u0000\u0003\u00011�\u0011\u0007\u0002\u0002�\u0010\u0003\u00011�\f\u0002\u0001\u0019r\u0018\u0000\u0000\u0000","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_11","type":"command_execution","command":"/bin/bash -lc \"sed -n '1130,1235p' jq_interpreter/evaluator.py; sed -n '1,180p' jq_interpreter/cli.py\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_11","type":"command_execution","command":"/bin/bash -lc \"sed -n '1130,1235p' jq_interpreter/evaluator.py; sed -n '1,180p' jq_interpreter/cli.py\"","aggregated_output":" elif isinstance(item, dict):\n for key, child in item.items():\n p=prefix+(key,); yield list(p); yield from paths_of(child,p)\n if args:\n for item in _node(args[0], value, env): yield from paths_of(item)\n else: yield from paths_of(value)\n return\n if name == 'indices':\n for needle in (list(_node(args[0], value, env)) if args else [None]):\n found: list[int] = []\n if isinstance(value, str) and isinstance(needle, str):\n start=0\n while True:\n position=value.find(needle,start)\n if position < 0: break\n found.append(position); start=position+1\n elif isinstance(value, list) and isinstance(needle, list):\n for i in range(len(value)-len(needle)+1):\n if _deep_equal(value[i:i+len(needle)],needle): found.append(i)\n elif isinstance(value, list):\n for i,item in enumerate(value):\n if _deep_equal(item,needle): found.append(i)\n yield found\n return\n if name == 'index':\n needles = list(_node(args[0], value, env)) if args else [None]\n for needle in needles:\n if isinstance(value, str):\n found = value.find(needle)\n elif isinstance(value, list):\n found = next((i for i, item in enumerate(value) if _deep_equal(item, needle)), -1)\n else:\n raise RuntimeError('cannot search value')\n yield found if found >= 0 else None\n return\n if name in ('arrays','objects','iterables','booleans','numbers','strings','nulls','values','scalars','normals','finites'):\n ok = {'arrays':isinstance(value,list),'objects':isinstance(value,dict),\n 'iterables':isinstance(value,(list,dict)),'booleans':isinstance(value,bool),\n 'numbers':isinstance(value,(int,float)) and not isinstance(value,bool),\n 'strings':isinstance(value,str),'nulls':value is None,\n 'values':value is not None,'scalars':not isinstance(value,(list,dict))}[name]\n if ok: yield value\n return\n if name == 'keys':\n if isinstance(value, dict): yield sorted(value)\n elif isinstance(value, list): yield list(range(len(value)))\n else: raise RuntimeError('keys requires object or array')\n return\n if name == 'getpath':\n path = _one(args[0], value, env)\n if not isinstance(path, list): raise RuntimeError('Paths must be specified as an array')\n if len(path) > 10000: raise RuntimeError('Path too deep')\n yield _get_path_checked(value, tuple(path)); return\n if name == 'setpath':\n path = _one(args[0], value, env); replacement = _one(args[1], value, env)\n if not isinstance(path, list): raise RuntimeError('Paths must be specified as an array')\n if len(path) > 10000: raise RuntimeError('Path too deep')\n yield _set_path_checked(value, tuple(path), replacement); return\n if name == 'delpaths':\n paths = _one(args[0], value, env)\n if not isinstance(paths, list): raise RuntimeError('Paths must be specified as an array')\n if any(isinstance(path, list) and len(path) > 10000 for path in paths):\n raise RuntimeError('Path too deep')\n result = value\n for path in paths:\n if isinstance(path, list): result = _delete_path_checked(result, tuple(path))\n yield result; return\n if name == 'del':\n all_paths = []\n for path_expr in args:\n try:\n all_paths.extend(_paths(path_expr, value, env))\n except RuntimeError:\n # `del(.[nan])` is a no-op in jq; the same invalid index is\n # still an error for an assignment, handled by _paths above.\n continue\n result = value\n grouped = {}\n for path in all_paths:\n if path:\n parent, key = path[:-1], path[-1]\n # jq resolves every deletion path against the original\n # value. Normalize negative array indices before applying\n # any mutation so later removals cannot change their target.\n container = _get_path(value, parent)\n if isinstance(container, list) and isinstance(key, (int, float)) and key < 0:\n key = len(container) + int(key)\n grouped.setdefault(parent, set()).add(key)\n # Remove array members in descending index order so one deletion\n # cannot shift a later member. Deeper parents are handled first.\n for parent in sorted(grouped, key=lambda item: len(item), reverse=True):\n for key in sorted(grouped[parent], key=lambda item: item if isinstance(item, (int, float)) else 0, reverse=True):\n result = _delete_path(result, parent + (key,))\n if any(not path for path in all_paths):\n result = None\n yield result\n return\n if name == 'rindex':\n needles = list(_node(args[0], value, env)) if args else [None]\n for needle in needles:\n if isinstance(value, str): yield value.rfind(needle) if needle in value else None\n elif isinstance(value, list):\n try: yield len(value) - 1 - value[::-1].index(needle)\n except ValueError: yield None\n else: raise RuntimeError('cannot search value')\n return\n\"\"\"Executable boundary for ``jq -c '<program>'``.\"\"\"\n\nimport argparse\nimport json\nimport math\nimport sys\nfrom collections.abc import Iterator\n\nfrom .diagnostics import report_compile_error, report_runtime_error\nfrom .errors import CompileError, RuntimeError\nfrom .interpreter import Interpreter, parse_inputs\n\n# The conformance corpus deliberately exercises jq's deep-value limit with\n# values around ten thousand levels deep. Python's default limit is lower\n# than that and would turn valid jq processing into an uncaught RecursionError\n# while encoding an intermediate value.\nsys.setrecursionlimit(100000)\n\n\ndef _inputs() -> Iterator[object]:\n yield from parse_inputs(sys.stdin.read())\n\n\ndef _json_output(value: object) -> object:\n \"\"\"Convert jq's non-finite numbers to its JSON output representation.\n\n jq represents NaN and infinities as ``null`` when emitting JSON. Doing this\n recursively also covers values nested in arrays and objects.\n \"\"\"\n if isinstance(value, float) and not math.isfinite(value):\n return None\n if isinstance(value, list):\n return [_json_output(item) for item in value]\n if isinstance(value, dict):\n return {key: _json_output(item) for key, item in value.items()}\n return value\n\n\ndef main(argv: list[str] | None = None) -> int:\n arguments = argparse.ArgumentParser(prog=\"jq\")\n arguments.add_argument(\"-c\", action=\"store_true\")\n arguments.add_argument(\"program\")\n options = arguments.parse_args(argv)\n try:\n interpreter = Interpreter(options.program)\n except CompileError as error:\n return report_compile_error(error)\n try:\n for output in interpreter.run(_inputs()):\n from .evaluator import _deep_json_dumps\n print(_deep_json_dumps(output), flush=True)\n except (RuntimeError, ValueError, TypeError, json.JSONDecodeError) as error:\n return report_runtime_error(RuntimeError(str(error)))\n return 0\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_12","type":"command_execution","command":"/bin/bash -lc \"grep -n \\\"def _get_path_checked\\\\|def _set_path_checked\\\" -A85 jq_interpreter/evaluator.py\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_12","type":"command_execution","command":"/bin/bash -lc \"grep -n \\\"def _get_path_checked\\\\|def _set_path_checked\\\" -A85 jq_interpreter/evaluator.py\"","aggregated_output":"740:def _get_path_checked(value, path):\n741- current = value\n742- for key in path:\n743- _validate_path_key(current, key, updating=False)\n744- if isinstance(current, dict): current = current.get(key)\n745- elif isinstance(current, list):\n746- index = int(key); current = current[index] if -len(current) <= index < len(current) else None\n747- else: return None\n748- return current\n749-\n750-\n751:def _set_path_checked(value, path, replacement):\n752- current = value\n753- for key in path:\n754- _validate_path_key(current, key, updating=True)\n755- if isinstance(current, dict): current = current.get(key)\n756- elif isinstance(current, list):\n757- index = int(key); current = current[index] if 0 <= index < len(current) else None\n758- elif current is not None:\n759- raise RuntimeError(f'Cannot index {_type_name(current)} with {_type_name(key)} ({_short(key)})')\n760- return _set_path(value, path, replacement)\n761-\n762-\n763-def _delete_path_checked(value, path):\n764- current = value\n765- for key in path:\n766- _validate_path_key(current, key, updating=False)\n767- if isinstance(current, dict): current = current.get(key)\n768- elif isinstance(current, list):\n769- if isinstance(key, list): raise RuntimeError('Cannot update field at array index of array')\n770- index = int(key); current = current[index] if -len(current) <= index < len(current) else None\n771- else: break\n772- return _delete_path(value, path)\n773-\n774-\n775-def _get_path(value, path):\n776- current = value\n777- for key in path:\n778- if isinstance(current, dict):\n779- if not isinstance(key, str):\n780- raise RuntimeError(f'Cannot index object with {_type_name(key)} ({_short(key)})')\n781- current = current.get(key)\n782- elif isinstance(current, list):\n783- if isinstance(key, float) and math.isnan(key):\n784- raise RuntimeError('Cannot set array element at NaN index')\n785- if isinstance(key, list):\n786- raise RuntimeError('Cannot update field at array index of array')\n787- index = int(key); current = current[index] if -len(current) <= index < len(current) else None\n788- else: return None\n789- return current\n790-\n791-def _set_path(value, path, replacement):\n792- if not path: return replacement\n793- if isinstance(value, dict):\n794- result = dict(value); key = str(path[0]); result[key] = _set_path(result.get(key), path[1:], replacement); return result\n795- if isinstance(value, list):\n796- result = list(value); index = int(path[0]); index = index + len(result) if index < 0 else index\n797- while index >= len(result): result.append(None)\n798- result[index] = _set_path(result[index], path[1:], replacement); return result\n799- if isinstance(path[0], (int, float)) and not isinstance(path[0], bool):\n800- result = []\n801- index = int(path[0])\n802- while len(result) <= index: result.append(None)\n803- result[index] = _set_path(result[index], path[1:], replacement)\n804- return result\n805- return {str(path[0]): _set_path(None, path[1:], replacement)}\n806-\n807-def _delete_path(value, path):\n808- if not path: return None\n809- if isinstance(value, list):\n810- index = int(path[0]); index = index + len(value) if index < 0 else index\n811- result = list(value)\n812- if len(path) == 1:\n813- if 0 <= index < len(result): result.pop(index)\n814- elif 0 <= index < len(result): result[index] = _delete_path(result[index], path[1:])\n815- return result\n816- if isinstance(value, dict):\n817- result = dict(value); key = str(path[0])\n818- if len(path) == 1: result.pop(key, None)\n819- elif key in result: result[key] = _delete_path(result[key], path[1:])\n820- return result\n821- return value\n822-def _call(name,args,value,env):\n823- parameter = env.get('__params__', {}).get(name)\n824- if parameter is not None:\n825- bound_env, argument = parameter\n826- yield from _node(argument, value, bound_env)\n827- return\n828- if not args and name in env:\n829- bound = env[name]\n830- if isinstance(bound, tuple) and bound and bound[0] == '__closure__':\n831- yield from _node(bound[1], value, {**env, **bound[2]})\n832- elif isinstance(bound, Node):\n833- yield from _node(bound, value, env)\n834- else:\n835- yield bound\n836- return\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_13","type":"command_execution","command":"/bin/bash -lc \"for x in '{\\\"a\\\":0}' '{\\\"a\\\":null}' '{\\\"a\\\":[{}]}' '{\\\"a\\\":[{\\\"c\\\":3}]}' ; do echo input\"'$x; ./jq -c '\"'.[] | try (getpath([\\\"a\\\",0,\\\"b\\\"]) |= 5) catch .' <<< \\\"\"'$x\"; done\n./jq -c '\"'try (def x: reverse; x=10) catch .' <<< '[0,1,2]'\n./jq -c 'have_decnum, -.' <<< '-0.12345678901234567890123456789'\n./jq -c '1E+1000 | tojson' <<< null\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_13","type":"command_execution","command":"/bin/bash -lc \"for x in '{\\\"a\\\":0}' '{\\\"a\\\":null}' '{\\\"a\\\":[{}]}' '{\\\"a\\\":[{\\\"c\\\":3}]}' ; do echo input\"'$x; ./jq -c '\"'.[] | try (getpath([\\\"a\\\",0,\\\"b\\\"]) |= 5) catch .' <<< \\\"\"'$x\"; done\n./jq -c '\"'try (def x: reverse; x=10) catch .' <<< '[0,1,2]'\n./jq -c 'have_decnum, -.' <<< '-0.12345678901234567890123456789'\n./jq -c '1E+1000 | tojson' <<< null\"","aggregated_output":"{\"a\":[{\"b\":5}]}\ninput{\"a\":null}\n{\"a\":[{\"b\":5}]}\ninput{\"a\":[{}]}\n\"invalid literal for int() with base 10: 'a'\"\ninput{\"a\":[{\"c\":3}]}\n\"invalid literal for int() with base 10: 'a'\"\n\"Invalid path expression\"\ntrue\n0.12345678901234568\n\"null\"\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_14","type":"command_execution","command":"/bin/bash -lc \"grep -n 'def _short\\\\|def _stringify' -A35 jq_interpreter/evaluator.py\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_14","type":"command_execution","command":"/bin/bash -lc \"grep -n 'def _short\\\\|def _stringify' -A35 jq_interpreter/evaluator.py\"","aggregated_output":"1389:def _short(value: object) -> str:\n1390- if isinstance(value, str):\n1391- shown = value if len(value) <= 24 else value[:24] + '...'\n1392- return json.dumps(shown, ensure_ascii=False)\n1393- if isinstance(value, float) and value.is_integer():\n1394- return str(int(value))\n1395- return _stringify(value)\n1396-\n1397-def _type_name(value: object) -> str:\n1398- if value is None: return 'null'\n1399- if isinstance(value, bool): return 'boolean'\n1400- if isinstance(value, (int, float)): return 'number'\n1401- if isinstance(value, str): return 'string'\n1402- if isinstance(value, list): return 'array'\n1403- if isinstance(value, dict): return 'object'\n1404- return type(value).__name__\n1405-\n1406:def _stringify(value: object) -> str:\n1407- import json\n1408- return value if isinstance(value, str) else json.dumps(value, separators=(\",\", \":\"), ensure_ascii=False, allow_nan=False)\n1409-\n1410-def _apply_format(name: str, value: object, template: bool = False) -> str:\n1411- import base64, html, json, urllib.parse\n1412- if name == \"text\": return _stringify(value)\n1413- if name == \"json\": return json.dumps(value, separators=(\",\", \":\"), ensure_ascii=False)\n1414- if name == \"html\": return html.escape(_stringify(value), quote=True).replace(\"'\", \"'\")\n1415- if name == \"uri\": return urllib.parse.quote(_stringify(value), safe=\"-_.~\")\n1416- if name == \"urid\": return urllib.parse.unquote(_stringify(value))\n1417- if name == \"base64\": return base64.b64encode(_stringify(value).encode()).decode()\n1418- if name == \"base64d\": return base64.b64decode(_stringify(value)).decode()\n1419- if name == \"csv\": return \",\".join('\"' + str(x).replace('\"', '\"\"') + '\"' if isinstance(x, str) else _stringify(x) for x in value)\n1420- if name == \"tsv\": return \"\\t\".join(_stringify(x).replace(\"\\\\\", \"\\\\\\\\\").replace(\"\\n\", \"\\\\n\").replace(\"\\r\", \"\\\\r\").replace(\"\\t\", \"\\\\t\") for x in value)\n1421- if name == \"sh\": return \"'\" + _stringify(value).replace(\"'\", \"'\\\\''\") + \"'\"\n1422- raise RuntimeError(f\"unknown format @{name}\")\n","exit_code":0,"status":"completed"}}
{"type":"item.completed","item":{"id":"item_8","type":"command_execution","command":"/bin/bash -lc \"for q in '\"'^'\"\\\\.' '\"'^'\"\\\\[' '\"'^'\"\\\\{' '[+*/%]' '[-]' 'assignment' ; do echo ===\"'$q; timeout 25s bash -c \"JQ='\"\\\\\"'$PWD/jq python3 sources/run_conformance.py --select '\"\\\\\\\"\"'$q'\"\\\\\\\" --json\\\" > /tmp/out.json; rc=\"'$?; if [ $rc -eq 0 ]; then python3 -c '\"'import json;d=json.load(open(\\\"/tmp/out.json\\\"));print(d[\\\"summary\\\"]);[print(x) for x in d[\\\"cases\\\"]]'; else echo timed-\"'$rc; fi; done'","aggregated_output":"timed-1\n===^\\[\ntimed-124\n===^\\{\ntimed-124\n===[+*/%]\ntimed-1\n===[-]\ntimed-1\n===assignment\n{'pass': 0, 'fail': 0, 'error': 0, 'skip': 0}\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_15","type":"command_execution","command":"/bin/bash -lc \"sed -n '66,82p' jq_interpreter/evaluator.py; sed -n '355,370p' jq_interpreter/evaluator.py; sed -n '876,884p' jq_interpreter/evaluator.py\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_15","type":"command_execution","command":"/bin/bash -lc \"sed -n '66,82p' jq_interpreter/evaluator.py; sed -n '355,370p' jq_interpreter/evaluator.py; sed -n '876,884p' jq_interpreter/evaluator.py\"","aggregated_output":" raise RuntimeError(program.message)\n if isinstance(program, Array):\n yield list(evaluate(program.expression, value))\n return\n if isinstance(program, Limit):\n outputs = iter(evaluate(program.expression, value))\n for _ in range(program.count):\n try:\n yield next(outputs)\n except StopIteration:\n break\n return\n raise RuntimeError(\"unknown compiled filter\")\n\ndef _node(node: Node, value: object, env: dict[str, object]) -> ValueStream:\n op, a = node.operation, node.arguments\n if op == \"identity\": yield value\n if _truth(item): emitted = True; yield item\n if not emitted: yield from _node(right, value, env)\n return\n if op in ('=', '|=', '+=', '-=', '*=', '/=', '%=', '//='):\n if op == '=' and left.operation == 'slice':\n for replacement in _node(right, value, env):\n yield _assign_slice(left, value, replacement, env)\n return\n paths = _paths(left, value, env)\n if not paths:\n raise RuntimeError('Invalid path expression')\n if op == '|=':\n result = value\n for path in sorted(paths, key=lambda path: tuple(\n -part if isinstance(part, int) else part for part in path)):\n old = _get_path(result, path)\n else: raise RuntimeError('cannot add values')\n yield result\n return\n if name=='type': yield 'null' if value is None else 'boolean' if isinstance(value,bool) else 'number' if isinstance(value,(int,float)) else 'string' if isinstance(value,str) else 'array' if isinstance(value,list) else 'object'; return\n if name=='not': yield not _truth(value); return\n if name == 'have_decnum': yield True; return\n if name in ('any', 'all'):\n stream = _node(args[0], value, env) if args else iter(value if isinstance(value, list) else [])\n desired = name == 'any'\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_16","type":"command_execution","command":"/bin/bash -lc \"sed -n '82,100p' jq_interpreter/evaluator.py\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_16","type":"command_execution","command":"/bin/bash -lc \"sed -n '82,100p' jq_interpreter/evaluator.py\"","aggregated_output":" if op == \"identity\": yield value\n elif op == \"literal\":\n text=a[0]; special={\"true\":True,\"false\":False,\"null\":None,\"nan\":float(\"nan\"),\"infinite\":float(\"inf\"),\"-infinite\":float(\"-inf\"),\"-nan\":float(\"nan\")}; yield special[text] if text in special else json.loads(text)\n elif op == \"string\": yield _decode_string(a[0], value, env)\n elif op == \"format\": yield _apply_format(a[0], value)\n elif op == \"format_template\":\n # Interpolation is evaluated first; the formatter consumes the\n # resulting string (not the original input value).\n yield _apply_format(a[0], _decode_string(a[1], value, env))\n elif op == \"var\":\n if a[0] == '__loc__':\n yield {'file': '<top-level>', 'line': 1}\n return\n if a[0] in env and not isinstance(env[a[0]], tuple):\n bound = env[a[0]]\n if isinstance(bound, Node): yield from _node(bound, value, env)\n else: yield bound\n return\n if a[0] in env.get('__params__', {}):\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_17","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_17","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_18","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_18","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_19","type":"command_execution","command":"/bin/bash -lc \"./jq -c 'have_decnum, -.' <<< '-0.12345678901234567890123456789'; ./jq -c '1E+1000 | tojson' <<< null; ./jq -c '\\\"x\\\" * range(0; 12; 2) + \\\"☆\\\" * 8 | try -. catch .' <<< null; timeout 30s bash -c 'JQ=\\\"\"'$PWD/jq\" python3 sources/run_conformance.py --select \"reduce |foreach |def \" --json'\"' > /tmp/p4.json; python3 - <<'PY'\nimport json\nx=json.load(open('/tmp/p4.json'));print(x['summary']);print(x['cases'])\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_19","type":"command_execution","command":"/bin/bash -lc \"./jq -c 'have_decnum, -.' <<< '-0.12345678901234567890123456789'; ./jq -c '1E+1000 | tojson' <<< null; ./jq -c '\\\"x\\\" * range(0; 12; 2) + \\\"☆\\\" * 8 | try -. catch .' <<< null; timeout 30s bash -c 'JQ=\\\"\"'$PWD/jq\" python3 sources/run_conformance.py --select \"reduce |foreach |def \" --json'\"' > /tmp/p4.json; python3 - <<'PY'\nimport json\nx=json.load(open('/tmp/p4.json'));print(x['summary']);print(x['cases'])\nPY\"","aggregated_output":"false\n0.12345678901234568\n\"null\"\n\"string (\\\"☆☆☆☆☆☆☆☆\\\") cannot be negated\"\n\"string (\\\"xx☆☆☆☆☆☆☆...\\\") cannot be negated\"\n\"string (\\\"xxxx☆☆☆☆☆☆...\\\") cannot be negated\"\n\"string (\\\"xxxxxx☆☆☆☆☆☆...\\\") cannot be negated\"\n\"string (\\\"xxxxxxxx☆☆☆☆☆...\\\") cannot be negated\"\n\"string (\\\"xxxxxxxxxx☆☆☆☆...\\\") cannot be negated\"\n{'pass': 46, 'fail': 0, 'error': 0, 'skip': 2}\n[{'line': 1900, 'program': 'import \"a\" as foo; import \"b\" as bar; def fooa: foo::a; [fooa, bar::a, bar::b, foo::a]', 'status': 'skip', 'detail': 'declared in exclusions.txt', 'expect_failure': False, 'expected': ['[\"a\",\"b\",\"c\",\"a\"]'], 'actual': []}, {'line': 1917, 'program': 'import \"data\" as $a; import \"data\" as $b; def f: {$a, $b}; f', 'status': 'skip', 'detail': 'declared in exclusions.txt', 'expect_failure': False, 'expected': ['{\"a\":[{\"this\":\"is a test\",\"that\":\"is too\"}],\"b\":[{\"this\":\"is a test\",\"that\":\"is too\"}]}'], 'actual': []}]\n","exit_code":0,"status":"completed"}}
{"type":"item.completed","item":{"id":"item_20","type":"agent_message","text":"The focused control/declaration cluster now passes (46 pass, 0 fail, 2 excluded), and the numeric capability branch is corrected to match this jq build’s non-decimal mode. I’m tightening the remaining expression and error-path mismatches before rerunning the full declared selectors."}}
{"type":"item.started","item":{"id":"item_21","type":"command_execution","command":"/bin/bash -lc 'JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select '\"'%%FAIL|if |try |reduce |foreach |def | as |label |module|include' --json\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_21","type":"command_execution","command":"/bin/bash -lc 'JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select '\"'%%FAIL|if |try |reduce |foreach |def | as |label |module|include' --json\"","aggregated_output":"{\r\n \"candidate\": [\r\n \"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq\"\r\n ],\r\n \"corpus\": \"jq.test\",\r\n \"summary\": {\r\n \"pass\": 201,\r\n \"fail\": 10,\r\n \"error\": 0,\r\n \"skip\": 13\r\n },\r\n \"cases\": [\r\n {\r\n \"line\": 1258,\r\n \"program\": \".[] | try (getpath([\\\"a\\\",0,\\\"b\\\"]) |= 5) catch .\",\r\n \"status\": \"fail\",\r\n \"detail\": \"output mismatch\",\r\n \"expect_failure\": false,\r\n \"expected\": [\r\n \"{\\\"a\\\":[{\\\"b\\\":5}]}\",\r\n \"{\\\"b\\\":0,\\\"a\\\":[{\\\"b\\\":5}]}\",\r\n \"\\\"Cannot index number with number (0)\\\"\",\r\n \"{\\\"a\\\":[{\\\"b\\\":5}]}\",\r\n \"\\\"Cannot index number with string (\\\\\\\"b\\\\\\\")\\\"\",\r\n \"\\\"Cannot index object with number (0)\\\"\",\r\n \"{\\\"a\\\":[{\\\"b\\\":5}]}\",\r\n \"{\\\"a\\\":[{\\\"c\\\":3,\\\"b\\\":5}]}\"\r\n ],\r\n \"actual\": [\r\n \"{\\\"a\\\":[{\\\"b\\\":5}]}\",\r\n \"{\\\"b\\\":0,\\\"a\\\":[{\\\"b\\\":5}]}\",\r\n \"{\\\"a\\\":[{\\\"b\\\":5}]}\",\r\n \"{\\\"a\\\":[{\\\"b\\\":5}]}\",\r\n \"{\\\"a\\\":[{\\\"b\\\":5},1]}\",\r\n \"\\\"Cannot index object with number (0)\\\"\",\r\n \"{\\\"a\\\":[{\\\"b\\\":5}]}\",\r\n \"{\\\"a\\\":[{\\\"c\\\":3,\\\"b\\\":5}]}\"\r\n ]\r\n },\r\n {\r\n \"line\": 1900,\r\n \"program\": \"import \\\"a\\\" as foo; import \\\"b\\\" as bar; def fooa: foo::a; [fooa, bar::a, bar::b, foo::a]\",\r\n \"status\": \"skip\",\r\n \"detail\": \"declared in exclusions.txt\",\r\n \"expect_failure\": false,\r\n \"expected\": [\r\n \"[\\\"a\\\",\\\"b\\\",\\\"c\\\",\\\"a\\\"]\"\r\n ],\r\n \"actual\": []\r\n },\r\n {\r\n \"line\": 1904,\r\n \"program\": \"import \\\"c\\\" as foo; [foo::a, foo::c]\",\r\n \"status\": \"skip\",\r\n \"detail\": \"declared in exclusions.txt\",\r\n \"expect_failure\": false,\r\n \"expected\": [\r\n \"[0,\\\"acmehbah\\\"]\"\r\n ],\r\n \"actual\": []\r\n },\r\n {\r\n \"line\": 1908,\r\n \"program\": \"include \\\"c\\\"; [a, c]\",\r\n \"status\": \"skip\",\r\n \"detail\": \"declared in exclusions.txt\",\r\n \"expect_failure\": false,\r\n \"expected\": [\r\n \"[0,\\\"acmehbah\\\"]\"\r\n ],\r\n \"actual\": []\r\n },\r\n {\r\n \"line\": 1912,\r\n \"program\": \"import \\\"data\\\" as $e; import \\\"data\\\" as $d; [$d[].this,$e[].that,$d::d[].this,$e::e[].that]|join(\\\";\\\")\",\r\n \"status\": \"skip\",\r\n \"detail\": \"declared in exclusions.txt\",\r\n \"expect_failure\": false,\r\n \"expected\": [\r\n \"\\\"is a test;is too;is a test;is too\\\"\"\r\n ],\r\n \"actual\": []\r\n },\r\n {\r\n \"line\": 1917,\r\n \"program\": \"import \\\"data\\\" as $a; import \\\"data\\\" as $b; def f: {$a, $b}; f\",\r\n \"status\": \"skip\",\r\n \"detail\": \"declared in exclusions.txt\",\r\n \"expect_failure\": false,\r\n \"expected\": [\r\n \"{\\\"a\\\":[{\\\"this\\\":\\\"is a test\\\",\\\"that\\\":\\\"is too\\\"}],\\\"b\\\":[{\\\"this\\\":\\\"is a test\\\",\\\"that\\\":\\\"is too\\\"}]}\"\r\n ],\r\n \"actual\": []\r\n },\r\n {\r\n \"line\": 1921,\r\n \"program\": \"include \\\"shadow1\\\"; e\",\r\n \"status\": \"skip\",\r\n \"detail\": \"declared in exclusions.txt\",\r\n \"expect_failure\": false,\r\n \"expected\": [\r\n \"2\"\r\n ],\r\n \"actual\": []\r\n },\r\n {\r\n \"line\": 1925,\r\n \"program\": \"include \\\"shadow1\\\"; include \\\"shadow2\\\"; e\",\r\n \"status\": \"skip\",\r\n \"detail\": \"declared in exclusions.txt\",\r\n \"expect_failure\": false,\r\n \"expected\": [\r\n \"3\"\r\n ],\r\n \"actual\": []\r\n },\r\n {\r\n \"line\": 1929,\r\n \"program\": \"import \\\"shadow1\\\" as f; import \\\"shadow2\\\" as f; import \\\"shadow1\\\" as e; [e::e, f::e]\",\r\n \"status\": \"skip\",\r\n \"detail\": \"declared in exclusions.txt\",\r\n \"expect_failure\": false,\r\n \"expected\": [\r\n \"[2,3]\"\r\n ],\r\n \"actual\": []\r\n },\r\n {\r\n \"line\": 1969,\r\n \"program\": \"modulemeta\",\r\n \"status\": \"skip\",\r\n \"detail\": \"declared in exclusions.txt\",\r\n \"expect_failure\": false,\r\n \"expected\": [\r\n \"{\\\"whatever\\\":null,\\\"deps\\\":[{\\\"as\\\":\\\"foo\\\",\\\"is_data\\\":false,\\\"relpath\\\":\\\"a\\\"},{\\\"search\\\":\\\"./\\\",\\\"as\\\":\\\"d\\\",\\\"is_data\\\":false,\\\"relpath\\\":\\\"d\\\"},{\\\"search\\\":\\\"./\\\",\\\"as\\\":\\\"d2\\\",\\\"is_data\\\":false,\\\"relpath\\\":\\\"d\\\"},{\\\"search\\\":\\\"./../lib/jq\\\",\\\"as\\\":\\\"e\\\",\\\"is_data\\\":false,\\\"relpath\\\":\\\"e\\\"},{\\\"search\\\":\\\"./../lib/jq\\\",\\\"as\\\":\\\"f\\\",\\\"is_data\\\":false,\\\"relpath\\\":\\\"f\\\"},{\\\"as\\\":\\\"d\\\",\\\"is_data\\\":true,\\\"relpath\\\":\\\"data\\\"}],\\\"defs\\\":[\\\"a/0\\\",\\\"c/0\\\"]}\"\r\n ],\r\n \"actual\": []\r\n },\r\n {\r\n \"line\": 1973,\r\n \"program\": \"modulemeta | .deps | length\",\r\n \"status\": \"skip\",\r\n \"detail\": \"declared in exclusions.txt\",\r\n \"expect_failure\": false,\r\n \"expected\": [\r\n \"6\"\r\n ],\r\n \"actual\": []\r\n },\r\n {\r\n \"line\": 1977,\r\n \"program\": \"modulemeta | .defs | length\",\r\n \"status\": \"skip\",\r\n \"detail\": \"declared in exclusions.txt\",\r\n \"expect_failure\": false,\r\n \"expected\": [\r\n \"2\"\r\n ],\r\n \"actual\": []\r\n },\r\n {\r\n \"line\": 1982,\r\n \"program\": \"import \\\"syntaxerror\\\" as e; .\",\r\n \"status\": \"skip\",\r\n \"detail\": \"declared in exclusions.txt\",\r\n \"expect_failure\": true,\r\n \"expected\": [],\r\n \"actual\": []\r\n },\r\n {\r\n \"line\": 1993,\r\n \"program\": \"import \\\"test_bind_order\\\" as check; check::check\",\r\n \"status\": \"skip\",\r\n \"detail\": \"declared in exclusions.txt\",\r\n \"expect_failure\": false,\r\n \"expected\": [\r\n \"true\"\r\n ],\r\n \"actual\": []\r\n },\r\n {\r\n \"line\": 2005,\r\n \"program\": \"\\\"x\\\" * range(0; 12; 2) + \\\"\\u2606\\\" * 8 | try -. catch .\",\r\n \"status\": \"fail\",\r\n \"detail\": \"output mismatch\",\r\n \"expect_failure\": false,\r\n \"expected\": [\r\n \"\\\"string (\\\\\\\"\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606\\\\\\\") cannot be negated\\\"\",\r\n \"\\\"string (\\\\\\\"xx\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606\\\\\\\") cannot be negated\\\"\",\r\n \"\\\"string (\\\\\\\"xxxx\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606...\\\\\\\") cannot be negated\\\"\",\r\n \"\\\"string (\\\\\\\"xxxxxx\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606...\\\\\\\") cannot be negated\\\"\",\r\n \"\\\"string (\\\\\\\"xxxxxxxx\\u2606\\u2606\\u2606\\u2606\\u2606...\\\\\\\") cannot be negated\\\"\",\r\n \"\\\"string (\\\\\\\"xxxxxxxxxx\\u2606\\u2606\\u2606\\u2606...\\\\\\\") cannot be negated\\\"\"\r\n ],\r\n \"actual\": [\r\n \"\\\"string (\\\\\\\"\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606\\\\\\\") cannot be negated\\\"\",\r\n \"\\\"string (\\\\\\\"xx\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606...\\\\\\\") cannot be negated\\\"\",\r\n \"\\\"string (\\\\\\\"xxxx\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606...\\\\\\\") cannot be negated\\\"\",\r\n \"\\\"string (\\\\\\\"xxxxxx\\u2606\\u2606\\u2606\\u2606\\u2606\\u2606...\\\\\\\") cannot be negated\\\"\",\r\n \"\\\"string (\\\\\\\"xxxxxxxx\\u2606\\u2606\\u2606\\u2606\\u2606...\\\\\\\") cannot be negated\\\"\",\r\n \"\\\"string (\\\\\\\"xxxxxxxxxx\\u2606\\u2606\\u2606\\u2606...\\\\\\\") cannot be negated\\\"\"\r\n ]\r\n },\r\n {\r\n \"line\": 2014,\r\n \"program\": \"try (. + \\\"x\\\") catch . == if have_decnum then \\\"number (12345678901234567890123456...) and string (\\\\\\\"x\\\\\\\") cannot be added\\\" else \\\"number (12345678901234568000000000...) and string (\\\\\\\"x\\\\\\\") cannot be added\\\" end\",\r\n \"status\": \"fail\",\r\n \"detail\": \"output mismatch\",\r\n \"expect_failure\": false,\r\n \"expected\": [\r\n \"true\"\r\n ],\r\n \"actual\": [\r\n \"false\"\r\n ]\r\n },\r\n {\r\n \"line\": 2196,\r\n \"program\": \".[0] | tostring | . == if have_decnum then \\\"13911860366432393\\\" else \\\"13911860366432392\\\" end\",\r\n \"status\": \"fail\",\r\n \"detail\": \"output mismatch\",\r\n \"expect_failure\": false,\r\n \"expected\": [\r\n \"true\"\r\n ],\r\n \"actual\": [\r\n \"false\"\r\n ]\r\n },\r\n {\r\n \"line\": 2200,\r\n \"program\": \".x | tojson | . == if have_decnum then \\\"13911860366432393\\\" else \\\"13911860366432392\\\" end\",\r\n \"status\": \"fail\",\r\n \"detail\": \"output mismatch\",\r\n \"expect_failure\": false,\r\n \"expected\": [\r\n \"true\"\r\n ],\r\n \"actual\": [\r\n \"false\"\r\n ]\r\n },\r\n {\r\n \"line\": 2224,\r\n \"program\": \"-. | tojson == if have_decnum then \\\"-13911860366432393\\\" else \\\"-13911860366432392\\\" end\",\r\n \"status\": \"fail\",\r\n \"detail\": \"output mismatch\",\r\n \"expect_failure\": false,\r\n \"expected\": [\r\n \"true\"\r\n ],\r\n \"actual\": [\r\n \"false\"\r\n ]\r\n },\r\n {\r\n \"line\": 2232,\r\n \"program\": \"[1E+1000,-1E+1000 | tojson] == if have_decnum then [\\\"1E+1000\\\",\\\"-1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\",\\\"-1.7976931348623157e+308\\\"] end\",\r\n \"status\": \"fail\",\r\n \"detail\": \"output mismatch\",\r\n \"expect_failure\": false,\r\n \"expected\": [\r\n \"true\"\r\n ],\r\n \"actual\": [\r\n \"false\"\r\n ]\r\n },\r\n {\r\n \"line\": 2241,\r\n \"program\": \".[] as $n | $n+0 | [., tostring, . == $n]\",\r\n \"status\": \"fail\",\r\n \"detail\": \"output mismatch\",\r\n \"expect_failure\": false,\r\n \"expected\": [\r\n \"[-9007199254740992,\\\"-9007199254740992\\\",true]\",\r\n \"[-9007199254740992,\\\"-9007199254740992\\\",true]\",\r\n \"[9007199254740992,\\\"9007199254740992\\\",true]\",\r\n \"[9007199254740992,\\\"9007199254740992\\\",true]\",\r\n \"[13911860366432392,\\\"13911860366432392\\\",true]\"\r\n ],\r\n \"actual\": [\r\n \"[-9007199254740992.0,\\\"-9007199254740992.0\\\",false]\",\r\n \"[-9007199254740992,\\\"-9007199254740992\\\",true]\",\r\n \"[9007199254740992,\\\"9007199254740992\\\",true]\",\r\n \"[9007199254740992.0,\\\"9007199254740992.0\\\",false]\",\r\n \"[1.3911860366432392e+16,\\\"1.3911860366432392e+16\\\",false]\"\r\n ]\r\n },\r\n {\r\n \"line\": 2271,\r\n \"program\": \"[1E+1000,-1E+1000 | abs | tojson] | unique == if have_decnum then [\\\"1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\"] end\",\r\n \"status\": \"fail\",\r\n \"detail\": \"output mismatch\",\r\n \"expect_failure\": false,\r\n \"expected\": [\r\n \"true\"\r\n ],\r\n \"actual\": [\r\n \"false\"\r\n ]\r\n },\r\n {\r\n \"line\": 2275,\r\n \"program\": \"[1E+1000,-1E+1000 | length | tojson] | unique == if have_decnum then [\\\"1E+1000\\\"] else [\\\"1.7976931348623157e+308\\\"] end\",\r\n \"status\": \"fail\",\r\n \"detail\": \"output mismatch\",\r\n \"expect_failure\": false,\r\n \"expected\": [\r\n \"true\"\r\n ],\r\n \"actual\": [\r\n \"false\"\r\n ]\r\n }\r\n ]\r\n}\r\n","exit_code":1,"status":"failed"}}
{"type":"item.started","item":{"id":"item_22","type":"command_execution","command":"/bin/bash -lc 'JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select '\"'%%FAIL|if |try |reduce |foreach |def | as |label |module|include' --json > /tmp/p4.json; python3 - <<'PY'\nimport json\nx=json.load(open('/tmp/p4.json'));print(x['summary']);\nfor c in x['cases']:\n if c['status']=='fail': print(c['line'],c['program'],'\\\\n',c['expected'],'\\\\n',c['actual'])\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_22","type":"command_execution","command":"/bin/bash -lc 'JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select '\"'%%FAIL|if |try |reduce |foreach |def | as |label |module|include' --json > /tmp/p4.json; python3 - <<'PY'\nimport json\nx=json.load(open('/tmp/p4.json'));print(x['summary']);\nfor c in x['cases']:\n if c['status']=='fail': print(c['line'],c['program'],'\\\\n',c['expected'],'\\\\n',c['actual'])\nPY\"","aggregated_output":"{'pass': 201, 'fail': 10, 'error': 0, 'skip': 13}\n1258 .[] | try (getpath([\"a\",0,\"b\"]) |= 5) catch . \n ['{\"a\":[{\"b\":5}]}', '{\"b\":0,\"a\":[{\"b\":5}]}', '\"Cannot index number with number (0)\"', '{\"a\":[{\"b\":5}]}', '\"Cannot index number with string (\\\\\"b\\\\\")\"', '\"Cannot index object with number (0)\"', '{\"a\":[{\"b\":5}]}', '{\"a\":[{\"c\":3,\"b\":5}]}'] \n ['{\"a\":[{\"b\":5}]}', '{\"b\":0,\"a\":[{\"b\":5}]}', '{\"a\":[{\"b\":5}]}', '{\"a\":[{\"b\":5}]}', '{\"a\":[{\"b\":5},1]}', '\"Cannot index object with number (0)\"', '{\"a\":[{\"b\":5}]}', '{\"a\":[{\"c\":3,\"b\":5}]}']\n2005 \"x\" * range(0; 12; 2) + \"☆\" * 8 | try -. catch . \n ['\"string (\\\\\"☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"', '\"string (\\\\\"xx☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"', '\"string (\\\\\"xxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxx☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxxxx☆☆☆☆...\\\\\") cannot be negated\"'] \n ['\"string (\\\\\"☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"', '\"string (\\\\\"xx☆☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxx☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxxxx☆☆☆☆...\\\\\") cannot be negated\"']\n2014 try (. + \"x\") catch . == if have_decnum then \"number (12345678901234567890123456...) and string (\\\"x\\\") cannot be added\" else \"number (12345678901234568000000000...) and string (\\\"x\\\") cannot be added\" end \n ['true'] \n ['false']\n2196 .[0] | tostring | . == if have_decnum then \"13911860366432393\" else \"13911860366432392\" end \n ['true'] \n ['false']\n2200 .x | tojson | . == if have_decnum then \"13911860366432393\" else \"13911860366432392\" end \n ['true'] \n ['false']\n2224 -. | tojson == if have_decnum then \"-13911860366432393\" else \"-13911860366432392\" end \n ['true'] \n ['false']\n2232 [1E+1000,-1E+1000 | tojson] == if have_decnum then [\"1E+1000\",\"-1E+1000\"] else [\"1.7976931348623157e+308\",\"-1.7976931348623157e+308\"] end \n ['true'] \n ['false']\n2241 .[] as $n | $n+0 | [., tostring, . == $n] \n ['[-9007199254740992,\"-9007199254740992\",true]', '[-9007199254740992,\"-9007199254740992\",true]', '[9007199254740992,\"9007199254740992\",true]', '[9007199254740992,\"9007199254740992\",true]', '[13911860366432392,\"13911860366432392\",true]'] \n ['[-9007199254740992.0,\"-9007199254740992.0\",false]', '[-9007199254740992,\"-9007199254740992\",true]', '[9007199254740992,\"9007199254740992\",true]', '[9007199254740992.0,\"9007199254740992.0\",false]', '[1.3911860366432392e+16,\"1.3911860366432392e+16\",false]']\n2271 [1E+1000,-1E+1000 | abs | tojson] | unique == if have_decnum then [\"1E+1000\"] else [\"1.7976931348623157e+308\"] end \n ['true'] \n ['false']\n2275 [1E+1000,-1E+1000 | length | tojson] | unique == if have_decnum then [\"1E+1000\"] else [\"1.7976931348623157e+308\"] end \n ['true'] \n ['false']\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_23","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_23","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_24","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/interpreter.py","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_24","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/interpreter.py","kind":"update"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_25","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_25","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_26","type":"command_execution","command":"/bin/bash -lc 'JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select '\"'%%FAIL|if |try |reduce |foreach |def | as |label |module|include' --json > /tmp/p4.json; python3 - <<'PY'\nimport json\nx=json.load(open('/tmp/p4.json'));print(x['summary']);\nfor c in x['cases']:\n if c['status']=='fail': print(c['line'],c['program'],c['actual'])\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_26","type":"command_execution","command":"/bin/bash -lc 'JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select '\"'%%FAIL|if |try |reduce |foreach |def | as |label |module|include' --json > /tmp/p4.json; python3 - <<'PY'\nimport json\nx=json.load(open('/tmp/p4.json'));print(x['summary']);\nfor c in x['cases']:\n if c['status']=='fail': print(c['line'],c['program'],c['actual'])\nPY\"","aggregated_output":"{'pass': 206, 'fail': 5, 'error': 0, 'skip': 13}\n2005 \"x\" * range(0; 12; 2) + \"☆\" * 8 | try -. catch . ['\"string (\\\\\"☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"', '\"string (\\\\\"xx☆☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxx☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxxxx☆☆☆☆...\\\\\") cannot be negated\"']\n2014 try (. + \"x\") catch . == if have_decnum then \"number (12345678901234567890123456...) and string (\\\"x\\\") cannot be added\" else \"number (12345678901234568000000000...) and string (\\\"x\\\") cannot be added\" end ['false']\n2232 [1E+1000,-1E+1000 | tojson] == if have_decnum then [\"1E+1000\",\"-1E+1000\"] else [\"1.7976931348623157e+308\",\"-1.7976931348623157e+308\"] end ['false']\n2271 [1E+1000,-1E+1000 | abs | tojson] | unique == if have_decnum then [\"1E+1000\"] else [\"1.7976931348623157e+308\"] end ['false']\n2275 [1E+1000,-1E+1000 | length | tojson] | unique == if have_decnum then [\"1E+1000\"] else [\"1.7976931348623157e+308\"] end ['false']\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_27","type":"command_execution","command":"/bin/bash -lc \"./jq -c '[1E+1000,-1E+1000 | tojson]' <<< null; ./jq -c '[1E+1000,-1E+1000 | tojson] == [\\\"1.7976931348623157e+308\\\",\\\"-1.7976931348623157e+308\\\"]' <<< null; ./jq -c 'try (. + \\\"x\\\") catch .' <<< 123456789012345678901234567890\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_27","type":"command_execution","command":"/bin/bash -lc \"./jq -c '[1E+1000,-1E+1000 | tojson]' <<< null; ./jq -c '[1E+1000,-1E+1000 | tojson] == [\\\"1.7976931348623157e+308\\\",\\\"-1.7976931348623157e+308\\\"]' <<< null; ./jq -c 'try (. + \\\"x\\\") catch .' <<< 123456789012345678901234567890\"","aggregated_output":"[179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368,\"-179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368\"]\nfalse\n\"number (123456789012345677877719597056) and string (\\\"x\\\") cannot be added\"\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_28","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\nfrom decimal import Decimal\nx=float(123456789012345678901234567890)\nprint(x,repr(x),format(Decimal(str(x)),'.0f'))\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_28","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\nfrom decimal import Decimal\nx=float(123456789012345678901234567890)\nprint(x,repr(x),format(Decimal(str(x)),'.0f'))\nPY\"","aggregated_output":"1.2345678901234568e+29 1.2345678901234568e+29 123456789012345680000000000000\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_29","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_29","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_30","type":"command_execution","command":"/bin/bash -lc \"./jq -c '[1E+1000,-1E+1000 | tojson]' <<< null; ./jq -c 'try (. + \\\"x\\\") catch .' <<< 123456789012345678901234567890; ./jq -c '\\\"x\\\" * range(0; 12; 2) + \\\"☆\\\" * 8 | try -. catch .' <<< null\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_30","type":"command_execution","command":"/bin/bash -lc \"./jq -c '[1E+1000,-1E+1000 | tojson]' <<< null; ./jq -c 'try (. + \\\"x\\\") catch .' <<< 123456789012345678901234567890; ./jq -c '\\\"x\\\" * range(0; 12; 2) + \\\"☆\\\" * 8 | try -. catch .' <<< null\"","aggregated_output":"[179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368,\"-1.7976931348623157e+308\"]\n\"number (123456789012345680000000000000) and string (\\\"x\\\") cannot be added\"\n\"string (\\\"☆☆☆☆☆☆☆☆\\\") cannot be negated\"\n\"string (\\\"xx☆☆☆☆☆☆☆...\\\") cannot be negated\"\n\"string (\\\"xxxx☆☆☆☆☆☆...\\\") cannot be negated\"\n\"string (\\\"xxxxxx☆☆☆☆☆☆...\\\") cannot be negated\"\n\"string (\\\"xxxxxxxx☆☆☆☆☆...\\\") cannot be negated\"\n\"string (\\\"xxxxxxxxxx☆☆☆☆...\\\") cannot be negated\"\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_31","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\nfrom jq_interpreter.parser import parse\nprint(parse('[1E+1000,-1E+1000 | tojson]'))\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_31","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\nfrom jq_interpreter.parser import parse\nprint(parse('[1E+1000,-1E+1000 | tojson]'))\nPY\"","aggregated_output":"Node(operation='array', arguments=(Node(operation='binary', arguments=(',', Node(operation='literal', arguments=('1E+1000',)), Node(operation='binary', arguments=('|', Node(operation='unary', arguments=('-', Node(operation='literal', arguments=('1E+1000',)))), Node(operation='call', arguments=('tojson', ())))))),))\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_32","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/parser.py","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_32","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/parser.py","kind":"update"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_33","type":"command_execution","command":"/bin/bash -lc \"./jq -c '[1E+1000,-1E+1000 | tojson]' <<< null; python3 - <<'PY'\nimport json,subprocess,os,sys\nfor name,sel in [('p4',r'%%FAIL|if |try |reduce |foreach |def | as |label |module|include')]:\n p=subprocess.run([sys.executable,'sources/run_conformance.py','--select',sel,'--json'],capture_output=True,text=True,env={**os.environ,'JQ':os.path.abspath('jq')})\n d=json.loads(p.stdout); print(d['summary']);\n for c in d['cases']:\n if c['status']=='fail': print(c['line'],c['actual'])\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_33","type":"command_execution","command":"/bin/bash -lc \"./jq -c '[1E+1000,-1E+1000 | tojson]' <<< null; python3 - <<'PY'\nimport json,subprocess,os,sys\nfor name,sel in [('p4',r'%%FAIL|if |try |reduce |foreach |def | as |label |module|include')]:\n p=subprocess.run([sys.executable,'sources/run_conformance.py','--select',sel,'--json'],capture_output=True,text=True,env={**os.environ,'JQ':os.path.abspath('jq')})\n d=json.loads(p.stdout); print(d['summary']);\n for c in d['cases']:\n if c['status']=='fail': print(c['line'],c['actual'])\nPY\"","aggregated_output":"{'pass': 206, 'fail': 5, 'error': 0, 'skip': 13}\n205 ['[\"KO\",\"OK\"]']\n2005 ['\"string (\\\\\"☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"', '\"string (\\\\\"xx☆☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxx☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxxxx☆☆☆☆...\\\\\") cannot be negated\"']\n2014 ['false']\n2200 ['false']\n2224 ['false']\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_34","type":"command_execution","command":"/bin/bash -lc \"./jq -c 'try (. + \\\"x\\\") catch . == \\\"number (12345678901234568000000000...) and string (\\\\\\\\\\\"x\\\\\\\\\\\") cannot be added\\\"' <<< 123456789012345678901234567890; ./jq -c '.x | tojson | . == \\\"13911860366432392\\\"' <<< '{\\\"x\\\":13911860366432393}'; ./jq -c '-. | tojson == \\\"-13911860366432392\\\"' <<< 13911860366432393; python3 - <<'PY'\nimport sys;sys.path.insert(0,'.');from jq_interpreter.parser import parse\nprint(parse('try (. + \\\"x\\\") catch . == if have_decnum then \\\"a\\\" else \\\"b\\\" end'))\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_34","type":"command_execution","command":"/bin/bash -lc \"./jq -c 'try (. + \\\"x\\\") catch . == \\\"number (12345678901234568000000000...) and string (\\\\\\\\\\\"x\\\\\\\\\\\") cannot be added\\\"' <<< 123456789012345678901234567890; ./jq -c '.x | tojson | . == \\\"13911860366432392\\\"' <<< '{\\\"x\\\":13911860366432393}'; ./jq -c '-. | tojson == \\\"-13911860366432392\\\"' <<< 13911860366432393; python3 - <<'PY'\nimport sys;sys.path.insert(0,'.');from jq_interpreter.parser import parse\nprint(parse('try (. + \\\"x\\\") catch . == if have_decnum then \\\"a\\\" else \\\"b\\\" end'))\nPY\"","aggregated_output":"false\nfalse\nNode(operation='binary', arguments=('==', Node(operation='try', arguments=(Node(operation='binary', arguments=('+', Node(operation='identity', arguments=()), Node(operation='string', arguments=('\"x\"',)))), Node(operation='identity', arguments=()))), Node(operation='if', arguments=(Node(operation='call', arguments=('have_decnum', ())), Node(operation='string', arguments=('\"a\"',)), Node(operation='string', arguments=('\"b\"',))))))\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_35","type":"command_execution","command":"/bin/bash -lc \"./jq -c 'try (. + \\\"x\\\") catch .' <<< 123456789012345678901234567890; ./jq -c '.x | tojson' <<< '{\\\"x\\\":13911860366432393}'; ./jq -c '-. | tojson' <<< 13911860366432393\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_35","type":"command_execution","command":"/bin/bash -lc \"./jq -c 'try (. + \\\"x\\\") catch .' <<< 123456789012345678901234567890; ./jq -c '.x | tojson' <<< '{\\\"x\\\":13911860366432393}'; ./jq -c '-. | tojson' <<< 13911860366432393\"","aggregated_output":"\"1.3911860366432392e+16\"\n\"-1.3911860366432392e+16\"\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_36","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\ns='12345678901234568000000000';print(len(s))\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_36","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\ns='12345678901234568000000000';print(len(s))\nPY\"","aggregated_output":"26\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_37","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_37","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_38","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\nimport json\nx=json.load(open('/tmp/p4.json'))\nfor c in x['cases']:\n if c['status']=='fail' and c['line']<1000: print(c)\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_38","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\nimport json\nx=json.load(open('/tmp/p4.json'))\nfor c in x['cases']:\n if c['status']=='fail' and c['line']<1000: print(c)\nPY\"","aggregated_output":"","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_39","type":"command_execution","command":"/bin/bash -lc 'set -o pipefail; JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select '\"'\\\\.|\\\\[|\\\\{|\\\\+|\\\\-|\\\\*|/|%' --json > /tmp/p3.json; python3 - <<'PY'\nimport json\nx=json.load(open('/tmp/p3.json'));print(x['summary']);\nfor c in x['cases'][:40]: print(c['line'],c['program'],c['actual'])\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_39","type":"command_execution","command":"/bin/bash -lc 'set -o pipefail; JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select '\"'\\\\.|\\\\[|\\\\{|\\\\+|\\\\-|\\\\*|/|%' --json > /tmp/p3.json; python3 - <<'PY'\nimport json\nx=json.load(open('/tmp/p3.json'));print(x['summary']);\nfor c in x['cases'][:40]: print(c['line'],c['program'],c['actual'])\nPY\"","aggregated_output":"{'pass': 429, 'fail': 26, 'error': 0, 'skip': 9}\r\n205 try [\"OK\", (.[] | error)] catch [\"KO\", .] ['[\"KO\",\"OK\"]']\r\n661 9E999999999, 9999999999E999999990, 1E-999999999, 0.000000001E-999999990 ['179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368', '179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368', '0', '0']\r\n689 [(infinite, -infinite) % (1, -1, infinite)] []\r\n1201 pick(.a.b.c) []\r\n1306 .[] = 1 []\r\n1421 [(\"foo\" | contains(\"foo\")), (\"foobar\" | contains(\"foo\")), (\"foo\" | contains(\"foobar\"))] ['[false,false,false]']\r\n1625 [.[] * \"abc\"] ['[-1.7976931348623157e+308,-1.7976931348623157e+308,\"\",\"\",\"abc\",\"abc\",\"abcabcabc\",\"abcabcabcabcabcabcabcabcabcabc\"]']\r\n1629 [. * (nan,-nan)] ['[-1.7976931348623157e+308,-1.7976931348623157e+308]']\r\n1661 [({foo: 12, bar:13} | contains({foo: 12})), ({foo: 12} | contains({})), ({foo: 12, bar:13} | contains({baz:14}))] ['[false,false,false]']\r\n1693 [min, max, min_by(.[1]), max_by(.[1]), min_by(.[2]), max_by(.[2])] ['[[1,3,\"a\"],[4,2,\"a\"],[3,1,\"a\"],[3,1,\"a\"],[2,4,\"a\"],[2,4,\"a\"]]']\r\n1697 [min,max,min_by(.),max_by(.)] ['[null,null,[],[]]']\r\n1847 strftime(\"%A, %B %d, %Y\") []\r\n1851 strftime(\"%Y-%m-%dT%H:%M:%SZ\") []\r\n1889 [strptime(\"%Y-%m-%dT%H:%M:%SZ\")|(.,mktime)] []\r\n1895 last(range(365 * 67)|(\"1970-03-01T01:02:03Z\"|strptime(\"%Y-%m-%dT%H:%M:%SZ\")|mktime) + (86400 * .)|strftime(\"%Y-%m-%dT%H:%M:%SZ\")|strptime(\"%Y-%m-%dT%H:%M:%SZ\")) []\r\n1900 import \"a\" as foo; import \"b\" as bar; def fooa: foo::a; [fooa, bar::a, bar::b, foo::a] []\r\n1904 import \"c\" as foo; [foo::a, foo::c] []\r\n1908 include \"c\"; [a, c] []\r\n1912 import \"data\" as $e; import \"data\" as $d; [$d[].this,$e[].that,$d::d[].this,$e::e[].that]|join(\";\") []\r\n1917 import \"data\" as $a; import \"data\" as $b; def f: {$a, $b}; f []\r\n1929 import \"shadow1\" as f; import \"shadow2\" as f; import \"shadow1\" as e; [e::e, f::e] []\r\n1973 modulemeta | .deps | length []\r\n1977 modulemeta | .defs | length []\r\n1982 import \"syntaxerror\" as e; . []\r\n2005 \"x\" * range(0; 12; 2) + \"☆\" * 8 | try -. catch . ['\"string (\\\\\"☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"', '\"string (\\\\\"xx☆☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxx☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxxxx☆☆☆☆...\\\\\") cannot be negated\"']\r\n2089 INDEX(range(5)|[., \"foo\\(.)\"]; .[0]) []\r\n2093 JOIN({\"0\":[0,\"abc\"],\"1\":[1,\"bcd\"],\"2\":[2,\"def\"],\"3\":[3,\"efg\"],\"4\":[4,\"fgh\"]}; .[0]|tostring) []\r\n2135 (.. | select(type == \"object\" and has(\"b\") and (.b | type) == \"array\")|.b) |= .[0] []\r\n2161 \"-1\"|IN(builtins[] / \"/\"|.[1]) []\r\n2165 all(builtins[] / \"/\"; .[1]|tonumber >= 0) []\r\n2169 builtins|any(.[:1] == \"_\") []\r\n2425 [walk(.,1)] ['[{\"x\":0}]']\r\n2430 walk(select(IN({}, []) | not)) []\r\n2455 [[range(10)] | .[1.1,1.5,1.7]] []\r\n2548 strflocaltime(\"\" | ., @uri) []\r\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_40","type":"command_execution","command":"/bin/bash -lc \"./jq -c 'contains(\\\"foo\\\")' <<< '\\\"foo\\\"'; ./jq -c '({foo:12,bar:13}|contains({foo:12}))' <<< '{}'; ./jq -c 'try [\\\"OK\\\", (.[] | error)] catch [\\\"KO\\\", .]' <<< '{\\\"a\\\":[\\\"b\\\"]}'\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_40","type":"command_execution","command":"/bin/bash -lc \"./jq -c 'contains(\\\"foo\\\")' <<< '\\\"foo\\\"'; ./jq -c '({foo:12,bar:13}|contains({foo:12}))' <<< '{}'; ./jq -c 'try [\\\"OK\\\", (.[] | error)] catch [\\\"KO\\\", .]' <<< '{\\\"a\\\":[\\\"b\\\"]}'\"","aggregated_output":"true\n[\"KO\",\"OK\"]\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_41","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\nfrom jq_interpreter.parser import parse\nprint(parse('try [\\\"OK\\\", (.[] | error)] catch [\\\"KO\\\", .]'))\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_41","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\nfrom jq_interpreter.parser import parse\nprint(parse('try [\\\"OK\\\", (.[] | error)] catch [\\\"KO\\\", .]'))\nPY\"","aggregated_output":"","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_42","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/parser.py","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_42","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/parser.py","kind":"update"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_43","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_43","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_44","type":"command_execution","command":"/bin/bash -lc 'JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select '\"'%%FAIL|if |try |reduce |foreach |def | as |label |module|include' --json > /tmp/p4b.json; python3 - <<'PY'\nimport json\nx=json.load(open('/tmp/p4b.json'));print(x['summary']);\nfor c in x['cases']:\n if c['status']=='fail': print(c['line'],c['program'],c['actual'])\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_44","type":"command_execution","command":"/bin/bash -lc 'JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select '\"'%%FAIL|if |try |reduce |foreach |def | as |label |module|include' --json > /tmp/p4b.json; python3 - <<'PY'\nimport json\nx=json.load(open('/tmp/p4b.json'));print(x['summary']);\nfor c in x['cases']:\n if c['status']=='fail': print(c['line'],c['program'],c['actual'])\nPY\"","aggregated_output":"{'pass': 208, 'fail': 3, 'error': 0, 'skip': 13}\r\n2005 \"x\" * range(0; 12; 2) + \"☆\" * 8 | try -. catch . ['\"string (\\\\\"☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"', '\"string (\\\\\"xx☆☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxx☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxxxx☆☆☆☆...\\\\\") cannot be negated\"']\r\n2271 [1E+1000,-1E+1000 | abs | tojson] | unique == if have_decnum then [\"1E+1000\"] else [\"1.7976931348623157e+308\"] end ['false']\r\n2275 [1E+1000,-1E+1000 | length | tojson] | unique == if have_decnum then [\"1E+1000\"] else [\"1.7976931348623157e+308\"] end ['false']\r\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_45","type":"command_execution","command":"/bin/bash -lc \"./jq -c '[1E+1000,-1E+1000 | abs | tojson]' <<< null; ./jq -c '[1E+1000,-1E+1000 | length | tojson]' <<< null\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_45","type":"command_execution","command":"/bin/bash -lc \"./jq -c '[1E+1000,-1E+1000 | abs | tojson]' <<< null; ./jq -c '[1E+1000,-1E+1000 | length | tojson]' <<< null\"","aggregated_output":"[179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368,\"1.7976931348623157e+308\"]\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_46","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/parser.py","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_46","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/parser.py","kind":"update"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_47","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_47","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"completed"}}
{"type":"item.started","item":{"id":"item_48","type":"command_execution","command":"/bin/bash -lc \"./jq -c '\\\"x\\\" * range(0; 12; 2) + \\\"☆\\\" * 8 | try -. catch .' <<< null; ./jq -c '[1E+1000,-1E+1000 | abs | tojson] | unique == [\\\"1.7976931348623157e+308\\\"]' <<< null; pytest -q\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_48","type":"command_execution","command":"/bin/bash -lc \"./jq -c '\\\"x\\\" * range(0; 12; 2) + \\\"☆\\\" * 8 | try -. catch .' <<< null; ./jq -c '[1E+1000,-1E+1000 | abs | tojson] | unique == [\\\"1.7976931348623157e+308\\\"]' <<< null; pytest -q\"","aggregated_output":"\"string (\\\"☆☆☆☆☆☆☆☆\\\") cannot be negated\"\n\"string (\\\"xx☆☆☆☆☆☆☆☆...\\\") cannot be negated\"\n\"string (\\\"xxxx☆☆☆☆☆☆...\\\") cannot be negated\"\n\"string (\\\"xxxxxx☆☆☆☆☆☆...\\\") cannot be negated\"\n\"string (\\\"xxxxxxxx☆☆☆☆☆...\\\") cannot be negated\"\n\"string (\\\"xxxxxxxxxx☆☆☆☆...\\\") cannot be negated\"\ntrue\n................................ [100%]\n32 passed in 2.67s\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_49","type":"command_execution","command":"/bin/bash -lc 'JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select '\"'%%FAIL|if |try |reduce |foreach |def | as |label |module|include' --json > /tmp/p4c.json; python3 - <<'PY'\nimport json\nx=json.load(open('/tmp/p4c.json'));print(x['summary']);\nfor c in x['cases']:\n if c['status']=='fail': print(c['line'],c['program'],c['actual'])\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_49","type":"command_execution","command":"/bin/bash -lc 'JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select '\"'%%FAIL|if |try |reduce |foreach |def | as |label |module|include' --json > /tmp/p4c.json; python3 - <<'PY'\nimport json\nx=json.load(open('/tmp/p4c.json'));print(x['summary']);\nfor c in x['cases']:\n if c['status']=='fail': print(c['line'],c['program'],c['actual'])\nPY\"","aggregated_output":"{'pass': 210, 'fail': 1, 'error': 0, 'skip': 13}\n2005 \"x\" * range(0; 12; 2) + \"☆\" * 8 | try -. catch . ['\"string (\\\\\"☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"', '\"string (\\\\\"xx☆☆☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxx☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxxxx☆☆☆☆...\\\\\") cannot be negated\"']\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_50","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\nimport json\nx=json.load(open('/tmp/p4c.json'))\nfor c in x['cases']:\n if c['status']=='fail':\n print(repr(c['expected'])); print(repr(c['actual']));\n for a,b in zip(c['expected'],c['actual']): print(a==b,len(a),len(b),a,b)\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_50","type":"command_execution","command":"/bin/bash -lc \"python3 - <<'PY'\nimport json\nx=json.load(open('/tmp/p4c.json'))\nfor c in x['cases']:\n if c['status']=='fail':\n print(repr(c['expected'])); print(repr(c['actual']));\n for a,b in zip(c['expected'],c['actual']): print(a==b,len(a),len(b),a,b)\nPY\"","aggregated_output":"['\"string (\\\\\"☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"', '\"string (\\\\\"xx☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"', '\"string (\\\\\"xxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxx☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxxxx☆☆☆☆...\\\\\") cannot be negated\"']\n['\"string (\\\\\"☆☆☆☆☆☆☆☆\\\\\") cannot be negated\"', '\"string (\\\\\"xx☆☆☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxx☆☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxx☆☆☆☆☆...\\\\\") cannot be negated\"', '\"string (\\\\\"xxxxxxxxxx☆☆☆☆...\\\\\") cannot be negated\"']\nTrue 41 41 \"string (\\\"☆☆☆☆☆☆☆☆\\\") cannot be negated\" \"string (\\\"☆☆☆☆☆☆☆☆\\\") cannot be negated\"\nFalse 43 46 \"string (\\\"xx☆☆☆☆☆☆☆☆\\\") cannot be negated\" \"string (\\\"xx☆☆☆☆☆☆☆☆...\\\") cannot be negated\"\nTrue 46 46 \"string (\\\"xxxx☆☆☆☆☆☆...\\\") cannot be negated\" \"string (\\\"xxxx☆☆☆☆☆☆...\\\") cannot be negated\"\nTrue 48 48 \"string (\\\"xxxxxx☆☆☆☆☆☆...\\\") cannot be negated\" \"string (\\\"xxxxxx☆☆☆☆☆☆...\\\") cannot be negated\"\nTrue 49 49 \"string (\\\"xxxxxxxx☆☆☆☆☆...\\\") cannot be negated\" \"string (\\\"xxxxxxxx☆☆☆☆☆...\\\") cannot be negated\"\nTrue 50 50 \"string (\\\"xxxxxxxxxx☆☆☆☆...\\\") cannot be negated\" \"string (\\\"xxxxxxxxxx☆☆☆☆...\\\") cannot be negated\"\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_51","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_51","type":"file_change","changes":[{"path":"/mnt/c/Users/barlo/projects/drydock/uat/jq/runs/20260822.044627/build/jq/jq_interpreter/evaluator.py","kind":"update"}],"status":"completed"}}
{"type":"item.completed","item":{"id":"item_52","type":"agent_message","text":"The declaration/control gate is down to a single diagnostic-format mismatch, which I’ve isolated to jq’s Unicode error truncation boundary and corrected. The project’s own 32 tests remain green. I’m doing the final authoritative reruns now; the expression slice still has broader evaluator failures that I’m measuring rather than masking."}}
{"type":"item.started","item":{"id":"item_53","type":"command_execution","command":"/bin/bash -lc 'JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select '\"'%%FAIL|if |try |reduce |foreach |def | as |label |module|include' --json > /tmp/p4final.json; python3 - <<'PY'\nimport json\nprint(json.load(open('/tmp/p4final.json'))['summary'])\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_53","type":"command_execution","command":"/bin/bash -lc 'JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select '\"'%%FAIL|if |try |reduce |foreach |def | as |label |module|include' --json > /tmp/p4final.json; python3 - <<'PY'\nimport json\nprint(json.load(open('/tmp/p4final.json'))['summary'])\nPY\"","aggregated_output":"{'pass': 211, 'fail': 0, 'error': 0, 'skip': 13}\n","exit_code":0,"status":"completed"}}
{"type":"item.started","item":{"id":"item_54","type":"command_execution","command":"/bin/bash -lc 'JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select '\"'\\\\.|\\\\[|\\\\{|\\\\+|\\\\-|\\\\*|/|%' --json > /tmp/p3final.json; python3 - <<'PY'\nimport json\nx=json.load(open('/tmp/p3final.json')); print(x['summary']);\nfor c in x['cases']:\n if c['status']=='fail': print(c['line'],c['program'])\nPY\"","aggregated_output":"","exit_code":null,"status":"in_progress"}}
{"type":"item.completed","item":{"id":"item_54","type":"command_execution","command":"/bin/bash -lc 'JQ=\"$PWD/jq\" python3 sources/run_conformance.py --select '\"'\\\\.|\\\\[|\\\\{|\\\\+|\\\\-|\\\\*|/|%' --json > /tmp/p3final.json; python3 - <<'PY'\nimport json\nx=json.load(open('/tmp/p3final.json')); print(x['summary']);\nfor c in x['cases']:\n if c['status']=='fail': print(c['line'],c['program'])\nPY\"","aggregated_output":"{'pass': 435, 'fail': 20, 'error': 0, 'skip': 9}\r\n661 9E999999999, 9999999999E999999990, 1E-999999999, 0.000000001E-999999990\r\n689 [(infinite, -infinite) % (1, -1, infinite)]\r\n1201 pick(.a.b.c)\r\n1306 .[] = 1\r\n1693 [min, max, min_by(.[1]), max_by(.[1]), min_by(.[2]), max_by(.[2])]\r\n1697 [min,max,min_by(.),max_by(.)]\r\n1847 strftime(\"%A, %B %d, %Y\")\r\n1851 strftime(\"%Y-%m-%dT%H:%M:%SZ\")\r\n1889 [strptime(\"%Y-%m-%dT%H:%M:%SZ\")|(.,mktime)]\r\n1895 last(range(365 * 67)|(\"1970-03-01T01:02:03Z\"|strptime(\"%Y-%m-%dT%H:%M:%SZ\")|mktime) + (86400 * .)|strftime(\"%Y-%m-%dT%H:%M:%SZ\")|strptime(\"%Y-%m-%dT%H:%M:%SZ\"))\r\n2089 INDEX(range(5)|[., \"foo\\(.)\"]; .[0])\r\n2093 JOIN({\"0\":[0,\"abc\"],\"1\":[1,\"bcd\"],\"2\":[2,\"def\"],\"3\":[3,\"efg\"],\"4\":[4,\"fgh\"]}; .[0]|tostring)\r\n2135 (.. | select(type == \"object\" and has(\"b\") and (.b | type) == \"array\")|.b) |= .[0]\r\n2161 \"-1\"|IN(builtins[] / \"/\"|.[1])\r\n2165 all(builtins[] / \"/\"; .[1]|tonumber >= 0)\r\n2169 builtins|any(.[:1] == \"_\")\r\n2425 [walk(.,1)]\r\n2430 walk(select(IN({}, []) | not))\r\n2455 [[range(10)] | .[1.1,1.5,1.7]]\r\n2548 strflocaltime(\"\" | ., @uri)\r\n","exit_code":0,"status":"completed"}}
{"type":"item.completed","item":{"id":"item_55","type":"agent_message","text":"RESULT: FAILED\n\nFILES CHANGED:\n- jq_interpreter/evaluator.py\n- jq_interpreter/interpreter.py\n- jq_interpreter/parser.py\n\nSUMMARY:\nPARSE-004 passes: 211 passed, 0 failed, 13 skipped. Project tests pass: 32 passed.\n\nPARSE-003 remains failing: 435 passed, 20 failed, 9 skipped.\n\nBLOCKERS:\n- Remaining expression/evaluator mismatches include numeric overflow formatting, path assignment, builtins, datetime functions, and advanced path expressions.\n\nFAILURE_SUMMARY: PARSE-003 conformance still has 20 failures.\nFAILURE_DETAIL: The parser/evaluator repair improved the scoped result, but the expression acceptance gate is not yet green. Further evaluator work is required."}}
{"type":"turn.completed","usage":{"input_tokens":6243850,"cached_input_tokens":6091008,"cache_write_input_tokens":0,"output_tokens":15670,"reasoning_output_tokens":5873}}
Run artifact