@cucumber/query 12.0.1 → 12.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cucumber/query",
3
- "version": "12.0.1",
3
+ "version": "12.0.2",
4
4
  "description": "Cucumber Query - query messages",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "repository": {
17
17
  "type": "git",
18
- "url": "git://github.com/cucumber/cucumber.git"
18
+ "url": "git://github.com/cucumber/query.git"
19
19
  },
20
20
  "keywords": [
21
21
  "cucumber"
@@ -23,41 +23,41 @@
23
23
  "author": "Cucumber Limited <cukes@googlegroups.com>",
24
24
  "license": "MIT",
25
25
  "bugs": {
26
- "url": "https://github.com/cucumber/cucumber/issues"
26
+ "url": "https://github.com/cucumber/query/issues"
27
27
  },
28
- "homepage": "https://github.com/cucumber/cucumber#readme",
28
+ "homepage": "https://github.com/cucumber/query#readme",
29
29
  "devDependencies": {
30
- "@cucumber/compatibility-kit": "^11.0.0",
30
+ "@cucumber/compatibility-kit": "^15.0.0",
31
31
  "@cucumber/fake-cucumber": "^16.0.0",
32
- "@cucumber/gherkin": "^25.0.0",
32
+ "@cucumber/gherkin": "^28.0.0",
33
33
  "@cucumber/gherkin-streams": "^5.0.1",
34
34
  "@cucumber/gherkin-utils": "^8.0.1",
35
- "@types/mocha": "10.0.0",
36
- "@types/node": "18.11.9",
37
- "@typescript-eslint/eslint-plugin": "5.43.0",
38
- "@typescript-eslint/parser": "5.43.0",
39
- "ajv": "8.11.2",
35
+ "@types/mocha": "10.0.6",
36
+ "@types/node": "20.11.30",
37
+ "@typescript-eslint/eslint-plugin": "7.4.0",
38
+ "@typescript-eslint/parser": "7.4.0",
39
+ "ajv": "8.12.0",
40
40
  "ajv-cli": "5.0.0",
41
- "eslint": "8.28.0",
42
- "eslint-config-prettier": "8.5.0",
43
- "eslint-plugin-import": "2.26.0",
41
+ "eslint": "8.57.0",
42
+ "eslint-config-prettier": "9.1.0",
43
+ "eslint-plugin-import": "2.29.1",
44
44
  "eslint-plugin-node": "11.1.0",
45
- "eslint-plugin-prettier": "4.2.1",
46
- "eslint-plugin-react": "7.31.11",
45
+ "eslint-plugin-prettier": "5.1.3",
46
+ "eslint-plugin-react": "7.34.1",
47
47
  "eslint-plugin-react-hooks": "4.6.0",
48
- "eslint-plugin-simple-import-sort": "8.0.0",
49
- "mocha": "10.1.0",
50
- "npm-check-updates": "16.4.1",
51
- "prettier": "2.7.1",
52
- "pretty-quick": "3.1.3",
53
- "rimraf": "^3.0.2",
54
- "ts-node": "10.9.1",
55
- "tsconfig-paths": "4.1.0",
56
- "typescript": "4.9.3"
48
+ "eslint-plugin-simple-import-sort": "12.0.0",
49
+ "mocha": "10.3.0",
50
+ "npm-check-updates": "16.14.18",
51
+ "prettier": "3.2.5",
52
+ "pretty-quick": "4.0.0",
53
+ "rimraf": "^5.0.0",
54
+ "ts-node": "10.9.2",
55
+ "tsconfig-paths": "4.2.0",
56
+ "typescript": "5.4.3"
57
57
  },
58
58
  "dependencies": {
59
- "@cucumber/messages": "^19.1.4",
60
- "@teppeis/multimaps": "2.0.0"
59
+ "@cucumber/messages": "^24.0.0",
60
+ "@teppeis/multimaps": "3.0.0"
61
61
  },
62
62
  "directories": {
63
63
  "test": "test"
@@ -1 +1 @@
1
- {"version":3,"file":"Query.js","sourceRoot":"","sources":["../../src/Query.ts"],"names":[],"mappings":"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","sourcesContent":["import * as messages from '@cucumber/messages'\nimport { getWorstTestStepResult } from '@cucumber/messages'\nimport { ArrayMultimap } from '@teppeis/multimaps'\n\nexport default class Query {\n private readonly testStepResultByPickleId = new ArrayMultimap<string, messages.TestStepResult>()\n private readonly testStepResultsByPickleStepId = new ArrayMultimap<\n string,\n messages.TestStepResult\n >()\n private readonly testStepById = new Map<string, messages.TestStep>()\n private readonly testCaseByPickleId = new Map<string, messages.TestCase>()\n private readonly testCaseByTestCaseId = new Map<string, messages.TestCase>()\n private readonly pickleIdByTestStepId = new Map<string, string>()\n private readonly pickleStepIdByTestStepId = new Map<string, string>()\n private readonly testStepResultsbyTestStepId = new ArrayMultimap<\n string,\n messages.TestStepResult\n >()\n private readonly testStepIdsByPickleStepId = new ArrayMultimap<string, string>()\n private readonly hooksById = new Map<string, messages.Hook>()\n\n private readonly attachmentsByTestStepId = new ArrayMultimap<string, messages.Attachment>()\n\n private readonly stepMatchArgumentsListsByPickleStepId = new Map<\n string,\n readonly messages.StepMatchArgumentsList[]\n >()\n\n public update(envelope: messages.Envelope) {\n if (envelope.testCase) {\n this.testCaseByTestCaseId.set(envelope.testCase.id, envelope.testCase)\n this.testCaseByPickleId.set(envelope.testCase.pickleId, envelope.testCase)\n for (const testStep of envelope.testCase.testSteps) {\n this.testStepById.set(testStep.id, testStep)\n this.pickleIdByTestStepId.set(testStep.id, envelope.testCase.pickleId)\n this.pickleStepIdByTestStepId.set(testStep.id, testStep.pickleStepId)\n this.testStepIdsByPickleStepId.put(testStep.pickleStepId, testStep.id)\n this.stepMatchArgumentsListsByPickleStepId.set(\n testStep.pickleStepId,\n testStep.stepMatchArgumentsLists\n )\n }\n }\n\n /*\n when a test case attempt starts besides the first one, clear all existing results\n and attachments for that test case, so we always report on the latest attempt\n TODO keep track of results and attachments from all attempts, expand API accordingly\n */\n if (envelope.testCaseStarted && envelope.testCaseStarted.attempt > 0) {\n const testCase = this.testCaseByTestCaseId.get(envelope.testCaseStarted.testCaseId)\n this.testStepResultByPickleId.delete(testCase.pickleId)\n for (const testStep of testCase.testSteps) {\n this.testStepResultsByPickleStepId.delete(testStep.pickleStepId)\n this.testStepResultsbyTestStepId.delete(testStep.id)\n this.attachmentsByTestStepId.delete(testStep.id)\n }\n }\n\n if (envelope.testStepFinished) {\n const pickleId = this.pickleIdByTestStepId.get(envelope.testStepFinished.testStepId)\n this.testStepResultByPickleId.put(pickleId, envelope.testStepFinished.testStepResult)\n\n const testStep = this.testStepById.get(envelope.testStepFinished.testStepId)\n this.testStepResultsByPickleStepId.put(\n testStep.pickleStepId,\n envelope.testStepFinished.testStepResult\n )\n this.testStepResultsbyTestStepId.put(testStep.id, envelope.testStepFinished.testStepResult)\n }\n\n if (envelope.hook) {\n this.hooksById.set(envelope.hook.id, envelope.hook)\n }\n\n if (envelope.attachment) {\n this.attachmentsByTestStepId.put(envelope.attachment.testStepId, envelope.attachment)\n }\n }\n\n /**\n * Gets all the results for multiple pickle steps\n * @param pickleStepIds\n */\n public getPickleStepTestStepResults(\n pickleStepIds: readonly string[]\n ): readonly messages.TestStepResult[] {\n if (pickleStepIds.length === 0) {\n return [\n {\n status: messages.TestStepResultStatus.UNKNOWN,\n duration: messages.TimeConversion.millisecondsToDuration(0),\n },\n ]\n }\n return pickleStepIds.reduce((testStepResults: messages.TestStepResult[], pickleId) => {\n return testStepResults.concat(this.testStepResultsByPickleStepId.get(pickleId))\n }, [])\n }\n\n /**\n * Gets all the results for multiple pickles\n * @param pickleIds\n */\n public getPickleTestStepResults(\n pickleIds: readonly string[]\n ): readonly messages.TestStepResult[] {\n if (pickleIds.length === 0) {\n return [\n {\n status: messages.TestStepResultStatus.UNKNOWN,\n duration: messages.TimeConversion.millisecondsToDuration(0),\n },\n ]\n }\n return pickleIds.reduce((testStepResults: messages.TestStepResult[], pickleId) => {\n return testStepResults.concat(this.testStepResultByPickleId.get(pickleId))\n }, [])\n }\n\n /**\n * Gets all the attachments for multiple pickle steps\n * @param pickleStepIds\n */\n public getPickleStepAttachments(\n pickleStepIds: readonly string[]\n ): readonly messages.Attachment[] {\n return this.getTestStepsAttachments(\n pickleStepIds.reduce((testStepIds: string[], pickleStepId: string) => {\n return testStepIds.concat(this.testStepIdsByPickleStepId.get(pickleStepId))\n }, [])\n )\n }\n\n public getTestStepsAttachments(testStepIds: readonly string[]): readonly messages.Attachment[] {\n return testStepIds.reduce((attachments: messages.Attachment[], testStepId) => {\n return attachments.concat(this.attachmentsByTestStepId.get(testStepId))\n }, [])\n }\n\n /**\n * Get StepMatchArguments for a pickle step\n * @param pickleStepId\n */\n public getStepMatchArgumentsLists(\n pickleStepId: string\n ): readonly messages.StepMatchArgumentsList[] | undefined {\n return this.stepMatchArgumentsListsByPickleStepId.get(pickleStepId)\n }\n\n public getHook(hookId: string): messages.Hook {\n return this.hooksById.get(hookId)\n }\n\n public getBeforeHookSteps(pickleId: string): readonly messages.TestStep[] {\n const hookSteps: messages.TestStep[] = []\n\n this.identifyHookSteps(\n pickleId,\n (hook) => hookSteps.push(hook),\n () => null\n )\n return hookSteps\n }\n\n public getAfterHookSteps(pickleId: string): readonly messages.TestStep[] {\n const hookSteps: messages.TestStep[] = []\n\n this.identifyHookSteps(\n pickleId,\n () => null,\n (hook) => hookSteps.push(hook)\n )\n return hookSteps\n }\n\n private identifyHookSteps(\n pickleId: string,\n onBeforeHookFound: (hook: messages.TestStep) => void,\n onAfterHookFound: (hook: messages.TestStep) => void\n ): void {\n const testCase = this.testCaseByPickleId.get(pickleId)\n\n if (!testCase) {\n return\n }\n\n let pickleStepFound = false\n\n for (const step of testCase.testSteps) {\n if (step.hookId) {\n pickleStepFound ? onAfterHookFound(step) : onBeforeHookFound(step)\n } else {\n pickleStepFound = true\n }\n }\n }\n\n public getTestStepResults(testStepId: string): messages.TestStepResult[] {\n return this.testStepResultsbyTestStepId.get(testStepId)\n }\n\n public getStatusCounts(\n pickleIds: readonly string[]\n ): Partial<Record<messages.TestStepResultStatus, number>> {\n const result: Partial<Record<messages.TestStepResultStatus, number>> = {}\n for (const pickleId of pickleIds) {\n const testStepResult = getWorstTestStepResult(this.getPickleTestStepResults([pickleId]))\n const count = result[testStepResult.status] || 0\n result[testStepResult.status] = count + 1\n }\n return result\n }\n}\n"]}
1
+ {"version":3,"file":"Query.js","sourceRoot":"","sources":["../../src/Query.ts"],"names":[],"mappings":"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","sourcesContent":["import * as messages from '@cucumber/messages'\nimport { getWorstTestStepResult } from '@cucumber/messages'\nimport { ArrayMultimap } from '@teppeis/multimaps'\n\nexport default class Query {\n private readonly testStepResultByPickleId = new ArrayMultimap<string, messages.TestStepResult>()\n private readonly testStepResultsByPickleStepId = new ArrayMultimap<\n string,\n messages.TestStepResult\n >()\n private readonly testStepById = new Map<string, messages.TestStep>()\n private readonly testCaseByPickleId = new Map<string, messages.TestCase>()\n private readonly testCaseByTestCaseId = new Map<string, messages.TestCase>()\n private readonly pickleIdByTestStepId = new Map<string, string>()\n private readonly pickleStepIdByTestStepId = new Map<string, string>()\n private readonly testStepResultsbyTestStepId = new ArrayMultimap<\n string,\n messages.TestStepResult\n >()\n private readonly testStepIdsByPickleStepId = new ArrayMultimap<string, string>()\n private readonly hooksById = new Map<string, messages.Hook>()\n\n private readonly attachmentsByTestStepId = new ArrayMultimap<string, messages.Attachment>()\n\n private readonly stepMatchArgumentsListsByPickleStepId = new Map<\n string,\n readonly messages.StepMatchArgumentsList[]\n >()\n\n public update(envelope: messages.Envelope) {\n if (envelope.testCase) {\n this.testCaseByTestCaseId.set(envelope.testCase.id, envelope.testCase)\n this.testCaseByPickleId.set(envelope.testCase.pickleId, envelope.testCase)\n for (const testStep of envelope.testCase.testSteps) {\n this.testStepById.set(testStep.id, testStep)\n this.pickleIdByTestStepId.set(testStep.id, envelope.testCase.pickleId)\n this.pickleStepIdByTestStepId.set(testStep.id, testStep.pickleStepId)\n this.testStepIdsByPickleStepId.put(testStep.pickleStepId, testStep.id)\n this.stepMatchArgumentsListsByPickleStepId.set(\n testStep.pickleStepId,\n testStep.stepMatchArgumentsLists\n )\n }\n }\n\n /*\n when a test case attempt starts besides the first one, clear all existing results\n and attachments for that test case, so we always report on the latest attempt\n TODO keep track of results and attachments from all attempts, expand API accordingly\n */\n if (envelope.testCaseStarted && envelope.testCaseStarted.attempt > 0) {\n const testCase = this.testCaseByTestCaseId.get(envelope.testCaseStarted.testCaseId)\n this.testStepResultByPickleId.delete(testCase.pickleId)\n for (const testStep of testCase.testSteps) {\n this.testStepResultsByPickleStepId.delete(testStep.pickleStepId)\n this.testStepResultsbyTestStepId.delete(testStep.id)\n this.attachmentsByTestStepId.delete(testStep.id)\n }\n }\n\n if (envelope.testStepFinished) {\n const pickleId = this.pickleIdByTestStepId.get(envelope.testStepFinished.testStepId)\n this.testStepResultByPickleId.put(pickleId, envelope.testStepFinished.testStepResult)\n\n const testStep = this.testStepById.get(envelope.testStepFinished.testStepId)\n this.testStepResultsByPickleStepId.put(\n testStep.pickleStepId,\n envelope.testStepFinished.testStepResult\n )\n this.testStepResultsbyTestStepId.put(testStep.id, envelope.testStepFinished.testStepResult)\n }\n\n if (envelope.hook) {\n this.hooksById.set(envelope.hook.id, envelope.hook)\n }\n\n if (envelope.attachment) {\n this.attachmentsByTestStepId.put(envelope.attachment.testStepId, envelope.attachment)\n }\n }\n\n /**\n * Gets all the results for multiple pickle steps\n * @param pickleStepIds\n */\n public getPickleStepTestStepResults(\n pickleStepIds: readonly string[]\n ): readonly messages.TestStepResult[] {\n if (pickleStepIds.length === 0) {\n return [\n {\n status: messages.TestStepResultStatus.UNKNOWN,\n duration: messages.TimeConversion.millisecondsToDuration(0),\n },\n ]\n }\n return pickleStepIds.reduce((testStepResults: messages.TestStepResult[], pickleId) => {\n return testStepResults.concat(this.testStepResultsByPickleStepId.get(pickleId))\n }, [])\n }\n\n /**\n * Gets all the results for multiple pickles\n * @param pickleIds\n */\n public getPickleTestStepResults(\n pickleIds: readonly string[]\n ): readonly messages.TestStepResult[] {\n if (pickleIds.length === 0) {\n return [\n {\n status: messages.TestStepResultStatus.UNKNOWN,\n duration: messages.TimeConversion.millisecondsToDuration(0),\n },\n ]\n }\n return pickleIds.reduce((testStepResults: messages.TestStepResult[], pickleId) => {\n return testStepResults.concat(this.testStepResultByPickleId.get(pickleId))\n }, [])\n }\n\n /**\n * Gets all the attachments for multiple pickle steps\n * @param pickleStepIds\n */\n public getPickleStepAttachments(\n pickleStepIds: readonly string[]\n ): readonly messages.Attachment[] {\n return this.getTestStepsAttachments(\n pickleStepIds.reduce((testStepIds: string[], pickleStepId: string) => {\n return testStepIds.concat(this.testStepIdsByPickleStepId.get(pickleStepId))\n }, [])\n )\n }\n\n public getTestStepsAttachments(testStepIds: readonly string[]): readonly messages.Attachment[] {\n return testStepIds.reduce((attachments: messages.Attachment[], testStepId) => {\n return attachments.concat(this.attachmentsByTestStepId.get(testStepId))\n }, [])\n }\n\n /**\n * Get StepMatchArguments for a pickle step\n * @param pickleStepId\n */\n public getStepMatchArgumentsLists(\n pickleStepId: string\n ): readonly messages.StepMatchArgumentsList[] | undefined {\n return this.stepMatchArgumentsListsByPickleStepId.get(pickleStepId)\n }\n\n public getHook(hookId: string): messages.Hook {\n return this.hooksById.get(hookId)\n }\n\n public getBeforeHookSteps(pickleId: string): readonly messages.TestStep[] {\n const hookSteps: messages.TestStep[] = []\n\n this.identifyHookSteps(\n pickleId,\n (hook) => hookSteps.push(hook),\n () => null\n )\n return hookSteps\n }\n\n public getAfterHookSteps(pickleId: string): readonly messages.TestStep[] {\n const hookSteps: messages.TestStep[] = []\n\n this.identifyHookSteps(\n pickleId,\n () => null,\n (hook) => hookSteps.push(hook)\n )\n return hookSteps\n }\n\n private identifyHookSteps(\n pickleId: string,\n onBeforeHookFound: (hook: messages.TestStep) => void,\n onAfterHookFound: (hook: messages.TestStep) => void\n ): void {\n const testCase = this.testCaseByPickleId.get(pickleId)\n\n if (!testCase) {\n return\n }\n\n let pickleStepFound = false\n\n for (const step of testCase.testSteps) {\n if (step.hookId) {\n pickleStepFound ? onAfterHookFound(step) : onBeforeHookFound(step)\n } else {\n pickleStepFound = true\n }\n }\n }\n\n public getTestStepResults(testStepId: string): messages.TestStepResult[] {\n return this.testStepResultsbyTestStepId.get(testStepId)\n }\n\n public getStatusCounts(\n pickleIds: readonly string[]\n ): Partial<Record<messages.TestStepResultStatus, number>> {\n const result: Partial<Record<messages.TestStepResultStatus, number>> = {}\n for (const pickleId of pickleIds) {\n const testStepResult = getWorstTestStepResult(this.getPickleTestStepResults([pickleId]))\n const count = result[testStepResult.status] || 0\n result[testStepResult.status] = count + 1\n }\n return result\n }\n}\n"]}
@@ -371,8 +371,8 @@ Scenario: hi
371
371
  }));
372
372
  });
373
373
  });
374
- function execute(gherkinSource, messagesHandler = () => null, runOptions = { allowedRetries: 0 }) {
375
- return __awaiter(this, void 0, void 0, function* () {
374
+ function execute(gherkinSource_1) {
375
+ return __awaiter(this, arguments, void 0, function* (gherkinSource, messagesHandler = () => null, runOptions = { allowedRetries: 0 }) {
376
376
  const newId = messages.IdGenerator.uuid();
377
377
  const clock = new fake_cucumber_1.IncrementClock();
378
378
  const stopwatch = new fake_cucumber_1.IncrementStopwatch();
@@ -1 +1 @@
1
- {"version":3,"file":"QueryTest.js","sourceRoot":"","sources":["../../test/QueryTest.ts"],"names":[],"mappings":"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","sourcesContent":["import { GherkinStreams } from '@cucumber/gherkin-streams'\nimport { Query as GherkinQuery } from '@cucumber/gherkin-utils'\nimport * as messages from '@cucumber/messages'\nimport { pipeline, Readable, Writable } from 'stream'\nimport assert from 'assert'\nimport {\n SupportCode,\n withFullStackTrace,\n makeTestPlan,\n makeTestCase,\n IncrementClock,\n IncrementStopwatch,\n RunOptions,\n} from '@cucumber/fake-cucumber'\n\nimport { promisify } from 'util'\nimport Query from '../src/Query'\n\nconst pipelinePromise = promisify(pipeline)\n\ndescribe('Query', () => {\n let gherkinQuery: GherkinQuery\n let cucumberQuery: Query\n beforeEach(() => {\n gherkinQuery = new GherkinQuery()\n cucumberQuery = new Query()\n })\n\n describe('#getPickleStepTestStepResults(pickleStepIds)', () => {\n it('returns a single UNKNOWN when the list is empty', () => {\n const results = cucumberQuery.getPickleTestStepResults([])\n assert.deepStrictEqual(\n results.map((r) => r.status),\n ['UNKNOWN']\n )\n })\n\n it('looks up results for scenario steps', async () => {\n const envelopes: messages.Envelope[] = []\n\n await execute(\n `Feature: hello\n Scenario: ok\n Given a passed step\n`,\n (envelope) => envelopes.push(envelope)\n )\n\n const scenario = findScenario(envelopes)\n\n const pickleStepIds = gherkinQuery.getPickleStepIds(scenario.steps[0].id)\n assert.strictEqual(pickleStepIds.length, 1)\n\n const testStepResults = cucumberQuery.getPickleStepTestStepResults(pickleStepIds)\n assert.strictEqual(testStepResults.length, 1)\n\n assert.strictEqual(testStepResults[0].status, 'PASSED')\n })\n\n it('looks up results for background steps', async () => {\n const envelopes: messages.Envelope[] = []\n\n await execute(\n `Feature: hello\n Background:\n Given a passed step\n\n Scenario: ok\n Given a passed step\n\n Scenario: ko\n Given a failed step\n`,\n (envelope) => envelopes.push(envelope)\n )\n\n const background = findBackground(envelopes)\n const pickleStepIds = gherkinQuery.getPickleStepIds(background.steps[0].id)\n assert.strictEqual(pickleStepIds.length, 2)\n\n const testStepResults = cucumberQuery.getPickleStepTestStepResults(pickleStepIds)\n\n assert.deepStrictEqual(\n testStepResults.map((r) => r.status),\n ['PASSED', 'PASSED']\n )\n })\n\n it('looks up results for background steps when scenarios are empty', async () => {\n const envelopes: messages.Envelope[] = []\n\n await execute(\n `Feature: hello\n Background:\n Given a passed step\n\n Scenario: ok\n\n Scenario: ok too\n`,\n (envelope) => envelopes.push(envelope)\n )\n\n const background = findBackground(envelopes)\n const pickleStepIds = gherkinQuery.getPickleStepIds(background.steps[0].id)\n assert.strictEqual(pickleStepIds.length, 0)\n\n const testStepResults = cucumberQuery.getPickleStepTestStepResults(pickleStepIds)\n assert.strictEqual(testStepResults.length, 1)\n\n assert.strictEqual(testStepResults[0].status, 'UNKNOWN')\n })\n })\n\n describe('#getPickleTestStepResults(pickleIds)', () => {\n it('looks up results for scenarios', async () => {\n const envelopes: messages.Envelope[] = []\n await execute(\n `Feature: hello\n Scenario: ko\n Given a passed step\n Given a failed step\n`,\n (envelope) => envelopes.push(envelope)\n )\n\n const scenario = findScenario(envelopes)\n const pickleIds = gherkinQuery.getPickleIds('test.feature', scenario.id)\n assert.strictEqual(pickleIds.length, 1)\n\n const testStepResults = cucumberQuery.getPickleTestStepResults(pickleIds)\n\n assert.deepStrictEqual(\n testStepResults.map((r) => r.status),\n ['PASSED', 'FAILED']\n )\n })\n\n it('looks up results for scenario outlines', async () => {\n const envelopes: messages.Envelope[] = []\n await execute(\n `Feature: hello\n Scenario: hi <status1> and <status2>\n Given a <status1> step\n And a <status2> step\n\n Examples:\n | status1 | status2 |\n | passed | passed |\n | passed | failed |\n`,\n (envelope) => envelopes.push(envelope)\n )\n\n const scenario = findScenario(envelopes)\n const pickleIds = gherkinQuery.getPickleIds('test.feature', scenario.id)\n assert.strictEqual(pickleIds.length, 2)\n\n assert.deepStrictEqual(\n cucumberQuery.getPickleTestStepResults(pickleIds).map((r) => r.status),\n ['PASSED', 'PASSED', 'PASSED', 'FAILED']\n )\n })\n\n it('looks up results for examples rows outlines', async () => {\n const envelopes: messages.Envelope[] = []\n\n await execute(\n `Feature: hello\n Scenario: hi <status1> and <status2>\n Given a <status1> step\n And a <status2> step\n\n Examples:\n | status1 | status2 |\n | passed | passed |\n | passed | failed |\n`,\n (envelope) => envelopes.push(envelope)\n )\n\n const scenario = findScenario(envelopes)\n const exampleIds = scenario.examples[0].tableBody.map((row) => row.id)\n\n assert.deepStrictEqual(\n cucumberQuery\n .getPickleTestStepResults(gherkinQuery.getPickleIds('test.feature', exampleIds[0]))\n .map((r) => r.status),\n ['PASSED', 'PASSED']\n )\n\n assert.deepStrictEqual(\n cucumberQuery\n .getPickleTestStepResults(gherkinQuery.getPickleIds('test.feature', exampleIds[1]))\n .map((r) => r.status),\n ['PASSED', 'FAILED']\n )\n })\n })\n\n describe('#getPickleStepAttachments(pickleIds)', () => {\n it('looks up attachments', async () => {\n const envelopes: messages.Envelope[] = []\n await execute(\n `Feature: hello\n Scenario: ok\n Given a passed step with attachment\n `,\n (envelope) => envelopes.push(envelope)\n )\n\n const scenario = findScenario(envelopes)\n const pickleStepIds = gherkinQuery.getPickleStepIds(scenario.steps[0].id)\n assert.strictEqual(pickleStepIds.length, 1)\n\n const attachments = cucumberQuery.getPickleStepAttachments(pickleStepIds)\n assert.strictEqual(attachments.length, 1)\n\n assert.strictEqual(attachments[0].body, 'Hello')\n })\n })\n\n describe('#getStepMatchArguments(uri, lineNumber)', () => {\n it(\"looks up result for step's uri and line\", async () => {\n const envelopes: messages.Envelope[] = []\n await execute(\n `Feature: hello\n Scenario: ok\n Given a passed step\n And I have 567 cukes in my belly\n `,\n (envelope) => envelopes.push(envelope)\n )\n\n const scenario = findScenario(envelopes)\n\n assert.deepStrictEqual(\n cucumberQuery\n .getStepMatchArgumentsLists(gherkinQuery.getPickleStepIds(scenario.steps[0].id)[0])\n .map((sal) => sal.stepMatchArguments.map((arg) => arg.parameterTypeName)),\n [[]]\n )\n\n assert.deepStrictEqual(\n cucumberQuery\n .getStepMatchArgumentsLists(gherkinQuery.getPickleStepIds(scenario.steps[1].id)[0])\n .map((sal) => sal.stepMatchArguments.map((arg) => arg.parameterTypeName)),\n [['int', 'word']]\n )\n })\n\n describe('#getBeforeHookSteps(pickleId: string)', () => {\n it('returns an empty list when there is no hooks', async () => {\n const envelopes: messages.Envelope[] = []\n await execute(\n `Feature: hello\n Scenario: hi\n Given a passed step\n `,\n (envelope) => envelopes.push(envelope)\n )\n const scenarioId = findScenario(envelopes).id\n const pickleId = gherkinQuery.getPickleIds('test.feature', scenarioId)[0]\n\n assert.deepStrictEqual(cucumberQuery.getBeforeHookSteps(pickleId), [])\n })\n\n it('returns one before hook step', async () => {\n const envelopes: messages.Envelope[] = []\n await execute(\n `Feature: hello\n @beforeHook\n Scenario: hi\n Given a passed step\n `,\n (envelope) => envelopes.push(envelope)\n )\n const scenarioId = findScenario(envelopes).id\n const pickleId = gherkinQuery.getPickleIds('test.feature', scenarioId)[0]\n\n assert.strictEqual(cucumberQuery.getBeforeHookSteps(pickleId).length, 1)\n })\n\n it('does not return after hook steps', async () => {\n const envelopes: messages.Envelope[] = []\n await execute(\n `Feature: hello\n @afterHook\n Scenario: hi\n Given a passed step\n `,\n (envelope) => envelopes.push(envelope)\n )\n const scenarioId = findScenario(envelopes).id\n const pickleId = gherkinQuery.getPickleIds('test.feature', scenarioId)[0]\n\n assert.deepStrictEqual(cucumberQuery.getBeforeHookSteps(pickleId), [])\n })\n })\n\n describe('#getAfterHookSteps(pickleId: string)', () => {\n it('returns an empty list when there is no hooks', async () => {\n const envelopes: messages.Envelope[] = []\n await execute(\n `Feature: hello\n Scenario: hi\n Given a passed step\n `,\n (envelope) => envelopes.push(envelope)\n )\n const scenarioId = findScenario(envelopes).id\n const pickleId = gherkinQuery.getPickleIds('test.feature', scenarioId)[0]\n\n assert.deepStrictEqual(cucumberQuery.getAfterHookSteps(pickleId), [])\n })\n\n it('returns one after hook step', async () => {\n const envelopes: messages.Envelope[] = []\n await execute(\n `Feature: hello\n @afterHook\n Scenario: hi\n Given a passed step\n `,\n (envelope) => envelopes.push(envelope)\n )\n const scenarioId = findScenario(envelopes).id\n const pickleId = gherkinQuery.getPickleIds('test.feature', scenarioId)[0]\n\n assert.strictEqual(cucumberQuery.getAfterHookSteps(pickleId).length, 1)\n })\n\n it('does not return before hook steps', async () => {\n const envelopes: messages.Envelope[] = []\n await execute(\n `Feature: hello\n @beforeHook\n Scenario: hi\n Given a passed step\n `,\n (envelope) => envelopes.push(envelope)\n )\n const scenarioId = findScenario(envelopes).id\n const pickleId = gherkinQuery.getPickleIds('test.feature', scenarioId)[0]\n\n assert.deepStrictEqual(cucumberQuery.getAfterHookSteps(pickleId), [])\n })\n })\n\n describe('#getTestStepResult', () => {\n it('returns one test step result', async () => {\n const emittedMessages: Array<messages.Envelope> = []\n await execute(\n `Feature: hello\n Scenario: hi\n Given a passed step\n `,\n (message) => emittedMessages.push(message)\n )\n const testCase = emittedMessages.find((child) => child.testCase).testCase\n const testStep = testCase.testSteps[0]\n const results = cucumberQuery.getTestStepResults(testStep.id)\n\n assert.deepStrictEqual(results.length, 1)\n assert.deepStrictEqual(results[0].status, 'PASSED')\n })\n\n it('returns a result for hook step', async () => {\n const emittedMessages: Array<messages.Envelope> = []\n await execute(\n `Feature: hello\n @beforeHook\n Scenario: hi\n Given a passed step\n `,\n (message) => emittedMessages.push(message)\n )\n const testCase = emittedMessages.find((child) => child.testCase).testCase\n const testStep = testCase.testSteps[0]\n const results = cucumberQuery.getTestStepResults(testStep.id)\n\n assert.deepStrictEqual(results.length, 1)\n assert.deepStrictEqual(results[0].status, 'PASSED')\n })\n\n it('returns the result from the last attempt only where retry has been used', async () => {\n const emittedMessages: Array<messages.Envelope> = []\n await execute(\n `Feature: hello\nScenario: hi\n Given a step that passes the second time\n`,\n (message) => emittedMessages.push(message),\n { allowedRetries: 1 }\n )\n const testCase = emittedMessages.find((child) => child.testCase).testCase\n const testStep = testCase.testSteps[0]\n const results = cucumberQuery.getTestStepResults(testStep.id)\n\n assert.deepStrictEqual(results.length, 1)\n assert.deepStrictEqual(results[0].status, 'PASSED')\n })\n })\n\n describe('#getHook(HookId)', () => {\n it('returns undefined if the id does not match any hook', () => {\n assert.strictEqual(cucumberQuery.getHook('tralala'), undefined)\n })\n\n it('returns the matching hook', () => {\n const hook: messages.Hook = {\n id: 'tralala',\n sourceReference: {},\n }\n const envelope: messages.Envelope = {\n hook,\n }\n\n cucumberQuery.update(envelope)\n\n assert.deepStrictEqual(cucumberQuery.getHook('tralala'), hook)\n })\n })\n\n describe('#getAttachmentByTestStepId', () => {\n it('looks up attachments', async () => {\n const testCases: messages.TestCase[] = []\n await execute(\n `Feature: hello\n Scenario: ok\n Given a passed step with attachment\n `,\n (envelope) => {\n if (envelope.testCase) {\n testCases.push(envelope.testCase)\n }\n }\n )\n\n const attachments = cucumberQuery.getTestStepsAttachments([testCases[0].testSteps[0].id])\n assert.strictEqual(attachments.length, 1)\n\n assert.strictEqual(attachments[0].body, 'Hello')\n })\n\n it('returns attachments from the last attempt only where retry has been used', async () => {\n const testCases: messages.TestCase[] = []\n await execute(\n `Feature: hello\n Scenario: ok\n Given a passed step with attachment\n And a step that passes the second time\n `,\n (envelope) => {\n if (envelope.testCase) {\n testCases.push(envelope.testCase)\n }\n },\n { allowedRetries: 1 }\n )\n\n const attachments = cucumberQuery.getTestStepsAttachments([testCases[0].testSteps[0].id])\n assert.strictEqual(attachments.length, 1)\n\n assert.strictEqual(attachments[0].body, 'Hello')\n })\n })\n\n describe('#getStatusCounts', () => {\n it('returns the number of pickles for each status', async () => {\n await execute(\n `Feature: hello\n Scenario: ok\n Given a passed step\n `,\n () => undefined\n )\n\n await execute(\n `Feature: hello\n Scenario: ok\n Given a passed step\n `,\n () => undefined\n )\n\n await execute(\n `Feature: hello\n Scenario: ok\n Given a failed step\n `,\n () => undefined\n )\n\n await execute(\n `Feature: hello\n Scenario: ok\n Given an undefined step\n `,\n () => undefined\n )\n\n const statuses = cucumberQuery.getStatusCounts(\n gherkinQuery.getPickles().map((pickle) => pickle.id)\n )\n\n const expectedStatuses: Partial<Record<messages.TestStepResultStatus, number>> = {\n PASSED: 2,\n FAILED: 1,\n UNDEFINED: 1,\n }\n assert.deepStrictEqual(statuses, expectedStatuses)\n })\n })\n })\n\n async function execute(\n gherkinSource: string,\n messagesHandler: (envelope: messages.Envelope) => void = () => null,\n runOptions: RunOptions = { allowedRetries: 0 }\n ): Promise<void> {\n const newId = messages.IdGenerator.uuid()\n const clock = new IncrementClock()\n const stopwatch = new IncrementStopwatch()\n const makeErrorMessage = withFullStackTrace()\n const supportCode = new SupportCode(newId, clock, stopwatch, makeErrorMessage)\n supportCode.defineBeforeHook(null, '@beforeHook', () => {\n // no-op\n })\n supportCode.defineAfterHook(null, '@afterHook', () => {\n // no-op\n })\n supportCode.defineStepDefinition(null, 'a passed step', () => {\n // no-op\n })\n supportCode.defineStepDefinition(null, 'a passed step with attachment', function () {\n this.attach('Hello', 'text/plain')\n })\n supportCode.defineStepDefinition(null, 'a failed step', () => {\n throw new Error(`This step failed.`)\n })\n supportCode.defineStepDefinition(null, 'I have {int} cukes in my {word}', (cukes: number) => {\n assert.ok(cukes)\n })\n let passesSecondTime = 0\n supportCode.defineStepDefinition(null, 'a step that passes the second time', () => {\n passesSecondTime++\n if (passesSecondTime < 2) {\n throw new Error(`This step failed.`)\n }\n })\n\n const queryUpdateStream = new Writable({\n objectMode: true,\n write(\n envelope: messages.Envelope,\n encoding: string,\n callback: (error?: Error | null) => void\n ): void {\n try {\n messagesHandler(envelope)\n gherkinQuery.update(envelope)\n cucumberQuery.update(envelope)\n callback()\n } catch (err) {\n callback(err)\n }\n },\n })\n await pipelinePromise(gherkinMessages(gherkinSource, 'test.feature', newId), queryUpdateStream)\n\n const testPlan = makeTestPlan(gherkinQuery, supportCode, runOptions, makeTestCase)\n await testPlan.execute((envelope: messages.Envelope) => {\n messagesHandler(envelope)\n cucumberQuery.update(envelope)\n })\n }\n\n function gherkinMessages(\n gherkinSource: string,\n uri: string,\n newId: messages.IdGenerator.NewId\n ): Readable {\n const source: messages.Envelope = {\n source: {\n uri,\n data: gherkinSource,\n mediaType: messages.SourceMediaType.TEXT_X_CUCUMBER_GHERKIN_PLAIN,\n },\n }\n return GherkinStreams.fromSources([source], { newId })\n }\n\n function findScenario(envelopes: messages.Envelope[]): messages.Scenario {\n const gherkinDocument = envelopes.find((envelope) => envelope.gherkinDocument).gherkinDocument\n return gherkinDocument.feature.children.find((child) => child.scenario).scenario\n }\n\n function findBackground(envelopes: messages.Envelope[]): messages.Background {\n const gherkinDocument = envelopes.find((envelope) => envelope.gherkinDocument).gherkinDocument\n return gherkinDocument.feature.children.find((child) => child.background).background\n }\n})\n"]}
1
+ {"version":3,"file":"QueryTest.js","sourceRoot":"","sources":["../../test/QueryTest.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAA0D;AAC1D,2DAA+D;AAC/D,6DAA8C;AAC9C,mCAAqD;AACrD,oDAA2B;AAC3B,2DAQgC;AAEhC,+BAAgC;AAChC,yDAAgC;AAEhC,MAAM,eAAe,GAAG,IAAA,gBAAS,EAAC,iBAAQ,CAAC,CAAA;AAE3C,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACrB,IAAI,YAA0B,CAAA;IAC9B,IAAI,aAAoB,CAAA;IACxB,UAAU,CAAC,GAAG,EAAE;QACd,YAAY,GAAG,IAAI,qBAAY,EAAE,CAAA;QACjC,aAAa,GAAG,IAAI,eAAK,EAAE,CAAA;IAC7B,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,8CAA8C,EAAE,GAAG,EAAE;QAC5D,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,MAAM,OAAO,GAAG,aAAa,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAA;YAC1D,gBAAM,CAAC,eAAe,CACpB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAC5B,CAAC,SAAS,CAAC,CACZ,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,qCAAqC,EAAE,GAAS,EAAE;YACnD,MAAM,SAAS,GAAwB,EAAE,CAAA;YAEzC,MAAM,OAAO,CACX;;;CAGP,EACO,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CACvC,CAAA;YAED,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;YAExC,MAAM,aAAa,GAAG,YAAY,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;YACzE,gBAAM,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YAE3C,MAAM,eAAe,GAAG,aAAa,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAA;YACjF,gBAAM,CAAC,WAAW,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YAE7C,gBAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QACzD,CAAC,CAAA,CAAC,CAAA;QAEF,EAAE,CAAC,uCAAuC,EAAE,GAAS,EAAE;YACrD,MAAM,SAAS,GAAwB,EAAE,CAAA;YAEzC,MAAM,OAAO,CACX;;;;;;;;;CASP,EACO,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CACvC,CAAA;YAED,MAAM,UAAU,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;YAC5C,MAAM,aAAa,GAAG,YAAY,CAAC,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;YAC3E,gBAAM,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YAE3C,MAAM,eAAe,GAAG,aAAa,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAA;YAEjF,gBAAM,CAAC,eAAe,CACpB,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EACpC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CACrB,CAAA;QACH,CAAC,CAAA,CAAC,CAAA;QAEF,EAAE,CAAC,gEAAgE,EAAE,GAAS,EAAE;YAC9E,MAAM,SAAS,GAAwB,EAAE,CAAA;YAEzC,MAAM,OAAO,CACX;;;;;;;CAOP,EACO,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CACvC,CAAA;YAED,MAAM,UAAU,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;YAC5C,MAAM,aAAa,GAAG,YAAY,CAAC,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;YAC3E,gBAAM,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YAE3C,MAAM,eAAe,GAAG,aAAa,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAA;YACjF,gBAAM,CAAC,WAAW,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YAE7C,gBAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QAC1D,CAAC,CAAA,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;QACpD,EAAE,CAAC,gCAAgC,EAAE,GAAS,EAAE;YAC9C,MAAM,SAAS,GAAwB,EAAE,CAAA;YACzC,MAAM,OAAO,CACX;;;;CAIP,EACO,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CACvC,CAAA;YAED,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;YACxC,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;YACxE,gBAAM,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YAEvC,MAAM,eAAe,GAAG,aAAa,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAA;YAEzE,gBAAM,CAAC,eAAe,CACpB,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EACpC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CACrB,CAAA;QACH,CAAC,CAAA,CAAC,CAAA;QAEF,EAAE,CAAC,wCAAwC,EAAE,GAAS,EAAE;YACtD,MAAM,SAAS,GAAwB,EAAE,CAAA;YACzC,MAAM,OAAO,CACX;;;;;;;;;CASP,EACO,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CACvC,CAAA;YAED,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;YACxC,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;YACxE,gBAAM,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YAEvC,gBAAM,CAAC,eAAe,CACpB,aAAa,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EACtE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CACzC,CAAA;QACH,CAAC,CAAA,CAAC,CAAA;QAEF,EAAE,CAAC,6CAA6C,EAAE,GAAS,EAAE;YAC3D,MAAM,SAAS,GAAwB,EAAE,CAAA;YAEzC,MAAM,OAAO,CACX;;;;;;;;;CASP,EACO,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CACvC,CAAA;YAED,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;YACxC,MAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAEtE,gBAAM,CAAC,eAAe,CACpB,aAAa;iBACV,wBAAwB,CAAC,YAAY,CAAC,YAAY,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;iBAClF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EACvB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CACrB,CAAA;YAED,gBAAM,CAAC,eAAe,CACpB,aAAa;iBACV,wBAAwB,CAAC,YAAY,CAAC,YAAY,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;iBAClF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EACvB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CACrB,CAAA;QACH,CAAC,CAAA,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;QACpD,EAAE,CAAC,sBAAsB,EAAE,GAAS,EAAE;YACpC,MAAM,SAAS,GAAwB,EAAE,CAAA;YACzC,MAAM,OAAO,CACX;;;KAGH,EACG,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CACvC,CAAA;YAED,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;YACxC,MAAM,aAAa,GAAG,YAAY,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;YACzE,gBAAM,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YAE3C,MAAM,WAAW,GAAG,aAAa,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAA;YACzE,gBAAM,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YAEzC,gBAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAClD,CAAC,CAAA,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACvD,EAAE,CAAC,yCAAyC,EAAE,GAAS,EAAE;YACvD,MAAM,SAAS,GAAwB,EAAE,CAAA;YACzC,MAAM,OAAO,CACX;;;;KAIH,EACG,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CACvC,CAAA;YAED,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;YAExC,gBAAM,CAAC,eAAe,CACpB,aAAa;iBACV,0BAA0B,CAAC,YAAY,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;iBAClF,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,EAC3E,CAAC,EAAE,CAAC,CACL,CAAA;YAED,gBAAM,CAAC,eAAe,CACpB,aAAa;iBACV,0BAA0B,CAAC,YAAY,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;iBAClF,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,EAC3E,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAClB,CAAA;QACH,CAAC,CAAA,CAAC,CAAA;QAEF,QAAQ,CAAC,uCAAuC,EAAE,GAAG,EAAE;YACrD,EAAE,CAAC,8CAA8C,EAAE,GAAS,EAAE;gBAC5D,MAAM,SAAS,GAAwB,EAAE,CAAA;gBACzC,MAAM,OAAO,CACX;;;GAGP,EACO,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CACvC,CAAA;gBACD,MAAM,UAAU,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,CAAA;gBAC7C,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;gBAEzE,gBAAM,CAAC,eAAe,CAAC,aAAa,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAA;YACxE,CAAC,CAAA,CAAC,CAAA;YAEF,EAAE,CAAC,8BAA8B,EAAE,GAAS,EAAE;gBAC5C,MAAM,SAAS,GAAwB,EAAE,CAAA;gBACzC,MAAM,OAAO,CACX;;;;GAIP,EACO,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CACvC,CAAA;gBACD,MAAM,UAAU,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,CAAA;gBAC7C,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;gBAEzE,gBAAM,CAAC,WAAW,CAAC,aAAa,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YAC1E,CAAC,CAAA,CAAC,CAAA;YAEF,EAAE,CAAC,kCAAkC,EAAE,GAAS,EAAE;gBAChD,MAAM,SAAS,GAAwB,EAAE,CAAA;gBACzC,MAAM,OAAO,CACX;;;;GAIP,EACO,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CACvC,CAAA;gBACD,MAAM,UAAU,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,CAAA;gBAC7C,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;gBAEzE,gBAAM,CAAC,eAAe,CAAC,aAAa,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAA;YACxE,CAAC,CAAA,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;YACpD,EAAE,CAAC,8CAA8C,EAAE,GAAS,EAAE;gBAC5D,MAAM,SAAS,GAAwB,EAAE,CAAA;gBACzC,MAAM,OAAO,CACX;;;GAGP,EACO,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CACvC,CAAA;gBACD,MAAM,UAAU,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,CAAA;gBAC7C,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;gBAEzE,gBAAM,CAAC,eAAe,CAAC,aAAa,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAA;YACvE,CAAC,CAAA,CAAC,CAAA;YAEF,EAAE,CAAC,6BAA6B,EAAE,GAAS,EAAE;gBAC3C,MAAM,SAAS,GAAwB,EAAE,CAAA;gBACzC,MAAM,OAAO,CACX;;;;GAIP,EACO,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CACvC,CAAA;gBACD,MAAM,UAAU,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,CAAA;gBAC7C,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;gBAEzE,gBAAM,CAAC,WAAW,CAAC,aAAa,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YACzE,CAAC,CAAA,CAAC,CAAA;YAEF,EAAE,CAAC,mCAAmC,EAAE,GAAS,EAAE;gBACjD,MAAM,SAAS,GAAwB,EAAE,CAAA;gBACzC,MAAM,OAAO,CACX;;;;GAIP,EACO,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CACvC,CAAA;gBACD,MAAM,UAAU,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,CAAA;gBAC7C,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;gBAEzE,gBAAM,CAAC,eAAe,CAAC,aAAa,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAA;YACvE,CAAC,CAAA,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;YAClC,EAAE,CAAC,8BAA8B,EAAE,GAAS,EAAE;gBAC5C,MAAM,eAAe,GAA6B,EAAE,CAAA;gBACpD,MAAM,OAAO,CACX;;;GAGP,EACO,CAAC,OAAO,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAC3C,CAAA;gBACD,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAA;gBACzE,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;gBACtC,MAAM,OAAO,GAAG,aAAa,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;gBAE7D,gBAAM,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;gBACzC,gBAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;YACrD,CAAC,CAAA,CAAC,CAAA;YAEF,EAAE,CAAC,gCAAgC,EAAE,GAAS,EAAE;gBAC9C,MAAM,eAAe,GAA6B,EAAE,CAAA;gBACpD,MAAM,OAAO,CACX;;;;GAIP,EACO,CAAC,OAAO,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAC3C,CAAA;gBACD,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAA;gBACzE,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;gBACtC,MAAM,OAAO,GAAG,aAAa,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;gBAE7D,gBAAM,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;gBACzC,gBAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;YACrD,CAAC,CAAA,CAAC,CAAA;YAEF,EAAE,CAAC,yEAAyE,EAAE,GAAS,EAAE;gBACvF,MAAM,eAAe,GAA6B,EAAE,CAAA;gBACpD,MAAM,OAAO,CACX;;;CAGT,EACS,CAAC,OAAO,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAC1C,EAAE,cAAc,EAAE,CAAC,EAAE,CACtB,CAAA;gBACD,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAA;gBACzE,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;gBACtC,MAAM,OAAO,GAAG,aAAa,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;gBAE7D,gBAAM,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;gBACzC,gBAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;YACrD,CAAC,CAAA,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;YAChC,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;gBAC7D,gBAAM,CAAC,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAA;YACjE,CAAC,CAAC,CAAA;YAEF,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;gBACnC,MAAM,IAAI,GAAkB;oBAC1B,EAAE,EAAE,SAAS;oBACb,eAAe,EAAE,EAAE;iBACpB,CAAA;gBACD,MAAM,QAAQ,GAAsB;oBAClC,IAAI;iBACL,CAAA;gBAED,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;gBAE9B,gBAAM,CAAC,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAA;YAChE,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;YAC1C,EAAE,CAAC,sBAAsB,EAAE,GAAS,EAAE;gBACpC,MAAM,SAAS,GAAwB,EAAE,CAAA;gBACzC,MAAM,OAAO,CACX;;;GAGP,EACO,CAAC,QAAQ,EAAE,EAAE;oBACX,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;wBACtB,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;oBACnC,CAAC;gBACH,CAAC,CACF,CAAA;gBAED,MAAM,WAAW,GAAG,aAAa,CAAC,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBACzF,gBAAM,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;gBAEzC,gBAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YAClD,CAAC,CAAA,CAAC,CAAA;YAEF,EAAE,CAAC,0EAA0E,EAAE,GAAS,EAAE;gBACxF,MAAM,SAAS,GAAwB,EAAE,CAAA;gBACzC,MAAM,OAAO,CACX;;;;GAIP,EACO,CAAC,QAAQ,EAAE,EAAE;oBACX,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;wBACtB,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;oBACnC,CAAC;gBACH,CAAC,EACD,EAAE,cAAc,EAAE,CAAC,EAAE,CACtB,CAAA;gBAED,MAAM,WAAW,GAAG,aAAa,CAAC,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBACzF,gBAAM,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;gBAEzC,gBAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YAClD,CAAC,CAAA,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;YAChC,EAAE,CAAC,+CAA+C,EAAE,GAAS,EAAE;gBAC7D,MAAM,OAAO,CACX;;;GAGP,EACO,GAAG,EAAE,CAAC,SAAS,CAChB,CAAA;gBAED,MAAM,OAAO,CACX;;;GAGP,EACO,GAAG,EAAE,CAAC,SAAS,CAChB,CAAA;gBAED,MAAM,OAAO,CACX;;;GAGP,EACO,GAAG,EAAE,CAAC,SAAS,CAChB,CAAA;gBAED,MAAM,OAAO,CACX;;;GAGP,EACO,GAAG,EAAE,CAAC,SAAS,CAChB,CAAA;gBAED,MAAM,QAAQ,GAAG,aAAa,CAAC,eAAe,CAC5C,YAAY,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CACrD,CAAA;gBAED,MAAM,gBAAgB,GAA2D;oBAC/E,MAAM,EAAE,CAAC;oBACT,MAAM,EAAE,CAAC;oBACT,SAAS,EAAE,CAAC;iBACb,CAAA;gBACD,gBAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAA;YACpD,CAAC,CAAA,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,SAAe,OAAO;6DACpB,aAAqB,EACrB,kBAAyD,GAAG,EAAE,CAAC,IAAI,EACnE,aAAyB,EAAE,cAAc,EAAE,CAAC,EAAE;YAE9C,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;YACzC,MAAM,KAAK,GAAG,IAAI,8BAAc,EAAE,CAAA;YAClC,MAAM,SAAS,GAAG,IAAI,kCAAkB,EAAE,CAAA;YAC1C,MAAM,gBAAgB,GAAG,IAAA,kCAAkB,GAAE,CAAA;YAC7C,MAAM,WAAW,GAAG,IAAI,2BAAW,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAA;YAC9E,WAAW,CAAC,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE;gBACrD,QAAQ;YACV,CAAC,CAAC,CAAA;YACF,WAAW,CAAC,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE;gBACnD,QAAQ;YACV,CAAC,CAAC,CAAA;YACF,WAAW,CAAC,oBAAoB,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE;gBAC3D,QAAQ;YACV,CAAC,CAAC,CAAA;YACF,WAAW,CAAC,oBAAoB,CAAC,IAAI,EAAE,+BAA+B,EAAE;gBACtE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;YACpC,CAAC,CAAC,CAAA;YACF,WAAW,CAAC,oBAAoB,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE;gBAC3D,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;YACtC,CAAC,CAAC,CAAA;YACF,WAAW,CAAC,oBAAoB,CAAC,IAAI,EAAE,iCAAiC,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC1F,gBAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;YAClB,CAAC,CAAC,CAAA;YACF,IAAI,gBAAgB,GAAG,CAAC,CAAA;YACxB,WAAW,CAAC,oBAAoB,CAAC,IAAI,EAAE,oCAAoC,EAAE,GAAG,EAAE;gBAChF,gBAAgB,EAAE,CAAA;gBAClB,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;oBACzB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;gBACtC,CAAC;YACH,CAAC,CAAC,CAAA;YAEF,MAAM,iBAAiB,GAAG,IAAI,iBAAQ,CAAC;gBACrC,UAAU,EAAE,IAAI;gBAChB,KAAK,CACH,QAA2B,EAC3B,QAAgB,EAChB,QAAwC;oBAExC,IAAI,CAAC;wBACH,eAAe,CAAC,QAAQ,CAAC,CAAA;wBACzB,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;wBAC7B,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;wBAC9B,QAAQ,EAAE,CAAA;oBACZ,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,QAAQ,CAAC,GAAG,CAAC,CAAA;oBACf,CAAC;gBACH,CAAC;aACF,CAAC,CAAA;YACF,MAAM,eAAe,CAAC,eAAe,CAAC,aAAa,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,iBAAiB,CAAC,CAAA;YAE/F,MAAM,QAAQ,GAAG,IAAA,4BAAY,EAAC,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,4BAAY,CAAC,CAAA;YAClF,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC,QAA2B,EAAE,EAAE;gBACrD,eAAe,CAAC,QAAQ,CAAC,CAAA;gBACzB,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAChC,CAAC,CAAC,CAAA;QACJ,CAAC;KAAA;IAED,SAAS,eAAe,CACtB,aAAqB,EACrB,GAAW,EACX,KAAiC;QAEjC,MAAM,MAAM,GAAsB;YAChC,MAAM,EAAE;gBACN,GAAG;gBACH,IAAI,EAAE,aAAa;gBACnB,SAAS,EAAE,QAAQ,CAAC,eAAe,CAAC,6BAA6B;aAClE;SACF,CAAA;QACD,OAAO,gCAAc,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IACxD,CAAC;IAED,SAAS,YAAY,CAAC,SAA8B;QAClD,MAAM,eAAe,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,eAAe,CAAA;QAC9F,OAAO,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAA;IAClF,CAAC;IAED,SAAS,cAAc,CAAC,SAA8B;QACpD,MAAM,eAAe,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,eAAe,CAAA;QAC9F,OAAO,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,UAAU,CAAA;IACtF,CAAC;AACH,CAAC,CAAC,CAAA","sourcesContent":["import { GherkinStreams } from '@cucumber/gherkin-streams'\nimport { Query as GherkinQuery } from '@cucumber/gherkin-utils'\nimport * as messages from '@cucumber/messages'\nimport { pipeline, Readable, Writable } from 'stream'\nimport assert from 'assert'\nimport {\n SupportCode,\n withFullStackTrace,\n makeTestPlan,\n makeTestCase,\n IncrementClock,\n IncrementStopwatch,\n RunOptions,\n} from '@cucumber/fake-cucumber'\n\nimport { promisify } from 'util'\nimport Query from '../src/Query'\n\nconst pipelinePromise = promisify(pipeline)\n\ndescribe('Query', () => {\n let gherkinQuery: GherkinQuery\n let cucumberQuery: Query\n beforeEach(() => {\n gherkinQuery = new GherkinQuery()\n cucumberQuery = new Query()\n })\n\n describe('#getPickleStepTestStepResults(pickleStepIds)', () => {\n it('returns a single UNKNOWN when the list is empty', () => {\n const results = cucumberQuery.getPickleTestStepResults([])\n assert.deepStrictEqual(\n results.map((r) => r.status),\n ['UNKNOWN']\n )\n })\n\n it('looks up results for scenario steps', async () => {\n const envelopes: messages.Envelope[] = []\n\n await execute(\n `Feature: hello\n Scenario: ok\n Given a passed step\n`,\n (envelope) => envelopes.push(envelope)\n )\n\n const scenario = findScenario(envelopes)\n\n const pickleStepIds = gherkinQuery.getPickleStepIds(scenario.steps[0].id)\n assert.strictEqual(pickleStepIds.length, 1)\n\n const testStepResults = cucumberQuery.getPickleStepTestStepResults(pickleStepIds)\n assert.strictEqual(testStepResults.length, 1)\n\n assert.strictEqual(testStepResults[0].status, 'PASSED')\n })\n\n it('looks up results for background steps', async () => {\n const envelopes: messages.Envelope[] = []\n\n await execute(\n `Feature: hello\n Background:\n Given a passed step\n\n Scenario: ok\n Given a passed step\n\n Scenario: ko\n Given a failed step\n`,\n (envelope) => envelopes.push(envelope)\n )\n\n const background = findBackground(envelopes)\n const pickleStepIds = gherkinQuery.getPickleStepIds(background.steps[0].id)\n assert.strictEqual(pickleStepIds.length, 2)\n\n const testStepResults = cucumberQuery.getPickleStepTestStepResults(pickleStepIds)\n\n assert.deepStrictEqual(\n testStepResults.map((r) => r.status),\n ['PASSED', 'PASSED']\n )\n })\n\n it('looks up results for background steps when scenarios are empty', async () => {\n const envelopes: messages.Envelope[] = []\n\n await execute(\n `Feature: hello\n Background:\n Given a passed step\n\n Scenario: ok\n\n Scenario: ok too\n`,\n (envelope) => envelopes.push(envelope)\n )\n\n const background = findBackground(envelopes)\n const pickleStepIds = gherkinQuery.getPickleStepIds(background.steps[0].id)\n assert.strictEqual(pickleStepIds.length, 0)\n\n const testStepResults = cucumberQuery.getPickleStepTestStepResults(pickleStepIds)\n assert.strictEqual(testStepResults.length, 1)\n\n assert.strictEqual(testStepResults[0].status, 'UNKNOWN')\n })\n })\n\n describe('#getPickleTestStepResults(pickleIds)', () => {\n it('looks up results for scenarios', async () => {\n const envelopes: messages.Envelope[] = []\n await execute(\n `Feature: hello\n Scenario: ko\n Given a passed step\n Given a failed step\n`,\n (envelope) => envelopes.push(envelope)\n )\n\n const scenario = findScenario(envelopes)\n const pickleIds = gherkinQuery.getPickleIds('test.feature', scenario.id)\n assert.strictEqual(pickleIds.length, 1)\n\n const testStepResults = cucumberQuery.getPickleTestStepResults(pickleIds)\n\n assert.deepStrictEqual(\n testStepResults.map((r) => r.status),\n ['PASSED', 'FAILED']\n )\n })\n\n it('looks up results for scenario outlines', async () => {\n const envelopes: messages.Envelope[] = []\n await execute(\n `Feature: hello\n Scenario: hi <status1> and <status2>\n Given a <status1> step\n And a <status2> step\n\n Examples:\n | status1 | status2 |\n | passed | passed |\n | passed | failed |\n`,\n (envelope) => envelopes.push(envelope)\n )\n\n const scenario = findScenario(envelopes)\n const pickleIds = gherkinQuery.getPickleIds('test.feature', scenario.id)\n assert.strictEqual(pickleIds.length, 2)\n\n assert.deepStrictEqual(\n cucumberQuery.getPickleTestStepResults(pickleIds).map((r) => r.status),\n ['PASSED', 'PASSED', 'PASSED', 'FAILED']\n )\n })\n\n it('looks up results for examples rows outlines', async () => {\n const envelopes: messages.Envelope[] = []\n\n await execute(\n `Feature: hello\n Scenario: hi <status1> and <status2>\n Given a <status1> step\n And a <status2> step\n\n Examples:\n | status1 | status2 |\n | passed | passed |\n | passed | failed |\n`,\n (envelope) => envelopes.push(envelope)\n )\n\n const scenario = findScenario(envelopes)\n const exampleIds = scenario.examples[0].tableBody.map((row) => row.id)\n\n assert.deepStrictEqual(\n cucumberQuery\n .getPickleTestStepResults(gherkinQuery.getPickleIds('test.feature', exampleIds[0]))\n .map((r) => r.status),\n ['PASSED', 'PASSED']\n )\n\n assert.deepStrictEqual(\n cucumberQuery\n .getPickleTestStepResults(gherkinQuery.getPickleIds('test.feature', exampleIds[1]))\n .map((r) => r.status),\n ['PASSED', 'FAILED']\n )\n })\n })\n\n describe('#getPickleStepAttachments(pickleIds)', () => {\n it('looks up attachments', async () => {\n const envelopes: messages.Envelope[] = []\n await execute(\n `Feature: hello\n Scenario: ok\n Given a passed step with attachment\n `,\n (envelope) => envelopes.push(envelope)\n )\n\n const scenario = findScenario(envelopes)\n const pickleStepIds = gherkinQuery.getPickleStepIds(scenario.steps[0].id)\n assert.strictEqual(pickleStepIds.length, 1)\n\n const attachments = cucumberQuery.getPickleStepAttachments(pickleStepIds)\n assert.strictEqual(attachments.length, 1)\n\n assert.strictEqual(attachments[0].body, 'Hello')\n })\n })\n\n describe('#getStepMatchArguments(uri, lineNumber)', () => {\n it(\"looks up result for step's uri and line\", async () => {\n const envelopes: messages.Envelope[] = []\n await execute(\n `Feature: hello\n Scenario: ok\n Given a passed step\n And I have 567 cukes in my belly\n `,\n (envelope) => envelopes.push(envelope)\n )\n\n const scenario = findScenario(envelopes)\n\n assert.deepStrictEqual(\n cucumberQuery\n .getStepMatchArgumentsLists(gherkinQuery.getPickleStepIds(scenario.steps[0].id)[0])\n .map((sal) => sal.stepMatchArguments.map((arg) => arg.parameterTypeName)),\n [[]]\n )\n\n assert.deepStrictEqual(\n cucumberQuery\n .getStepMatchArgumentsLists(gherkinQuery.getPickleStepIds(scenario.steps[1].id)[0])\n .map((sal) => sal.stepMatchArguments.map((arg) => arg.parameterTypeName)),\n [['int', 'word']]\n )\n })\n\n describe('#getBeforeHookSteps(pickleId: string)', () => {\n it('returns an empty list when there is no hooks', async () => {\n const envelopes: messages.Envelope[] = []\n await execute(\n `Feature: hello\n Scenario: hi\n Given a passed step\n `,\n (envelope) => envelopes.push(envelope)\n )\n const scenarioId = findScenario(envelopes).id\n const pickleId = gherkinQuery.getPickleIds('test.feature', scenarioId)[0]\n\n assert.deepStrictEqual(cucumberQuery.getBeforeHookSteps(pickleId), [])\n })\n\n it('returns one before hook step', async () => {\n const envelopes: messages.Envelope[] = []\n await execute(\n `Feature: hello\n @beforeHook\n Scenario: hi\n Given a passed step\n `,\n (envelope) => envelopes.push(envelope)\n )\n const scenarioId = findScenario(envelopes).id\n const pickleId = gherkinQuery.getPickleIds('test.feature', scenarioId)[0]\n\n assert.strictEqual(cucumberQuery.getBeforeHookSteps(pickleId).length, 1)\n })\n\n it('does not return after hook steps', async () => {\n const envelopes: messages.Envelope[] = []\n await execute(\n `Feature: hello\n @afterHook\n Scenario: hi\n Given a passed step\n `,\n (envelope) => envelopes.push(envelope)\n )\n const scenarioId = findScenario(envelopes).id\n const pickleId = gherkinQuery.getPickleIds('test.feature', scenarioId)[0]\n\n assert.deepStrictEqual(cucumberQuery.getBeforeHookSteps(pickleId), [])\n })\n })\n\n describe('#getAfterHookSteps(pickleId: string)', () => {\n it('returns an empty list when there is no hooks', async () => {\n const envelopes: messages.Envelope[] = []\n await execute(\n `Feature: hello\n Scenario: hi\n Given a passed step\n `,\n (envelope) => envelopes.push(envelope)\n )\n const scenarioId = findScenario(envelopes).id\n const pickleId = gherkinQuery.getPickleIds('test.feature', scenarioId)[0]\n\n assert.deepStrictEqual(cucumberQuery.getAfterHookSteps(pickleId), [])\n })\n\n it('returns one after hook step', async () => {\n const envelopes: messages.Envelope[] = []\n await execute(\n `Feature: hello\n @afterHook\n Scenario: hi\n Given a passed step\n `,\n (envelope) => envelopes.push(envelope)\n )\n const scenarioId = findScenario(envelopes).id\n const pickleId = gherkinQuery.getPickleIds('test.feature', scenarioId)[0]\n\n assert.strictEqual(cucumberQuery.getAfterHookSteps(pickleId).length, 1)\n })\n\n it('does not return before hook steps', async () => {\n const envelopes: messages.Envelope[] = []\n await execute(\n `Feature: hello\n @beforeHook\n Scenario: hi\n Given a passed step\n `,\n (envelope) => envelopes.push(envelope)\n )\n const scenarioId = findScenario(envelopes).id\n const pickleId = gherkinQuery.getPickleIds('test.feature', scenarioId)[0]\n\n assert.deepStrictEqual(cucumberQuery.getAfterHookSteps(pickleId), [])\n })\n })\n\n describe('#getTestStepResult', () => {\n it('returns one test step result', async () => {\n const emittedMessages: Array<messages.Envelope> = []\n await execute(\n `Feature: hello\n Scenario: hi\n Given a passed step\n `,\n (message) => emittedMessages.push(message)\n )\n const testCase = emittedMessages.find((child) => child.testCase).testCase\n const testStep = testCase.testSteps[0]\n const results = cucumberQuery.getTestStepResults(testStep.id)\n\n assert.deepStrictEqual(results.length, 1)\n assert.deepStrictEqual(results[0].status, 'PASSED')\n })\n\n it('returns a result for hook step', async () => {\n const emittedMessages: Array<messages.Envelope> = []\n await execute(\n `Feature: hello\n @beforeHook\n Scenario: hi\n Given a passed step\n `,\n (message) => emittedMessages.push(message)\n )\n const testCase = emittedMessages.find((child) => child.testCase).testCase\n const testStep = testCase.testSteps[0]\n const results = cucumberQuery.getTestStepResults(testStep.id)\n\n assert.deepStrictEqual(results.length, 1)\n assert.deepStrictEqual(results[0].status, 'PASSED')\n })\n\n it('returns the result from the last attempt only where retry has been used', async () => {\n const emittedMessages: Array<messages.Envelope> = []\n await execute(\n `Feature: hello\nScenario: hi\n Given a step that passes the second time\n`,\n (message) => emittedMessages.push(message),\n { allowedRetries: 1 }\n )\n const testCase = emittedMessages.find((child) => child.testCase).testCase\n const testStep = testCase.testSteps[0]\n const results = cucumberQuery.getTestStepResults(testStep.id)\n\n assert.deepStrictEqual(results.length, 1)\n assert.deepStrictEqual(results[0].status, 'PASSED')\n })\n })\n\n describe('#getHook(HookId)', () => {\n it('returns undefined if the id does not match any hook', () => {\n assert.strictEqual(cucumberQuery.getHook('tralala'), undefined)\n })\n\n it('returns the matching hook', () => {\n const hook: messages.Hook = {\n id: 'tralala',\n sourceReference: {},\n }\n const envelope: messages.Envelope = {\n hook,\n }\n\n cucumberQuery.update(envelope)\n\n assert.deepStrictEqual(cucumberQuery.getHook('tralala'), hook)\n })\n })\n\n describe('#getAttachmentByTestStepId', () => {\n it('looks up attachments', async () => {\n const testCases: messages.TestCase[] = []\n await execute(\n `Feature: hello\n Scenario: ok\n Given a passed step with attachment\n `,\n (envelope) => {\n if (envelope.testCase) {\n testCases.push(envelope.testCase)\n }\n }\n )\n\n const attachments = cucumberQuery.getTestStepsAttachments([testCases[0].testSteps[0].id])\n assert.strictEqual(attachments.length, 1)\n\n assert.strictEqual(attachments[0].body, 'Hello')\n })\n\n it('returns attachments from the last attempt only where retry has been used', async () => {\n const testCases: messages.TestCase[] = []\n await execute(\n `Feature: hello\n Scenario: ok\n Given a passed step with attachment\n And a step that passes the second time\n `,\n (envelope) => {\n if (envelope.testCase) {\n testCases.push(envelope.testCase)\n }\n },\n { allowedRetries: 1 }\n )\n\n const attachments = cucumberQuery.getTestStepsAttachments([testCases[0].testSteps[0].id])\n assert.strictEqual(attachments.length, 1)\n\n assert.strictEqual(attachments[0].body, 'Hello')\n })\n })\n\n describe('#getStatusCounts', () => {\n it('returns the number of pickles for each status', async () => {\n await execute(\n `Feature: hello\n Scenario: ok\n Given a passed step\n `,\n () => undefined\n )\n\n await execute(\n `Feature: hello\n Scenario: ok\n Given a passed step\n `,\n () => undefined\n )\n\n await execute(\n `Feature: hello\n Scenario: ok\n Given a failed step\n `,\n () => undefined\n )\n\n await execute(\n `Feature: hello\n Scenario: ok\n Given an undefined step\n `,\n () => undefined\n )\n\n const statuses = cucumberQuery.getStatusCounts(\n gherkinQuery.getPickles().map((pickle) => pickle.id)\n )\n\n const expectedStatuses: Partial<Record<messages.TestStepResultStatus, number>> = {\n PASSED: 2,\n FAILED: 1,\n UNDEFINED: 1,\n }\n assert.deepStrictEqual(statuses, expectedStatuses)\n })\n })\n })\n\n async function execute(\n gherkinSource: string,\n messagesHandler: (envelope: messages.Envelope) => void = () => null,\n runOptions: RunOptions = { allowedRetries: 0 }\n ): Promise<void> {\n const newId = messages.IdGenerator.uuid()\n const clock = new IncrementClock()\n const stopwatch = new IncrementStopwatch()\n const makeErrorMessage = withFullStackTrace()\n const supportCode = new SupportCode(newId, clock, stopwatch, makeErrorMessage)\n supportCode.defineBeforeHook(null, '@beforeHook', () => {\n // no-op\n })\n supportCode.defineAfterHook(null, '@afterHook', () => {\n // no-op\n })\n supportCode.defineStepDefinition(null, 'a passed step', () => {\n // no-op\n })\n supportCode.defineStepDefinition(null, 'a passed step with attachment', function () {\n this.attach('Hello', 'text/plain')\n })\n supportCode.defineStepDefinition(null, 'a failed step', () => {\n throw new Error(`This step failed.`)\n })\n supportCode.defineStepDefinition(null, 'I have {int} cukes in my {word}', (cukes: number) => {\n assert.ok(cukes)\n })\n let passesSecondTime = 0\n supportCode.defineStepDefinition(null, 'a step that passes the second time', () => {\n passesSecondTime++\n if (passesSecondTime < 2) {\n throw new Error(`This step failed.`)\n }\n })\n\n const queryUpdateStream = new Writable({\n objectMode: true,\n write(\n envelope: messages.Envelope,\n encoding: string,\n callback: (error?: Error | null) => void\n ): void {\n try {\n messagesHandler(envelope)\n gherkinQuery.update(envelope)\n cucumberQuery.update(envelope)\n callback()\n } catch (err) {\n callback(err)\n }\n },\n })\n await pipelinePromise(gherkinMessages(gherkinSource, 'test.feature', newId), queryUpdateStream)\n\n const testPlan = makeTestPlan(gherkinQuery, supportCode, runOptions, makeTestCase)\n await testPlan.execute((envelope: messages.Envelope) => {\n messagesHandler(envelope)\n cucumberQuery.update(envelope)\n })\n }\n\n function gherkinMessages(\n gherkinSource: string,\n uri: string,\n newId: messages.IdGenerator.NewId\n ): Readable {\n const source: messages.Envelope = {\n source: {\n uri,\n data: gherkinSource,\n mediaType: messages.SourceMediaType.TEXT_X_CUCUMBER_GHERKIN_PLAIN,\n },\n }\n return GherkinStreams.fromSources([source], { newId })\n }\n\n function findScenario(envelopes: messages.Envelope[]): messages.Scenario {\n const gherkinDocument = envelopes.find((envelope) => envelope.gherkinDocument).gherkinDocument\n return gherkinDocument.feature.children.find((child) => child.scenario).scenario\n }\n\n function findBackground(envelopes: messages.Envelope[]): messages.Background {\n const gherkinDocument = envelopes.find((envelope) => envelope.gherkinDocument).gherkinDocument\n return gherkinDocument.feature.children.find((child) => child.background).background\n }\n})\n"]}
@@ -1 +1 @@
1
- {"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/reflect-metadata/index.d.ts","../node_modules/@cucumber/messages/dist/cjs/src/messages.d.ts","../node_modules/@cucumber/messages/dist/cjs/src/TimeConversion.d.ts","../node_modules/@cucumber/messages/dist/cjs/src/IdGenerator.d.ts","../node_modules/@cucumber/messages/dist/cjs/src/parseEnvelope.d.ts","../node_modules/@cucumber/messages/dist/cjs/src/getWorstTestStepResult.d.ts","../node_modules/@cucumber/messages/dist/cjs/src/version.d.ts","../node_modules/@cucumber/messages/dist/cjs/src/index.d.ts","../node_modules/@teppeis/multimaps/dist/src/multimap.d.ts","../node_modules/@teppeis/multimaps/dist/src/arraymultimap.d.ts","../node_modules/@teppeis/multimaps/dist/src/setmultimap.d.ts","../node_modules/@teppeis/multimaps/dist/src/index.d.ts","../src/Query.ts","../src/index.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@cucumber/gherkin/dist/src/IGherkinOptions.d.ts","../node_modules/@cucumber/gherkin/dist/src/generateMessages.d.ts","../node_modules/@cucumber/gherkin/dist/src/makeSourceEnvelope.d.ts","../node_modules/@cucumber/gherkin/dist/src/Dialect.d.ts","../node_modules/@cucumber/gherkin/dist/src/IToken.d.ts","../node_modules/@cucumber/gherkin/dist/src/ITokenMatcher.d.ts","../node_modules/@cucumber/gherkin/dist/src/GherkinLine.d.ts","../node_modules/@cucumber/gherkin/dist/src/IAstBuilder.d.ts","../node_modules/@cucumber/gherkin/dist/src/Parser.d.ts","../node_modules/@cucumber/gherkin/dist/src/AstNode.d.ts","../node_modules/@cucumber/gherkin/dist/src/AstBuilder.d.ts","../node_modules/@cucumber/gherkin/dist/src/TokenScanner.d.ts","../node_modules/@cucumber/gherkin/dist/src/Errors.d.ts","../node_modules/@cucumber/gherkin/dist/src/pickles/compile.d.ts","../node_modules/@cucumber/gherkin/dist/src/GherkinClassicTokenMatcher.d.ts","../node_modules/@cucumber/gherkin/dist/src/GherkinInMarkdownTokenMatcher.d.ts","../node_modules/@cucumber/gherkin/dist/src/index.d.ts","../node_modules/@cucumber/gherkin-streams/dist/src/GherkinStreams.d.ts","../node_modules/@cucumber/gherkin-streams/dist/src/index.d.ts","../node_modules/@cucumber/gherkin-utils/dist/src/GherkinDocumentHandlers.d.ts","../node_modules/@cucumber/gherkin-utils/dist/src/walkGherkinDocument.d.ts","../node_modules/@cucumber/gherkin-utils/dist/src/pretty.d.ts","../node_modules/@cucumber/gherkin-utils/dist/src/Query.d.ts","../node_modules/@cucumber/gherkin-utils/dist/src/GherkinDocumentWalker.d.ts","../node_modules/@cucumber/gherkin-utils/dist/src/index.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/IClock.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/DateClock.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/IParameterTypeDefinition.d.ts","../node_modules/@cucumber/cucumber-expressions/dist/cjs/src/Group.d.ts","../node_modules/@cucumber/cucumber-expressions/dist/cjs/src/ParameterType.d.ts","../node_modules/@cucumber/cucumber-expressions/dist/cjs/src/Argument.d.ts","../node_modules/@cucumber/cucumber-expressions/dist/cjs/src/Ast.d.ts","../node_modules/@cucumber/cucumber-expressions/dist/cjs/src/types.d.ts","../node_modules/@cucumber/cucumber-expressions/dist/cjs/src/ParameterTypeRegistry.d.ts","../node_modules/@cucumber/cucumber-expressions/dist/cjs/src/CucumberExpression.d.ts","../node_modules/@cucumber/cucumber-expressions/dist/cjs/src/GeneratedExpression.d.ts","../node_modules/@cucumber/cucumber-expressions/dist/cjs/src/CucumberExpressionGenerator.d.ts","../node_modules/@cucumber/cucumber-expressions/dist/cjs/src/ExpressionFactory.d.ts","../node_modules/@cucumber/cucumber-expressions/dist/cjs/src/RegularExpression.d.ts","../node_modules/@cucumber/cucumber-expressions/dist/cjs/src/index.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/ErrorMessageGenerator.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/IStopwatch.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/types.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/SupportCode.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/dsl.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/IncrementClock.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/IncrementStopwatch.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/makeHookTestStep.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/makePickleTestStep.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/TestCase.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/makeTestCase.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/makeTestPlan.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/PerfHooksStopwatch.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/runCucumber.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/TestStep.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/index.d.ts","../test/QueryTest.ts","../package.json","../node_modules/@types/http-cache-semantics/index.d.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/@types/json5/index.d.ts","../node_modules/@types/minimatch/index.d.ts","../node_modules/@types/mocha/index.d.ts","../node_modules/@types/semver/classes/semver.d.ts","../node_modules/@types/semver/functions/parse.d.ts","../node_modules/@types/semver/functions/valid.d.ts","../node_modules/@types/semver/functions/clean.d.ts","../node_modules/@types/semver/functions/inc.d.ts","../node_modules/@types/semver/functions/diff.d.ts","../node_modules/@types/semver/functions/major.d.ts","../node_modules/@types/semver/functions/minor.d.ts","../node_modules/@types/semver/functions/patch.d.ts","../node_modules/@types/semver/functions/prerelease.d.ts","../node_modules/@types/semver/functions/compare.d.ts","../node_modules/@types/semver/functions/rcompare.d.ts","../node_modules/@types/semver/functions/compare-loose.d.ts","../node_modules/@types/semver/functions/compare-build.d.ts","../node_modules/@types/semver/functions/sort.d.ts","../node_modules/@types/semver/functions/rsort.d.ts","../node_modules/@types/semver/functions/gt.d.ts","../node_modules/@types/semver/functions/lt.d.ts","../node_modules/@types/semver/functions/eq.d.ts","../node_modules/@types/semver/functions/neq.d.ts","../node_modules/@types/semver/functions/gte.d.ts","../node_modules/@types/semver/functions/lte.d.ts","../node_modules/@types/semver/functions/cmp.d.ts","../node_modules/@types/semver/functions/coerce.d.ts","../node_modules/@types/semver/classes/comparator.d.ts","../node_modules/@types/semver/classes/range.d.ts","../node_modules/@types/semver/functions/satisfies.d.ts","../node_modules/@types/semver/ranges/max-satisfying.d.ts","../node_modules/@types/semver/ranges/min-satisfying.d.ts","../node_modules/@types/semver/ranges/to-comparators.d.ts","../node_modules/@types/semver/ranges/min-version.d.ts","../node_modules/@types/semver/ranges/valid.d.ts","../node_modules/@types/semver/ranges/outside.d.ts","../node_modules/@types/semver/ranges/gtr.d.ts","../node_modules/@types/semver/ranges/ltr.d.ts","../node_modules/@types/semver/ranges/intersects.d.ts","../node_modules/@types/semver/ranges/simplify.d.ts","../node_modules/@types/semver/ranges/subset.d.ts","../node_modules/@types/semver/internals/identifiers.d.ts","../node_modules/@types/semver/index.d.ts","../node_modules/@types/stack-utils/index.d.ts","../node_modules/@types/uuid/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"3aafcb693fe5b5c3bd277bd4c3a617b53db474fe498fc5df067c5603b1eebde7","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},{"version":"8d6d51a5118d000ed3bfe6e1dd1335bebfff3fef23cd2af2f84a24d30f90cc90","affectsGlobalScope":true},"354fa517f8f084a56542f4970712e38401ef901412a51eb69ee411c97da99be9","6ddbc2932b0589f42bce0b5d5b9b6bde481f77464e4338b9f2476ac0edd0cc9c","67c50537d02e09de9593718e820326dcc559b93fd910d976a65b0a8edc1b400a","56a054b7b6b98b76c726cbafd594673be1332b9fc825120169b2f04916e06946","82ab8fbb40176f1d49710ed22138ea43a99e03bc5afe3cc59b2b11e9a8becb00","b7acbf6eb0fecc493b3f70c7386bf2e747084b30acb7bd61c32ccd727cf406ec","2d6454ef77d6a082e376264ef91be7e55c5abc61f96bc4bec6566bd41f1e2ed5","fe47c64a7b50057df1e1a8458112c50a8e0d3c71aa53a674f5525b79b1c4935a","067761598e4089e1565c143232cd6a0856a53fa58262978f9b24eeee1333803a","2b08e378f5efa61f4a68824ed6155a47a7012b4831194d81beb92b52eccb4e91","3258a3a7dd1518d1774e7935017c025c79e69034fa36c02f87ca76ad8e4a6738",{"version":"4c363da6b5533965355b83e50014a10d515236633b8375d3e3c22815ffbe16b3","signature":"e20c82cf189a11e062131fd5ec46995457402aa6229ccd303ee718dcb706b1f1"},{"version":"8962320fea9610be9f7956d183ab7194a931a07575dc6f085dab39f0a79e138d","signature":"fa6aca74a7a0cc13968913a7dea29844037d708ffa859cf97164bfe990a8ef9d"},"7e771891adaa85b690266bc37bd6eb43bc57eecc4b54693ead36467e7369952a","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"ca72190df0eb9b09d4b600821c8c7b6c9747b75a1c700c4d57dc0bb72abc074c","affectsGlobalScope":true},"21a167fec8f933752fb8157f06d28fab6817af3ad9b0bdb1908a10762391eab9",{"version":"bb65c6267c5d6676be61acbf6604cf0a4555ac4b505df58ac15c831fcbff4e3e","affectsGlobalScope":true},"0c0cee62cb619aed81133b904f644515ba3064487002a7da83fd8aa07b1b4abd","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","afcc1c426b76db7ec80e563d4fb0ba9e6bcc6e63c2d7e9342e649dc56d26347f","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","75ecef44f126e2ae018b4abbd85b6e8a2e2ba1638ebec56cc64274643ce3567b","f30bb836526d930a74593f7b0f5c1c46d10856415a8f69e5e2fc3db80371e362","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"816ad2e607a96de5bcac7d437f843f5afd8957f1fa5eefa6bba8e4ed7ca8fd84","affectsGlobalScope":true},"cec36af22f514322f870e81d30675c78df82ae8bf4863f5fd4e4424c040c678d","d903fafe96674bc0b2ac38a5be4a8fc07b14c2548d1cdb165a80ea24c44c0c54","b01a80007e448d035a16c74b5c95a5405b2e81b12fabcf18b75aa9eb9ef28990","04eb6578a588d6a46f50299b55f30e3a04ef27d0c5a46c57d8fcc211cd530faa","dbe5aa5a5dd8bd1c6a8d11b1310c3f0cdabaacc78a37b394a8c7b14faeb5fb84","2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"d076fede3cb042e7b13fc29442aaa03a57806bc51e2b26a67a01fbc66a7c0c12","7c013aa892414a7fdcfd861ae524a668eaa3ede8c7c0acafaf611948122c8d93","b0973c3cbcdc59b37bf477731d468696ecaf442593ec51bab497a613a580fe30",{"version":"4989e92ba5b69b182d2caaea6295af52b7dc73a4f7a2e336a676722884e7139d","affectsGlobalScope":true},{"version":"b3624aed92dab6da8484280d3cb3e2f4130ec3f4ef3f8201c95144ae9e898bb6","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","210d54cd652ec0fec8c8916e4af59bb341065576ecda039842f9ffb2e908507c","36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","fd93cee2621ff42dabe57b7be402783fd1aa69ece755bcba1e0290547ae60513","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","69ee23dd0d215b09907ad30d23f88b7790c93329d1faf31d7835552a10cf7cbf","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","213fc4f2b172d8beb74b77d7c1b41488d67348066d185e4263470cbb010cd6e8",{"version":"970a90f76d4d219ad60819d61f5994514087ba94c985647a3474a5a3d12714ed","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","4c8525f256873c7ba3135338c647eaf0ca7115a1a2805ae2d0056629461186ce","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"f0900cd5d00fe1263ff41201fb8073dbeb984397e4af3b8002a5c207a30bdc33","affectsGlobalScope":true},{"version":"f7db71191aa7aac5d6bc927ed6e7075c2763d22c7238227ec0c63c8cf5cb6a8b","affectsGlobalScope":true},"06d7c42d256f0ce6afe1b2b6cfbc97ab391f29dadb00dd0ae8e8f23f5bc916c3","ec4bd1b200670fb567920db572d6701ed42a9641d09c4ff6869768c8f81b404c","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa",{"version":"da26af7362f53d122283bc69fed862b9a9fe27e01bc6a69d1d682e0e5a4df3e6","affectsGlobalScope":true},"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"e9a8d4274033cb520ee12d6f68d161ba2b9128b87399645d3916b71187032836","c9a4a8a6bff3f164fc325957aa398aa6c4b57dd291926c08aa8280645b00df2e","90e626c34ab0930c3a45453840ca35d67f773d73861383ebfccd5ff3d578b7a5","517447d316fd1ec26c533e5e540a31a8a6e67b8aa3d7cee032136b271131c868","0cefa4bcb02f3b2101964da2dbd800acc10088a6104f353ab273f2a2b3a239df","8e66a8e89b8c868d0ad17eaa9c8aa086024c2b7860cfcd96e9ab791aa7830f38","99eeb7bb46314243f550cd5a5c037ea8e3931ddc66d4cff3bfd7bb1842cde3c7","e4796f08c58ef2069ee88dfe559a525fd6e37fbed3b2e81584a8cda9532f6625","fb7d4013654894d03ce2ca7feb4776abf06fe1962934298a22086c57c5577c83","a71486a0faff3a4284bff9f138bfba9bd20bdc0682bb33d641754571a68b66d3","2537b7081870c1bec492741dc5c318f3f0819fb13db45fc5a3b5097bd9c41d2d","ba3afb0577c1727dab52fec64423864e0848a3e17c5a5b4ac2a1ad03248a3b48","0f78a7cb7df854fc960c1bdbe324e1b33bf08ffd0188efe64bc83084d72261ce","92b93fcb5ced2acdcbbab9c24859064701ff673348de4040a92786fda2821176","2b6c774904c3c900c6e5e025ceb9b7ae06d256a4e4fc268fa72e20364fe0dbba","85c268f323d87fa0aed1f876424e6476e60de8c2a4b06e244f7df2a0984fd741","c543dabf9d5f04b7e12fa4e98744353c364dca5eeb06a0289d452b57b0d8cf57","b6488ffca994d56f2cb59301719feb8e82b8c7e7b3d625b8d969c12ea8b8fd8b","55772b96d656841a054b20ee089f75e45dd8c9e786f6eeb9c6479446e7862c64","34b9e93e48ba82576f73ea6bc92af4160a43a215db337ed26b24c2119769fc61","2e7685a73f2aa6f58762911f0126b763a400cb4a87c76fd3b92cc81dabd1ce11","f2f49f5a91f31e2badd42d6217425dbf612873134f4a9594dd511ee5f081107c","ee6dd5fd9a15180d62ce38438835d404255e821c06f26b68e0441d4750edb88c","1b7a793d08d6f35bc07a409255c67c684e4704d21607ecfec8a5e53f0b0ed6bd","5a473fb6b7e3af6fe99413d758c4af1345986bec1ad3412d7da10770234a6d3f","66042dcb46ccc8d4caf1a1d713365992d28335b66e62c07913db44e296e67502","f126064def09b99db3f98e372dc65513d07560aa9f1db51ae88a110b3b82fb03","f7d7b5af702baeaab3038b7998c138f5e7ec788ba86a625c85b0be38639187bb","214a7feea920f5cfb93f5304670e93fae2fc67c162bec30c93c1675752421d26","03049186d9fe1793c00903a3e3131b93612751edae45a122e5a73f9833854e5a","8ad9e036f3110e6a623544d50bcb4181b60bb876fbc0b6ef27884545f08ca19d","e3865de4d6f03d2cb6a27aa9d28017ab0bffd7cb85ee6f3be4bbe353d56453d5","027a73f7abfdf881507b79d536911a7b7b29775d5d30cbab3c2ef6c0e4b3225a","5d534201387d167374907f3d762457c3a80ed4c0787be918d8a3349592995b9a","4e10daa4f9826b098ee5c1dc61b9a3b7bb2a64684be3a004203dd0469bdb44bc","8a6c5cd687abea3b278268af3b8f376c5b281753a80052171485a9d13fc3f801","9bf4e65a7b59f311e61f8e44c212b5258379f5eaea2dcf60bb63cdb9cf4ff741","e4673794f4e11f0fea6cf8dcc19efd41892529a4c1b9ece20839aa28ab6657c6","6c6b88d8f12b49741527dcb4b627c11757c0012bb08a8774d9904dddfce06d35","1b389ed38fa39dc5b4d1a6a40a89edfa1d7e9e82410eab59a633af328425ad22","c1824548db78ad963c1aa7b12782126c32f438edaac138aa630d17d14008edc5","e93b30301f16000903e0c485061eba87b06f96e41bc6940ba7f5feb338cb32b2","55b281dd7c3d61578496ff6cb200c4763390e8a542cc4c9e56ec844a78ca1cda","4adf0345df771213589177385d2c1b5c78ff7bf430c49f0303a8f11905649c83","a5f645adc9047722e2376580fb8458972a74e1c20dde8006fac88e4a801a2008","7513356cdd8d69ab48c0a10751b9da56d1059dc4c15ab5df6b148bcfeda6d076","599fb1f6ec8c7e34c8bc81db6579d53d469161d80f622db63ec4fe3daf78a592","c9ff8c200cb313759cd770f426112263a3a91505bbf2f5e067f785cc67ff0901","2fd80ec552af6f0ce9ec7b96f365a155a89e1378c58d35acec1ab1c4121f1684","fb3d966485c4e2278bc2e1df036e36b2b0fdf84b233e6d1c3b842447a4da251e","af8a700f84baeb29d45367d42cc451ccad4c6eceeea99cd62e01bf56deba8cb1","202cdeef6d526ec8193662e87ddf6a3e763c57ef2735e83db54a6c07cce296f1","4b2f1e8c7c0c066cff040827c64be8f8a6495934c5b52174142ce6099c25e046","8a79b02d72006703684d4ee6ec5c368d917cfe5feccc394de4dfee6db25ebfb0","13bf8415c4cf6f83be8f7a612560cf171d3b5917bf12eeabbdb5a21e1663b233","cae87f9263b813a6d1f61a9ef510a2e8e1ba1d2ec25f154c00ba89b4939f8ae3","60bfe63d62df4206e960f042228cd5eb8cc6db56ebd39a2f5420faa1143079b1",{"version":"9074e8972f0d56cebc41a26f1892f80499b52b91f29bd935c78ee23bbcdd1920","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"1108d99804c442adb407d2a38fad1633d6ad0bab70157d13c3d4cdeb6f280cd7","cab425b5559edac18327eb2c3c0f47e7e9f71b667290b7689faafd28aac69eae","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649",{"version":"486521d4e8acd463ea1cff8dd48b2b1167fb6cb913ca2db97ec88691a85ecb1f","affectsGlobalScope":true},"2b93035328f7778d200252681c1d86285d501ed424825a18f81e4c3028aa51d9","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","77c1d91a129ba60b8c405f9f539e42df834afb174fe0785f89d92a2c7c16b77a","7a9e0a564fee396cacf706523b5aeed96e04c6b871a8bebefad78499fbffc5bc","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","71405cc70f183d029cc5018375f6c35117ffdaf11846c35ebf85ee3956b1b2a6","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","c649ea79205c029a02272ef55b7ab14ada0903db26144d2205021f24727ac7a3","38e2b02897c6357bbcff729ef84c736727b45cc152abe95a7567caccdfad2a1d","d6610ea7e0b1a7686dba062a1e5544dd7d34140f4545305b7c6afaebfb348341","3dee35db743bdba2c8d19aece7ac049bde6fa587e195d86547c882784e6ba34c","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","843dd7b6a7c6269fd43827303f5cbe65c1fecabc30b4670a50d5a15d57daeeb9","f06d8b8567ee9fd799bf7f806efe93b67683ef24f4dea5b23ef12edff4434d9d","6017384f697ff38bc3ef6a546df5b230c3c31329db84cbfe686c83bec011e2b2","e1a5b30d9248549ca0c0bb1d653bafae20c64c4aa5928cc4cd3017b55c2177b0","a593632d5878f17295bd53e1c77f27bf4c15212822f764a2bfc1702f4b413fa0","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","da7545aba8f54a50fde23e2ede00158dc8112560d934cee58098dfb03aae9b9d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","6aee496bf0ecfbf6731aa8cca32f4b6e92cdc0a444911a7d88410408a45ecc5d","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","fab58e600970e66547644a44bc9918e3223aa2cbd9e8763cec004b2cfb48827e"],"options":{"composite":true,"declaration":true,"declarationMap":true,"downlevelIteration":true,"esModuleInterop":true,"experimentalDecorators":true,"inlineSources":true,"jsx":2,"module":1,"noImplicitAny":true,"outDir":"./","rootDir":"..","skipLibCheck":true,"sourceMap":true,"strictNullChecks":false,"target":2},"fileIdsList":[[103,139,140],[103],[103,141,142,143,144],[103,140,146],[103,143,144],[103,140,143],[103,141,143,144],[103,139,140,141,142,143,144,145,146,147,148,149],[103,140,141],[103,136],[103,152],[50,103,136,138,150,151,152,153],[50,103,136,153],[50,103,136,151,152,153],[103,138,153,154],[103,136,137,151,152,153,154,155,156,157,158,159,161,162,163,164,165],[50,103,135,136,151,152,153],[50,103,135,136,151,152,153,160],[103,135,153,154],[91,103,110,135,153,154],[50,91,103,110,135,136,151,152],[50,91,103,110,127],[103,128],[50,103],[103,130,131,132,133,134],[50,103,130],[50,103,115,118,119,120],[103,115,119],[50,103,115,116,119],[50,103,116,119],[103,115],[50,103,115],[50,103,115,116,117,118],[50,103,111],[103,111,112,113,114,119,121,122,123,124,125,126],[44,103],[44,45,46,47,48,49,103],[43,103],[51,103],[52,53,103],[57,103],[60,103],[61,66,94,103],[62,73,74,81,91,102,103],[62,63,73,81,103],[64,103],[65,66,74,82,103],[66,91,99,103],[67,69,73,81,103],[68,103],[69,70,103],[73,103],[71,73,103],[73,74,75,91,102,103],[73,74,75,88,91,94,103],[103,107],[76,81,91,102,103],[73,74,76,77,81,91,99,102,103],[76,78,91,99,102,103],[57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109],[73,79,103],[80,102,103],[69,73,81,91,103],[82,103],[83,103],[60,84,103],[85,101,103,107],[86,103],[87,103],[73,88,89,103],[88,90,103,105],[61,73,91,92,93,94,103],[61,91,93,103],[91,92,103],[94,103],[95,103],[73,97,98,103],[97,98,103],[66,81,91,99,103],[100,103],[81,101,103],[61,76,87,102,103],[66,103],[91,103,104],[103,105],[103,106],[61,66,73,75,84,91,102,103,105,107],[91,103,108],[103,174,213],[103,174,198,213],[103,213],[103,174],[103,174,199,213],[103,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212],[103,199,213],[50,54,103],[55,103],[50,55,57,91,103,129,135,166],[50],[55]],"referencedMap":[[141,1],[142,2],[145,3],[147,4],[148,5],[146,6],[139,2],[140,2],[144,6],[149,7],[150,8],[143,9],[137,10],[151,2],[136,2],[138,2],[152,2],[156,10],[157,11],[163,11],[154,12],[160,13],[165,14],[155,15],[166,16],[158,17],[159,14],[161,18],[162,19],[164,20],[153,21],[128,22],[129,23],[130,24],[134,24],[133,24],[135,25],[132,24],[131,26],[121,27],[120,28],[114,2],[123,24],[125,29],[126,30],[117,31],[118,32],[111,24],[115,24],[116,32],[119,33],[122,32],[112,34],[127,35],[113,24],[124,24],[46,2],[45,36],[48,36],[50,37],[44,38],[47,36],[49,2],[52,39],[54,40],[51,2],[53,39],[169,2],[170,2],[171,2],[172,2],[173,2],[57,41],[58,41],[60,42],[61,43],[62,44],[63,45],[64,46],[65,47],[66,48],[67,49],[68,50],[69,51],[70,51],[72,52],[71,53],[73,52],[74,54],[75,55],[59,56],[109,2],[76,57],[77,58],[78,59],[110,60],[79,61],[80,62],[81,63],[82,64],[83,65],[84,66],[85,67],[86,68],[87,69],[88,70],[89,70],[90,71],[91,72],[93,73],[92,74],[94,75],[95,76],[96,2],[97,77],[98,78],[99,79],[100,80],[101,81],[102,82],[103,83],[104,84],[105,85],[106,86],[107,87],[108,88],[198,89],[199,90],[174,91],[177,91],[196,89],[197,89],[187,89],[186,92],[184,89],[179,89],[192,89],[190,89],[194,89],[178,89],[191,89],[195,89],[180,89],[181,89],[193,89],[175,89],[182,89],[183,89],[185,89],[189,89],[200,93],[188,89],[176,89],[213,94],[212,2],[207,93],[209,95],[208,93],[201,93],[202,93],[204,93],[206,93],[210,95],[211,95],[203,95],[205,95],[214,2],[215,2],[43,2],[8,2],[10,2],[9,2],[2,2],[11,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[3,2],[4,2],[22,2],[19,2],[20,2],[21,2],[23,2],[24,2],[25,2],[5,2],[26,2],[27,2],[28,2],[29,2],[6,2],[33,2],[30,2],[31,2],[32,2],[34,2],[7,2],[35,2],[40,2],[41,2],[36,2],[37,2],[38,2],[39,2],[1,2],[42,2],[168,2],[55,96],[56,97],[167,98]],"exportedModulesMap":[[141,1],[142,2],[145,3],[147,4],[148,5],[146,6],[139,2],[140,2],[144,6],[149,7],[150,8],[143,9],[137,10],[151,2],[136,2],[138,2],[152,2],[156,10],[157,11],[163,11],[154,12],[160,13],[165,14],[155,15],[166,16],[158,17],[159,14],[161,18],[162,19],[164,20],[153,21],[128,22],[129,23],[130,24],[134,24],[133,24],[135,25],[132,24],[131,26],[121,27],[120,28],[114,2],[123,24],[125,29],[126,30],[117,31],[118,32],[111,24],[115,24],[116,32],[119,33],[122,32],[112,34],[127,35],[113,24],[124,24],[46,2],[45,36],[48,36],[50,37],[44,38],[47,36],[49,2],[52,39],[54,40],[51,2],[53,39],[169,2],[170,2],[171,2],[172,2],[173,2],[57,41],[58,41],[60,42],[61,43],[62,44],[63,45],[64,46],[65,47],[66,48],[67,49],[68,50],[69,51],[70,51],[72,52],[71,53],[73,52],[74,54],[75,55],[59,56],[109,2],[76,57],[77,58],[78,59],[110,60],[79,61],[80,62],[81,63],[82,64],[83,65],[84,66],[85,67],[86,68],[87,69],[88,70],[89,70],[90,71],[91,72],[93,73],[92,74],[94,75],[95,76],[96,2],[97,77],[98,78],[99,79],[100,80],[101,81],[102,82],[103,83],[104,84],[105,85],[106,86],[107,87],[108,88],[198,89],[199,90],[174,91],[177,91],[196,89],[197,89],[187,89],[186,92],[184,89],[179,89],[192,89],[190,89],[194,89],[178,89],[191,89],[195,89],[180,89],[181,89],[193,89],[175,89],[182,89],[183,89],[185,89],[189,89],[200,93],[188,89],[176,89],[213,94],[212,2],[207,93],[209,95],[208,93],[201,93],[202,93],[204,93],[206,93],[210,95],[211,95],[203,95],[205,95],[214,2],[215,2],[43,2],[8,2],[10,2],[9,2],[2,2],[11,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[3,2],[4,2],[22,2],[19,2],[20,2],[21,2],[23,2],[24,2],[25,2],[5,2],[26,2],[27,2],[28,2],[29,2],[6,2],[33,2],[30,2],[31,2],[32,2],[34,2],[7,2],[35,2],[40,2],[41,2],[36,2],[37,2],[38,2],[39,2],[1,2],[42,2],[168,2],[55,99],[56,100]],"semanticDiagnosticsPerFile":[141,142,145,147,148,146,139,140,144,149,150,143,137,151,136,138,152,156,157,163,154,160,165,155,166,158,159,161,162,164,153,128,129,130,134,133,135,132,131,121,120,114,123,125,126,117,118,111,115,116,119,122,112,127,113,124,46,45,48,50,44,47,49,52,54,51,53,169,170,171,172,173,57,58,60,61,62,63,64,65,66,67,68,69,70,72,71,73,74,75,59,109,76,77,78,110,79,80,81,82,83,84,85,86,87,88,89,90,91,93,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,198,199,174,177,196,197,187,186,184,179,192,190,194,178,191,195,180,181,193,175,182,183,185,189,200,188,176,213,212,207,209,208,201,202,204,206,210,211,203,205,214,215,43,8,10,9,2,11,12,13,14,15,16,17,18,3,4,22,19,20,21,23,24,25,5,26,27,28,29,6,33,30,31,32,34,7,35,40,41,36,37,38,39,1,42,168,55,56,167],"latestChangedDtsFile":"./test/QueryTest.d.ts"},"version":"4.9.3"}
1
+ {"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/reflect-metadata/index.d.ts","../node_modules/@cucumber/messages/dist/cjs/src/messages.d.ts","../node_modules/@cucumber/messages/dist/cjs/src/TimeConversion.d.ts","../node_modules/@cucumber/messages/dist/cjs/src/IdGenerator.d.ts","../node_modules/@cucumber/messages/dist/cjs/src/parseEnvelope.d.ts","../node_modules/@cucumber/messages/dist/cjs/src/getWorstTestStepResult.d.ts","../node_modules/@cucumber/messages/dist/cjs/src/version.d.ts","../node_modules/@cucumber/messages/dist/cjs/src/index.d.ts","../node_modules/@teppeis/multimaps/dist/cjs/multimap.d.ts","../node_modules/@teppeis/multimaps/dist/cjs/arraymultimap.d.ts","../node_modules/@teppeis/multimaps/dist/cjs/setmultimap.d.ts","../node_modules/@teppeis/multimaps/dist/cjs/index.d.ts","../src/Query.ts","../src/index.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@cucumber/gherkin/dist/src/IGherkinOptions.d.ts","../node_modules/@cucumber/gherkin/dist/src/generateMessages.d.ts","../node_modules/@cucumber/gherkin/dist/src/makeSourceEnvelope.d.ts","../node_modules/@cucumber/gherkin/dist/src/Dialect.d.ts","../node_modules/@cucumber/gherkin/dist/src/IToken.d.ts","../node_modules/@cucumber/gherkin/dist/src/ITokenMatcher.d.ts","../node_modules/@cucumber/gherkin/dist/src/GherkinLine.d.ts","../node_modules/@cucumber/gherkin/dist/src/IAstBuilder.d.ts","../node_modules/@cucumber/gherkin/dist/src/Parser.d.ts","../node_modules/@cucumber/gherkin/dist/src/AstNode.d.ts","../node_modules/@cucumber/gherkin/dist/src/AstBuilder.d.ts","../node_modules/@cucumber/gherkin/dist/src/TokenScanner.d.ts","../node_modules/@cucumber/gherkin/dist/src/Errors.d.ts","../node_modules/@cucumber/gherkin/dist/src/pickles/compile.d.ts","../node_modules/@cucumber/gherkin/dist/src/GherkinClassicTokenMatcher.d.ts","../node_modules/@cucumber/gherkin/dist/src/GherkinInMarkdownTokenMatcher.d.ts","../node_modules/@cucumber/gherkin/dist/src/index.d.ts","../node_modules/@cucumber/gherkin-streams/dist/src/GherkinStreams.d.ts","../node_modules/@cucumber/gherkin-streams/dist/src/index.d.ts","../node_modules/@cucumber/gherkin-utils/node_modules/@cucumber/messages/dist/cjs/src/messages.d.ts","../node_modules/@cucumber/gherkin-utils/node_modules/@cucumber/messages/dist/cjs/src/TimeConversion.d.ts","../node_modules/@cucumber/gherkin-utils/node_modules/@cucumber/messages/dist/cjs/src/IdGenerator.d.ts","../node_modules/@cucumber/gherkin-utils/node_modules/@cucumber/messages/dist/cjs/src/parseEnvelope.d.ts","../node_modules/@cucumber/gherkin-utils/node_modules/@cucumber/messages/dist/cjs/src/getWorstTestStepResult.d.ts","../node_modules/@cucumber/gherkin-utils/node_modules/@cucumber/messages/dist/cjs/src/version.d.ts","../node_modules/@cucumber/gherkin-utils/node_modules/@cucumber/messages/dist/cjs/src/index.d.ts","../node_modules/@cucumber/gherkin-utils/dist/src/GherkinDocumentHandlers.d.ts","../node_modules/@cucumber/gherkin-utils/dist/src/walkGherkinDocument.d.ts","../node_modules/@cucumber/gherkin-utils/dist/src/pretty.d.ts","../node_modules/@cucumber/gherkin-utils/dist/src/Query.d.ts","../node_modules/@cucumber/gherkin-utils/dist/src/GherkinDocumentWalker.d.ts","../node_modules/@cucumber/gherkin-utils/dist/src/index.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/IClock.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/DateClock.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/IParameterTypeDefinition.d.ts","../node_modules/@cucumber/cucumber-expressions/dist/cjs/src/Group.d.ts","../node_modules/@cucumber/cucumber-expressions/dist/cjs/src/ParameterType.d.ts","../node_modules/@cucumber/cucumber-expressions/dist/cjs/src/Argument.d.ts","../node_modules/@cucumber/cucumber-expressions/dist/cjs/src/Ast.d.ts","../node_modules/@cucumber/cucumber-expressions/dist/cjs/src/types.d.ts","../node_modules/@cucumber/cucumber-expressions/dist/cjs/src/ParameterTypeRegistry.d.ts","../node_modules/@cucumber/cucumber-expressions/dist/cjs/src/CucumberExpression.d.ts","../node_modules/@cucumber/cucumber-expressions/dist/cjs/src/GeneratedExpression.d.ts","../node_modules/@cucumber/cucumber-expressions/dist/cjs/src/CucumberExpressionGenerator.d.ts","../node_modules/@cucumber/cucumber-expressions/dist/cjs/src/ExpressionFactory.d.ts","../node_modules/@cucumber/cucumber-expressions/dist/cjs/src/RegularExpression.d.ts","../node_modules/@cucumber/cucumber-expressions/dist/cjs/src/index.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/ErrorMessageGenerator.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/IStopwatch.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/types.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/SupportCode.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/dsl.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/IncrementClock.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/IncrementStopwatch.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/makeHookTestStep.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/makePickleTestStep.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/TestCase.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/makeTestCase.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/makeTestPlan.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/PerfHooksStopwatch.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/runCucumber.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/TestStep.d.ts","../node_modules/@cucumber/fake-cucumber/dist/src/index.d.ts","../test/QueryTest.ts","../package.json","../node_modules/@types/http-cache-semantics/index.d.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/@types/json5/index.d.ts","../node_modules/@types/mocha/index.d.ts","../node_modules/@types/semver/classes/semver.d.ts","../node_modules/@types/semver/functions/parse.d.ts","../node_modules/@types/semver/functions/valid.d.ts","../node_modules/@types/semver/functions/clean.d.ts","../node_modules/@types/semver/functions/inc.d.ts","../node_modules/@types/semver/functions/diff.d.ts","../node_modules/@types/semver/functions/major.d.ts","../node_modules/@types/semver/functions/minor.d.ts","../node_modules/@types/semver/functions/patch.d.ts","../node_modules/@types/semver/functions/prerelease.d.ts","../node_modules/@types/semver/functions/compare.d.ts","../node_modules/@types/semver/functions/rcompare.d.ts","../node_modules/@types/semver/functions/compare-loose.d.ts","../node_modules/@types/semver/functions/compare-build.d.ts","../node_modules/@types/semver/functions/sort.d.ts","../node_modules/@types/semver/functions/rsort.d.ts","../node_modules/@types/semver/functions/gt.d.ts","../node_modules/@types/semver/functions/lt.d.ts","../node_modules/@types/semver/functions/eq.d.ts","../node_modules/@types/semver/functions/neq.d.ts","../node_modules/@types/semver/functions/gte.d.ts","../node_modules/@types/semver/functions/lte.d.ts","../node_modules/@types/semver/functions/cmp.d.ts","../node_modules/@types/semver/functions/coerce.d.ts","../node_modules/@types/semver/classes/comparator.d.ts","../node_modules/@types/semver/classes/range.d.ts","../node_modules/@types/semver/functions/satisfies.d.ts","../node_modules/@types/semver/ranges/max-satisfying.d.ts","../node_modules/@types/semver/ranges/min-satisfying.d.ts","../node_modules/@types/semver/ranges/to-comparators.d.ts","../node_modules/@types/semver/ranges/min-version.d.ts","../node_modules/@types/semver/ranges/valid.d.ts","../node_modules/@types/semver/ranges/outside.d.ts","../node_modules/@types/semver/ranges/gtr.d.ts","../node_modules/@types/semver/ranges/ltr.d.ts","../node_modules/@types/semver/ranges/intersects.d.ts","../node_modules/@types/semver/ranges/simplify.d.ts","../node_modules/@types/semver/ranges/subset.d.ts","../node_modules/@types/semver/internals/identifiers.d.ts","../node_modules/@types/semver/index.d.ts","../node_modules/@types/semver-utils/index.d.ts","../node_modules/@types/stack-utils/index.d.ts","../node_modules/@types/uuid/index.d.ts"],"fileInfos":[{"version":"824cb491a40f7e8fdeb56f1df5edf91b23f3e3ee6b4cde84d4a99be32338faee","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4",{"version":"87d693a4920d794a73384b3c779cadcb8548ac6945aa7a925832fe2418c9527a","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"b20fe0eca9a4e405f1a5ae24a2b3290b37cf7f21eba6cbe4fc3fab979237d4f3","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"8073890e29d2f46fdbc19b8d6d2eb9ea58db9a2052f8640af20baff9afbc8640","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"8d6d51a5118d000ed3bfe6e1dd1335bebfff3fef23cd2af2f84a24d30f90cc90","affectsGlobalScope":true},"acca49da0cd4bf398a4f43646730b7297e3300489a4319f495c147c7a9c762a4","d9f4ec5156491a24eee340452d7e87e432512d5ebde23fe18c2ceb5a31c1720b","44716259b743dacde932f7f1922ac85f533af74e3ed82a078ba505414f6f6b53","653dc417862cf079d590653212a8d48ace7c89ff7b73c239791099afc25dca96","497efde09001124a1bfab8ea16409b6908fe8a49ae8d5d69082910838150fbfd","b2aacf65ef32f396be9f146a21152a6ed4410e59981270271d53e5620f8ffd63","5ed925f9d0dfcb0fde32518c7ae42f88461fd8eabb015a35183fac5ce95bbc6c","fe47c64a7b50057df1e1a8458112c50a8e0d3c71aa53a674f5525b79b1c4935a","a452e0a97df99e857b9da0f2857724f603e08e65f631a45738822536772f360f","55cb5f9fdd66fdc372a2c866a0eaa2d7e521bc14afb191eb8186acb8cc5612b5","14cb3da610d378546b6898621c586c27d7ed5b5a8af9f1c72d831275012b4fc5",{"version":"4c363da6b5533965355b83e50014a10d515236633b8375d3e3c22815ffbe16b3","signature":"e20c82cf189a11e062131fd5ec46995457402aa6229ccd303ee718dcb706b1f1"},{"version":"8962320fea9610be9f7956d183ab7194a931a07575dc6f085dab39f0a79e138d","signature":"fa6aca74a7a0cc13968913a7dea29844037d708ffa859cf97164bfe990a8ef9d"},"efc7d584a33fe3422847783d228f315c4cd1afe74bd7cf8e3f0e4c1125129fef","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"a14ed46fa3f5ffc7a8336b497cd07b45c2084213aaca933a22443fcb2eef0d07","affectsGlobalScope":true},"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c",{"version":"7fd7fcbf021a5845bdd9397d4649fcf2fe17152d2098140fc723099a215d19ad","affectsGlobalScope":true},"df3389f71a71a38bc931aaf1ef97a65fada98f0a27f19dd12f8b8de2b0f4e461","7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba",{"version":"41fb2a1c108fbf46609ce5a451b7ec78eb9b5ada95fd5b94643e4b26397de0b3","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb",{"version":"8b809082dfeffc8cc4f3b9c59f55c0ff52ba12f5ae0766cb5c35deee83b8552e","affectsGlobalScope":true},"bd3f5d05b6b5e4bfcea7739a45f3ffb4a7f4a3442ba7baf93e0200799285b8f1","4c775c2fccabf49483c03cd5e3673f87c1ffb6079d98e7b81089c3def79e29c6","d4f9d3ae2fe1ae199e1c832cca2c44f45e0b305dfa2808afdd51249b6f4a5163","7525257b4aa35efc7a1bbc00f205a9a96c4e4ab791da90db41b77938c4e0c18e","b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e",{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true},{"version":"674168aa3db414ea0a19b2a31d901b2d49705c7a495e43ffdc96928543010f8c","affectsGlobalScope":true},"fe1fd6afdfe77976d4c702f3746c05fb05a7e566845c890e0e970fe9376d6a90","313a0b063f5188037db113509de1b934a0e286f14e9479af24fada241435e707","afb1701fd4be413a8a5a88df6befdd4510c30a31372c07a4138facf61594c66d","87ef1a23caa071b07157c72077fa42b86d30568f9dc9e31eed24d5d14fc30ba8","396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","21773f5ac69ddf5a05636ba1f50b5239f4f2d27e4420db147fc2f76a5ae598ac",{"version":"ea455cc68871b049bcecd9f56d4cf27b852d6dafd5e3b54468ca87cc11604e4d","affectsGlobalScope":true},"c07146dbbbd8b347241b5df250a51e48f2d7bef19b1e187b1a3f20c849988ff1","45b1053e691c5af9bfe85060a3e1542835f8d84a7e6e2e77ca305251eda0cb3c","0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7",{"version":"ae5507fc333d637dec9f37c6b3f4d423105421ea2820a64818de55db85214d66","affectsGlobalScope":true},{"version":"0666f4c99b8688c7be5956df8fecf5d1779d3b22f8f2a88258ae7072c7b6026f","affectsGlobalScope":true},"8abd0566d2854c4bd1c5e48e05df5c74927187f1541e6770001d9637ac41542e","54e854615c4eafbdd3fd7688bd02a3aafd0ccf0e87c98f79d3e9109f047ce6b8","d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","8221b00f271cf7f535a8eeec03b0f80f0929c7a16116e2d2df089b41066de69b","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","7fa32887f8a97909fca35ebba3740f8caf8df146618d8fff957a3f89f67a2f6a","9a9634296cca836c3308923ba7aa094fa6ed76bb1e366d8ddcf5c65888ab1024",{"version":"bddce945d552a963c9733db106b17a25474eefcab7fc990157a2134ef55d4954","affectsGlobalScope":true},{"version":"7052b7b0c3829df3b4985bab2fd74531074b4835d5a7b263b75c82f0916ad62f","affectsGlobalScope":true},"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","4b55240c2a03b2c71e98a7fc528b16136faa762211c92e781a01c37821915ea6","7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df",{"version":"94c086dff8dbc5998749326bc69b520e8e4273fb5b7b58b50e0210e0885dfcde","affectsGlobalScope":true},{"version":"f5b5dc128973498b75f52b1b8c2d5f8629869104899733ae485100c2309b4c12","affectsGlobalScope":true},"ebe5facd12fd7745cda5f4bc3319f91fb29dc1f96e57e9c6f8b260a7cc5b67ee","79bad8541d5779c85e82a9fb119c1fe06af77a71cc40f869d62ad379473d4b75","21c56c6e8eeacef15f63f373a29fab6a2b36e4705be7a528aae8c51469e2737b",{"version":"629d20681ca284d9e38c0a019f647108f5fe02f9c59ac164d56f5694fc3faf4d","affectsGlobalScope":true},"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447","c889230d56462fe05b70ab6fd53acdef388c4ccc473cf90f4cb32ecd2b962b4d","28993cc461214aae66c110c1cf28fc8077fe8f05057049337ac72f5a7c98fca5","506bb887b7df4ffad6f6fa63d24411619e0a03b7665683ec3d3a4973063886e6","afbea638922aaca9d9cc8b65a02a520c7454229903871fbb04e2a348bf836828","b7f1672ce9af85034cdb8c5b04dcedd6c0452c96eba0571c096298aaeedfdff5","d2f5dc88e221ccdfe47023e718cb4ceaffd20feb86fb9e13b05820e2b0f85c56","cd2a5f46beacf5c57cef4fe0da2d794187be79bf748e94c641b190d69cebe132","18719ba62b0021a65fe4b5cd42e158faa6b41c0da08adb3325c9d9a18f35bab7","b4957a103328043ec5216857ab53886cd956544e91fd1bd14c8e905049bcb1b8","489b692d9023b2e840ce27625d3f20d60bd170db210fb0b82d8e297b85d43819","17af13f4f5416e01af722b89816c7a44a1e5b1c4c05decabc498c382b9ef5e03","2ec2927513bae24e1cde365bac84039ed143c4459431d626515ffef83417f1e4","8219ac333bd9febd8967d0a4c7e4913dc22761f5adbb154b1a9cc56356d2ac49","bbf12932d8dd583fe79ef95796e43e9d4fb12e34c5e4e40b698adb635a7ea6cc","b002670ba2bec0225cadb9bfd5a004f07d57b2c891e6029c0929986c08494093","06a17bb1e15c642821467026b33933540ccba1250c42941ee96017e700de4663","0dc7806e087842cd9634419c63fa8f31c08a2bcdb47f7a06ed303ada9c7d685e","71e91bcb2bd0d49e91b0dd22df9e82c73397e7016bd88512c4a9a00f3df6db14","6b58a277793c4ad8547cd9716e41fd0030f7a302e250fc8d2a1fba2b5e0bc2ae","913e66846787b252e97c6d66995306463183db427aeda548533602294a51df3f","d9f4ec5156491a24eee340452d7e87e432512d5ebde23fe18c2ceb5a31c1720b","c59d88065f8687fad0051de5003aa03a3c6d175400b129cebd1cf51df517d46f","653dc417862cf079d590653212a8d48ace7c89ff7b73c239791099afc25dca96","497efde09001124a1bfab8ea16409b6908fe8a49ae8d5d69082910838150fbfd","68d162bb56af4c75185d70438f9830c18d4de149c7456d18a83ef888f82a954b","5ed925f9d0dfcb0fde32518c7ae42f88461fd8eabb015a35183fac5ce95bbc6c","e273cfac116295a751e43c48a6e56f05bae093a4727b89bf9938ec2c0eae8a8f","5ae76ad70cfa4018ee68c99dc54f5e61e6121e21e6225e0743df0abb92c95405","5bb7aa46ccff237fa042d687bdea3772e5d3306dab25867d8810a8b14996e295","738d4339dab94f3d956302ebe262550cc55ae1e2325aa3c07f67cfd2dfd4f2f7","12898267ff8712ba92472197c6c3564bc6df883b07d38abe40051354b58fee43","2c0e3ea1eeac1883702592ed78a9756f0ab596c0ccd1ad3930beef4d5e562e87","68702da8f0a7e018081864969093997644b1fb7b23dcfba34ab83f703f50c50a","6a1bf5c8f4a20659daaf8ef62a668f0598b879b3bbd499525986d8a8caa7922d","9f495d37e7479593b697e076b0ffd22c9596fa5a79428a13ed02fce99342a524","5c3663fdad905b4ffeb6028f0ac69ce654ad5ce1e68aff5293f48ae6bb4fc26b","b762530068fbd7986a3b0acf38846c8f6c3403c90fa9ce8c291f9e7f665c01a6","b95293f52864ea44926cb1d1e32b48b68b8b332458da73c58b1e987571158974","dd82562bcc9bed49db1280d7df870c4b820b5a5919298dc1e3f1eb1d739224ba","58348e8354750f3a5492c5f8da0015ae7ca07a481e681fe6edaf7c1c59b807e2","9ac9b16fc642f4c0c2176355fea1c85758f7205401ac04dc56122c075a2e865d","b69216b9607b65105ec37d75b761a66b89302243f6ff8973cb3a04cb44f10919","c1dd30504a69bd635e607aaf09b8fda675d27695b625968e13abbbe48917481f","82d252437544aa799caa000db1444f0b7c98db797c2afaab02942e0a073a47d5","4bc26751aef71adea01a2c9cc13edf25f0c49d4c8840f4923b31eb34141d2f99","c917934380703484415937e8b21b1d797c413728825d2091ddfbd6df615a6e1e","5ab5bb4ebd8e85c47eb5c375cd46b8955e0421cc32c05982e1224b81c3c3b0c7","690994e60f1f68b5d4a4ff9eae08eea24e2e8f1664c7a0705edbd36140522b55","af51c24e7aaee7980c535e12edcfff5b7590d9159de619c213ffc787842b0803","c4976e256be8f122494a44fd18c1182ca74aaa86e512b98c0b0f14d582a92f3a","83a6744e770a65cb35a23e4b02aa8313fe8e57ba735a23eba2e0db4f18950759","4046df41835ddffe42cf72bc5cec043e9d2db946a23a445b50d0a34437abed5c","5cb32c4708461463f503a83371857662eb896a1a0d92c134f49329dc3b69efca","6df294318fba5e3a5a311ac3bf17e56289db50ed9a340c130723ec24e5dc8824","c540d559e30d103d5e486028b6ba77b361f79a9d0c1848f5bdca269f6f20cde3","d63d17bf5b48f932635e2aef5f79abbc70b2622f77887e453e32145fabfbb352","239e771b2e12b6ae41869f7cd7d9cd7c48b3124e9fd37b720a71086265881a03","e5394ab943ebf3b562e1be8392cd45fcd620d8d6aea4ec72fc52092a965afe79","458dc55954b42c168b12846eb4ddca4e77ceafc8af9d4485f25dfe8221ea7428","90f38844ee1bf5a369803a1369efee0593ae6066afa63c2aca3610c0a221595e","091dfd673faa3e6ec20312a0f13aaf0f12593e64fd2e1a2a10048b4721694b45","c338d886378746ef2bbc9cd57b8f625bfad3b4c9b0e1ca046bce761433da203c","0fbedd36ee86a3424e1720e65f6442040e2cd297a4cd2608d3e70a774e72b7a3",{"version":"9074e8972f0d56cebc41a26f1892f80499b52b91f29bd935c78ee23bbcdd1920","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"baf10b9f8750812893479d78270fa42eb1c9a8d4f4902c5be96ba9807ee9be68","cab425b5559edac18327eb2c3c0f47e7e9f71b667290b7689faafd28aac69eae","f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538",{"version":"0ea93d01083b3d5863cc98cb589b5d0eac55d14417487f9e5e455dfa0b17c660","affectsGlobalScope":true},"cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4","3c7f2217d798da86182d09af0ffc02c4424d18589325c2aacccc4c4e1447b26d","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","fab58e600970e66547644a44bc9918e3223aa2cbd9e8763cec004b2cfb48827e"],"root":[59,60,210,211],"options":{"allowJs":false,"composite":true,"declaration":true,"declarationMap":true,"downlevelIteration":true,"esModuleInterop":true,"experimentalDecorators":true,"inlineSources":true,"jsx":2,"module":1,"noImplicitAny":true,"outDir":"./","rootDir":"..","skipLibCheck":true,"sourceMap":true,"strictNullChecks":false,"target":2},"fileIdsList":[[182,183],[184,185,186,187],[183,189],[186,187],[183,186],[184,186,187],[182,183,184,185,186,187,188,189,190,191,192],[183,184],[179],[195],[54,179,181,193,194,195,196],[54,179,196],[54,179,194,195,196],[181,196,197],[179,180,194,195,196,197,198,199,200,201,202,204,205,206,207,208],[54,178,179,194,195,196],[54,178,179,194,195,196,203],[178,196,197],[127,146,178,196,197],[54,127,146,178,179,194,195],[54,127,146,163],[164],[172],[173,174,175,176,177],[172,173],[166],[166,167,168,169,170,171],[47],[54,151,154,155,156],[151,155],[54],[54,151,152,155],[54,152,155],[151],[54,151],[54,151,152,153,154],[54,147],[147,148,149,150,155,157,158,159,160,161,162],[48],[48,49,50,51,52,53],[55],[56,57],[61],[96],[97,102,130],[98,109,110,117,127,138],[98,99,109,117],[100,139],[101,102,110,118],[102,127,135],[103,105,109,117],[96,104],[105,106],[109],[107,109],[96,109],[109,110,111,127,138],[109,110,111,124,127,130],[94,97,143],[105,109,112,117,127,138],[109,110,112,113,117,127,135,138],[112,114,127,135,138],[61,62,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145],[109,115],[116,138,143],[105,109,117,127],[118],[119],[96,120],[121,137,143],[122],[123],[109,124,125],[124,126,139,141],[97,109,127,128,129,130],[97,127,129],[127,128],[130],[131],[96,127],[109,133,134],[133,134],[102,117,127,135],[136],[117,137],[97,112,123,138],[102,139],[127,140],[116,141],[142],[97,102,109,111,120,127,138,141,143],[127,144],[216,255],[216,240,255],[255],[216],[216,241,255],[216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254],[241,255],[71,75,138],[71,127,138],[66],[68,71,135,138],[117,135],[146],[66,146],[68,71,117,138],[63,64,67,70,97,109,127,138],[63,69],[67,71,97,130,138,146],[97,146],[87,97,146],[65,66,146],[71],[65,66,67,68,69,70,71,72,73,75,76,77,78,79,80,81,82,83,84,85,86,88,89,90,91,92,93],[71,78,79],[69,71,79,80],[70],[63,66,71],[71,75,79,80],[75],[69,71,74,138],[63,68,69,71,75,78],[97,127],[66,71,87,97,143,146],[54,58],[59],[54,59,61,127,139,165,178,209]],"referencedMap":[[184,1],[188,2],[190,3],[191,4],[189,5],[187,5],[192,6],[193,7],[186,8],[180,9],[199,9],[200,10],[206,10],[197,11],[203,12],[208,13],[198,14],[209,15],[201,16],[202,13],[204,17],[205,18],[207,19],[196,20],[164,21],[165,22],[173,23],[177,23],[176,23],[178,24],[175,23],[174,25],[167,26],[170,26],[172,27],[166,28],[169,26],[157,29],[156,30],[159,31],[161,32],[162,33],[153,34],[154,35],[147,31],[151,31],[152,35],[155,36],[158,35],[148,37],[163,38],[149,31],[160,31],[49,39],[52,39],[54,40],[48,28],[51,39],[56,41],[58,42],[57,41],[61,43],[62,43],[96,44],[97,45],[98,46],[99,47],[100,48],[101,49],[102,50],[103,51],[104,52],[105,53],[106,53],[108,54],[107,55],[109,56],[110,57],[111,58],[95,59],[112,60],[113,61],[114,62],[146,63],[115,64],[116,65],[117,66],[118,67],[119,68],[120,69],[121,70],[122,71],[123,72],[124,73],[125,73],[126,74],[127,75],[129,76],[128,77],[130,78],[131,79],[132,80],[133,81],[134,82],[135,83],[136,84],[137,85],[138,86],[139,87],[140,88],[141,89],[142,90],[143,91],[144,92],[240,93],[241,94],[216,95],[219,95],[238,93],[239,93],[229,93],[228,96],[226,93],[221,93],[234,93],[232,93],[236,93],[220,93],[233,93],[237,93],[222,93],[223,93],[235,93],[217,93],[224,93],[225,93],[227,93],[231,93],[242,97],[230,93],[218,93],[255,98],[249,97],[251,99],[250,97],[243,97],[244,97],[246,97],[248,97],[252,99],[253,99],[245,99],[247,99],[78,100],[85,101],[77,100],[92,102],[69,103],[68,104],[91,105],[86,106],[89,107],[71,108],[70,109],[66,110],[65,111],[88,112],[67,113],[72,114],[76,114],[94,115],[93,114],[80,116],[81,117],[83,118],[79,119],[82,120],[87,105],[74,121],[75,122],[84,123],[64,124],[90,125],[59,126],[60,127],[210,128]],"exportedModulesMap":[[184,1],[188,2],[190,3],[191,4],[189,5],[187,5],[192,6],[193,7],[186,8],[180,9],[199,9],[200,10],[206,10],[197,11],[203,12],[208,13],[198,14],[209,15],[201,16],[202,13],[204,17],[205,18],[207,19],[196,20],[164,21],[165,22],[173,23],[177,23],[176,23],[178,24],[175,23],[174,25],[167,26],[170,26],[172,27],[166,28],[169,26],[157,29],[156,30],[159,31],[161,32],[162,33],[153,34],[154,35],[147,31],[151,31],[152,35],[155,36],[158,35],[148,37],[163,38],[149,31],[160,31],[49,39],[52,39],[54,40],[48,28],[51,39],[56,41],[58,42],[57,41],[61,43],[62,43],[96,44],[97,45],[98,46],[99,47],[100,48],[101,49],[102,50],[103,51],[104,52],[105,53],[106,53],[108,54],[107,55],[109,56],[110,57],[111,58],[95,59],[112,60],[113,61],[114,62],[146,63],[115,64],[116,65],[117,66],[118,67],[119,68],[120,69],[121,70],[122,71],[123,72],[124,73],[125,73],[126,74],[127,75],[129,76],[128,77],[130,78],[131,79],[132,80],[133,81],[134,82],[135,83],[136,84],[137,85],[138,86],[139,87],[140,88],[141,89],[142,90],[143,91],[144,92],[240,93],[241,94],[216,95],[219,95],[238,93],[239,93],[229,93],[228,96],[226,93],[221,93],[234,93],[232,93],[236,93],[220,93],[233,93],[237,93],[222,93],[223,93],[235,93],[217,93],[224,93],[225,93],[227,93],[231,93],[242,97],[230,93],[218,93],[255,98],[249,97],[251,99],[250,97],[243,97],[244,97],[246,97],[248,97],[252,99],[253,99],[245,99],[247,99],[78,100],[85,101],[77,100],[92,102],[69,103],[68,104],[91,105],[86,106],[89,107],[71,108],[70,109],[66,110],[65,111],[88,112],[67,113],[72,114],[76,114],[94,115],[93,114],[80,116],[81,117],[83,118],[79,119],[82,120],[87,105],[74,121],[75,122],[84,123],[64,124],[90,125],[59,31],[60,127]],"semanticDiagnosticsPerFile":[184,185,188,190,191,189,182,183,187,192,193,186,180,194,179,181,195,199,200,206,197,203,208,198,209,201,202,204,205,207,196,164,165,173,177,176,178,175,174,168,167,170,172,166,169,171,157,156,150,159,161,162,153,154,147,151,152,155,158,148,163,149,160,50,49,52,54,48,51,53,56,58,55,57,212,213,214,215,61,62,96,97,98,99,100,101,102,103,104,105,106,108,107,109,110,111,95,145,112,113,114,146,115,116,117,118,119,120,121,122,123,124,125,126,127,129,128,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,256,240,241,216,219,238,239,229,228,226,221,234,232,236,220,233,237,222,223,235,217,224,225,227,231,242,230,218,255,254,249,251,250,243,244,246,248,252,253,245,247,257,258,47,45,46,8,10,9,2,11,12,13,14,15,16,17,18,3,19,4,20,24,21,22,23,25,26,27,5,28,29,30,31,6,35,32,33,34,36,7,37,42,43,38,39,40,41,1,44,78,85,77,92,69,68,91,86,89,71,70,66,65,88,67,72,73,76,63,94,93,80,81,83,79,82,87,74,75,84,64,90,211,59,60,210],"latestChangedDtsFile":"./test/QueryTest.d.ts"},"version":"5.4.3"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cucumber/query",
3
- "version": "12.0.1",
3
+ "version": "12.0.2",
4
4
  "description": "Cucumber Query - query messages",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "repository": {
17
17
  "type": "git",
18
- "url": "git://github.com/cucumber/cucumber.git"
18
+ "url": "git://github.com/cucumber/query.git"
19
19
  },
20
20
  "keywords": [
21
21
  "cucumber"
@@ -23,41 +23,41 @@
23
23
  "author": "Cucumber Limited <cukes@googlegroups.com>",
24
24
  "license": "MIT",
25
25
  "bugs": {
26
- "url": "https://github.com/cucumber/cucumber/issues"
26
+ "url": "https://github.com/cucumber/query/issues"
27
27
  },
28
- "homepage": "https://github.com/cucumber/cucumber#readme",
28
+ "homepage": "https://github.com/cucumber/query#readme",
29
29
  "devDependencies": {
30
- "@cucumber/compatibility-kit": "^11.0.0",
30
+ "@cucumber/compatibility-kit": "^15.0.0",
31
31
  "@cucumber/fake-cucumber": "^16.0.0",
32
- "@cucumber/gherkin": "^25.0.0",
32
+ "@cucumber/gherkin": "^28.0.0",
33
33
  "@cucumber/gherkin-streams": "^5.0.1",
34
34
  "@cucumber/gherkin-utils": "^8.0.1",
35
- "@types/mocha": "10.0.0",
36
- "@types/node": "18.11.9",
37
- "@typescript-eslint/eslint-plugin": "5.43.0",
38
- "@typescript-eslint/parser": "5.43.0",
39
- "ajv": "8.11.2",
35
+ "@types/mocha": "10.0.6",
36
+ "@types/node": "20.11.30",
37
+ "@typescript-eslint/eslint-plugin": "7.4.0",
38
+ "@typescript-eslint/parser": "7.4.0",
39
+ "ajv": "8.12.0",
40
40
  "ajv-cli": "5.0.0",
41
- "eslint": "8.28.0",
42
- "eslint-config-prettier": "8.5.0",
43
- "eslint-plugin-import": "2.26.0",
41
+ "eslint": "8.57.0",
42
+ "eslint-config-prettier": "9.1.0",
43
+ "eslint-plugin-import": "2.29.1",
44
44
  "eslint-plugin-node": "11.1.0",
45
- "eslint-plugin-prettier": "4.2.1",
46
- "eslint-plugin-react": "7.31.11",
45
+ "eslint-plugin-prettier": "5.1.3",
46
+ "eslint-plugin-react": "7.34.1",
47
47
  "eslint-plugin-react-hooks": "4.6.0",
48
- "eslint-plugin-simple-import-sort": "8.0.0",
49
- "mocha": "10.1.0",
50
- "npm-check-updates": "16.4.1",
51
- "prettier": "2.7.1",
52
- "pretty-quick": "3.1.3",
53
- "rimraf": "^3.0.2",
54
- "ts-node": "10.9.1",
55
- "tsconfig-paths": "4.1.0",
56
- "typescript": "4.9.3"
48
+ "eslint-plugin-simple-import-sort": "12.0.0",
49
+ "mocha": "10.3.0",
50
+ "npm-check-updates": "16.14.18",
51
+ "prettier": "3.2.5",
52
+ "pretty-quick": "4.0.0",
53
+ "rimraf": "^5.0.0",
54
+ "ts-node": "10.9.2",
55
+ "tsconfig-paths": "4.2.0",
56
+ "typescript": "5.4.3"
57
57
  },
58
58
  "dependencies": {
59
- "@cucumber/messages": "^19.1.4",
60
- "@teppeis/multimaps": "2.0.0"
59
+ "@cucumber/messages": "^24.0.0",
60
+ "@teppeis/multimaps": "3.0.0"
61
61
  },
62
62
  "directories": {
63
63
  "test": "test"
@@ -1,5 +0,0 @@
1
- PLEASE DO NOT CREATE ISSUES IN THIS REPO.
2
- THIS REPO IS A READ-ONLY MIRROR.
3
-
4
- Create your issue in the Cucumber monorepo instead:
5
- https://github.com/cucumber/cucumber/issues
@@ -1,5 +0,0 @@
1
- PLEASE DO NOT CREATE PULL REAUESTS IN THIS REPO.
2
- THIS REPO IS A READ-ONLY MIRROR.
3
-
4
- Create your pull request in the Cucumber monorepo instead:
5
- https://github.com/cucumber/cucumber/pulls
package/.rsync DELETED
@@ -1,3 +0,0 @@
1
- ../../LICENSE LICENSE
2
- ../../.templates/github/ .github/
3
- ../../.templates/javascript/ .
package/Makefile DELETED
@@ -1 +0,0 @@
1
- include default.mk
package/default.mk DELETED
@@ -1,85 +0,0 @@
1
- SHELL := /usr/bin/env bash
2
- # https://stackoverflow.com/questions/2483182/recursive-wildcards-in-gnu-make
3
- rwildcard=$(foreach d,$(wildcard $(1:=/*)),$(call rwildcard,$d,$2) $(filter $(subst *,%,$2),$d))
4
- TYPESCRIPT_SOURCE_FILES = $(sort $(call rwildcard,src test,*.ts *.tsx))
5
- PRIVATE = $(shell node -e "console.log(require('./package.json').private)")
6
- IS_TESTDATA = $(findstring -testdata,${CURDIR})
7
- NPM_MODULE = $(shell cat package.json | jq .name --raw-output)
8
-
9
- default: .tested
10
- .PHONY: default
11
-
12
- node_modules package-lock.json: package.json
13
- npm install
14
-
15
- .codegen:
16
- touch $@
17
-
18
- .tested: .tested-npm .built
19
-
20
- .built: $(TYPESCRIPT_SOURCE_FILES) node_modules .codegen
21
- npm run build && \
22
- touch $@
23
-
24
- .tested-npm: $(TYPESCRIPT_SOURCE_FILES) node_modules .codegen
25
- npm run test
26
- touch $@
27
-
28
- pre-release: clean update-version update-dependencies default
29
- .PHONY: pre-release
30
-
31
- update-dependencies: node_modules
32
- npm run upgrade -- --reject hast-util-sanitize,@types/node,react-markdown,rehype-raw,rehype-sanitize,remark-gfm
33
- .PHONY: update-dependencies
34
-
35
- update-version:
36
- ifeq ($(IS_TESTDATA),-testdata)
37
- # no-op
38
- else
39
- ifdef NEW_VERSION
40
- npm --no-git-tag-version --allow-same-version version "$(NEW_VERSION)"
41
- # Update all npm packages that depend on us
42
- pushd ../.. && \
43
- ./scripts/npm-each update_npm_dependency_if_exists package.json "$(NPM_MODULE)" "$(NEW_VERSION)"
44
- else
45
- @echo -e "\033[0;31mNEW_VERSION is not defined. Can't update version :-(\033[0m"
46
- exit 1
47
- endif
48
- endif
49
- .PHONY: update-version
50
-
51
- publish: .codegen
52
- ifeq ($(IS_TESTDATA),-testdata)
53
- # no-op
54
- else
55
- ifneq (true,$(PRIVATE))
56
- npm publish --access public
57
- else
58
- @echo "Not publishing private npm module"
59
- endif
60
- endif
61
- .PHONY: publish
62
-
63
- post-release:
64
- .PHONY: post-release
65
-
66
- clean: clean-javascript
67
- .PHONY: clean
68
-
69
- clean-javascript:
70
- rm -rf .deps .codegen .tested* coverage dist acceptance
71
- .PHONY: clean-javascript
72
-
73
- clobber: clean
74
- rm -rf node_modules
75
- .PHONY: clobber
76
-
77
- ### COMMON stuff for all platforms
78
-
79
- BERP_VERSION = 1.3.0
80
- BERP_GRAMMAR = gherkin.berp
81
-
82
- define berp-generate-parser =
83
- -! dotnet tool list --tool-path /usr/bin | grep "berp\s*$(BERP_VERSION)" && dotnet tool update Berp --version $(BERP_VERSION) --tool-path /usr/bin
84
- berp -g $(BERP_GRAMMAR) -t $< -o $@ --noBOM
85
- endef