@redocly/openapi-core 1.0.0-beta.83 → 1.0.0-beta.86

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/lib/bundle.js CHANGED
@@ -161,6 +161,7 @@ function makeBundleVisitor(version, dereference, skipRedoclyRegistryRefs, rootDo
161
161
  !dereference) {
162
162
  return;
163
163
  }
164
+ // do not bundle registry URL before push, otherwise we can't record dependencies
164
165
  if (skipRedoclyRegistryRefs && redocly_1.isRedoclyRegistryURL(node.$ref)) {
165
166
  return;
166
167
  }
@@ -77,6 +77,7 @@ export declare type AccessTokens = {
77
77
  export declare const DOMAINS: {
78
78
  [region in Region]: string;
79
79
  };
80
+ export declare const AVAILABLE_REGIONS: Region[];
80
81
  export declare type RawConfig = {
81
82
  referenceDocs?: any;
82
83
  apiDefinitions?: Record<string, string>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Config = exports.LintConfig = exports.DOMAINS = exports.DEFAULT_REGION = exports.IGNORE_FILE = void 0;
3
+ exports.Config = exports.LintConfig = exports.AVAILABLE_REGIONS = exports.DOMAINS = exports.DEFAULT_REGION = exports.IGNORE_FILE = void 0;
4
4
  const fs = require("fs");
5
5
  const path = require("path");
6
6
  const path_1 = require("path");
@@ -15,9 +15,10 @@ const IGNORE_BANNER = `# This file instructs Redocly's linter to ignore the rule
15
15
  exports.DEFAULT_REGION = 'us';
16
16
  const REDOCLY_DOMAIN = process.env.REDOCLY_DOMAIN;
17
17
  exports.DOMAINS = {
18
- us: 'redoc.ly',
18
+ us: 'redocly.com',
19
19
  eu: 'eu.redocly.com',
20
20
  };
21
+ exports.AVAILABLE_REGIONS = Object.keys(exports.DOMAINS);
21
22
  // FIXME: temporary fix for our lab environments
22
23
  if (REDOCLY_DOMAIN === null || REDOCLY_DOMAIN === void 0 ? void 0 : REDOCLY_DOMAIN.endsWith('.redocly.host')) {
23
24
  exports.DOMAINS[REDOCLY_DOMAIN.split('.')[0]] = REDOCLY_DOMAIN;
@@ -1,2 +1,4 @@
1
1
  import { Config } from './config';
2
2
  export declare function loadConfig(configPath?: string, customExtends?: string[]): Promise<Config>;
3
+ export declare const CONFIG_FILE_NAMES: string[];
4
+ export declare function findConfig(): string | undefined;
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.loadConfig = void 0;
12
+ exports.findConfig = exports.CONFIG_FILE_NAMES = exports.loadConfig = void 0;
13
13
  const fs = require("fs");
14
14
  const redocly_1 = require("../redocly");
15
15
  const utils_1 = require("../utils");
@@ -52,7 +52,7 @@ function loadConfig(configPath, customExtends) {
52
52
  },
53
53
  //support redocly.com domain for future compatibility
54
54
  ...(item.region === 'us' ? [{
55
- matches: `https://api.redocly.com/registry/**`,
55
+ matches: `https://api.redoc.ly/registry/**`,
56
56
  name: 'Authorization',
57
57
  envVariable: undefined,
58
58
  value: item.token,
@@ -63,12 +63,18 @@ function loadConfig(configPath, customExtends) {
63
63
  });
64
64
  }
65
65
  exports.loadConfig = loadConfig;
66
+ exports.CONFIG_FILE_NAMES = ['redocly.yaml', 'redocly.yml', '.redocly.yaml', '.redocly.yml'];
66
67
  function findConfig() {
67
- if (fs.existsSync('.redocly.yaml')) {
68
- return '.redocly.yaml';
68
+ if (!fs.hasOwnProperty('existsSync'))
69
+ return;
70
+ const existingConfigFiles = exports.CONFIG_FILE_NAMES.map((name) => fs.existsSync(name) && name).filter(Boolean);
71
+ if (existingConfigFiles.length > 1) {
72
+ throw new Error(`
73
+ Multiple configuration files are not allowed.
74
+ Found the following files: ${existingConfigFiles.join(', ')}.
75
+ Please use 'redocly.yaml' instead.
76
+ `);
69
77
  }
70
- else if (fs.existsSync('.redocly.yml')) {
71
- return '.redocly.yml';
72
- }
73
- return undefined;
78
+ return existingConfigFiles[0];
74
79
  }
80
+ exports.findConfig = findConfig;
package/lib/index.d.ts CHANGED
@@ -9,8 +9,8 @@ export { StatsAccumulator, StatsName } from './typings/common';
9
9
  export { normalizeTypes } from './types';
10
10
  export { Stats } from './rules/other/stats';
11
11
  export { Config, LintConfig, RawConfig, IGNORE_FILE, Region } from './config/config';
12
- export { loadConfig } from './config/load';
13
- export { RedoclyClient } from './redocly';
12
+ export { loadConfig, findConfig, CONFIG_FILE_NAMES } from './config/load';
13
+ export { RedoclyClient, isRedoclyRegistryURL } from './redocly';
14
14
  export { Source, BaseResolver, Document, resolveDocument, ResolveError, YamlParseError, makeDocumentFromString, } from './resolve';
15
15
  export { parseYaml, stringifyYaml } from './js-yaml';
16
16
  export { unescapePointer, isRef } from './ref-utils';
package/lib/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mapTypeToComponent = exports.bundleDocument = exports.bundle = exports.lintConfig = exports.lintFromString = exports.lintDocument = exports.validate = exports.lint = exports.getTotals = exports.formatProblems = exports.getLineColLocation = exports.getAstNodeByPointer = exports.walkDocument = exports.normalizeVisitors = exports.OasVersion = exports.openAPIMajor = exports.OasMajorVersion = exports.detectOpenAPI = exports.isRef = exports.unescapePointer = exports.stringifyYaml = exports.parseYaml = exports.makeDocumentFromString = exports.YamlParseError = exports.ResolveError = exports.resolveDocument = exports.BaseResolver = exports.Source = exports.RedoclyClient = exports.loadConfig = exports.IGNORE_FILE = exports.LintConfig = exports.Config = exports.Stats = exports.normalizeTypes = exports.ConfigTypes = exports.Oas2Types = exports.Oas3Types = exports.Oas3_1Types = exports.slash = exports.readFileFromUrl = void 0;
3
+ exports.mapTypeToComponent = exports.bundleDocument = exports.bundle = exports.lintConfig = exports.lintFromString = exports.lintDocument = exports.validate = exports.lint = exports.getTotals = exports.formatProblems = exports.getLineColLocation = exports.getAstNodeByPointer = exports.walkDocument = exports.normalizeVisitors = exports.OasVersion = exports.openAPIMajor = exports.OasMajorVersion = exports.detectOpenAPI = exports.isRef = exports.unescapePointer = exports.stringifyYaml = exports.parseYaml = exports.makeDocumentFromString = exports.YamlParseError = exports.ResolveError = exports.resolveDocument = exports.BaseResolver = exports.Source = exports.isRedoclyRegistryURL = exports.RedoclyClient = exports.CONFIG_FILE_NAMES = exports.findConfig = exports.loadConfig = exports.IGNORE_FILE = exports.LintConfig = exports.Config = exports.Stats = exports.normalizeTypes = exports.ConfigTypes = exports.Oas2Types = exports.Oas3Types = exports.Oas3_1Types = exports.slash = exports.readFileFromUrl = void 0;
4
4
  var utils_1 = require("./utils");
5
5
  Object.defineProperty(exports, "readFileFromUrl", { enumerable: true, get: function () { return utils_1.readFileFromUrl; } });
6
6
  Object.defineProperty(exports, "slash", { enumerable: true, get: function () { return utils_1.slash; } });
@@ -22,8 +22,11 @@ Object.defineProperty(exports, "LintConfig", { enumerable: true, get: function (
22
22
  Object.defineProperty(exports, "IGNORE_FILE", { enumerable: true, get: function () { return config_1.IGNORE_FILE; } });
23
23
  var load_1 = require("./config/load");
24
24
  Object.defineProperty(exports, "loadConfig", { enumerable: true, get: function () { return load_1.loadConfig; } });
25
+ Object.defineProperty(exports, "findConfig", { enumerable: true, get: function () { return load_1.findConfig; } });
26
+ Object.defineProperty(exports, "CONFIG_FILE_NAMES", { enumerable: true, get: function () { return load_1.CONFIG_FILE_NAMES; } });
25
27
  var redocly_1 = require("./redocly");
26
28
  Object.defineProperty(exports, "RedoclyClient", { enumerable: true, get: function () { return redocly_1.RedoclyClient; } });
29
+ Object.defineProperty(exports, "isRedoclyRegistryURL", { enumerable: true, get: function () { return redocly_1.isRedoclyRegistryURL; } });
27
30
  var resolve_1 = require("./resolve");
28
31
  Object.defineProperty(exports, "Source", { enumerable: true, get: function () { return resolve_1.Source; } });
29
32
  Object.defineProperty(exports, "BaseResolver", { enumerable: true, get: function () { return resolve_1.BaseResolver; } });
@@ -1,5 +1,6 @@
1
1
  import { RegistryApi } from './registry-api';
2
2
  import { AccessTokens, Region } from '../config/config';
3
+ import { RegionalToken, RegionalTokenWithValidity } from './redocly-client-types';
3
4
  export declare class RedoclyClient {
4
5
  private accessTokens;
5
6
  private region;
@@ -13,16 +14,9 @@ export declare class RedoclyClient {
13
14
  getAuthorizationHeader(): Promise<string | undefined>;
14
15
  setAccessTokens(accessTokens: AccessTokens): void;
15
16
  loadTokens(): void;
16
- getValidTokens(): Promise<{
17
- region: string;
18
- token: string;
19
- valid: boolean;
20
- }[]>;
21
- getTokens(): Promise<{
22
- region: string;
23
- token: string;
24
- valid: boolean;
25
- }[]>;
17
+ getAllTokens(): RegionalToken[];
18
+ getValidTokens(): Promise<RegionalTokenWithValidity[]>;
19
+ getTokens(): Promise<RegionalTokenWithValidity[]>;
26
20
  isAuthorizedWithRedoclyByRegion(): Promise<boolean>;
27
21
  isAuthorizedWithRedocly(): Promise<boolean>;
28
22
  readCredentialsFile(credentialsPath: string): any;
@@ -26,6 +26,7 @@ class RedoclyClient {
26
26
  this.domain = region
27
27
  ? config_1.DOMAINS[region]
28
28
  : process.env.REDOCLY_DOMAIN || config_1.DOMAINS[config_1.DEFAULT_REGION];
29
+ process.env.REDOCLY_DOMAIN = this.domain; // isRedoclyRegistryURL depends on the value to be set
29
30
  this.registryApi = new registry_api_1.RegistryApi(this.accessTokens, this.region);
30
31
  }
31
32
  loadRegion(region) {
@@ -34,7 +35,7 @@ class RedoclyClient {
34
35
  process.exit(1);
35
36
  }
36
37
  if (process.env.REDOCLY_DOMAIN) {
37
- return (Object.keys(config_1.DOMAINS).find((region) => config_1.DOMAINS[region] === process.env.REDOCLY_DOMAIN) || config_1.DEFAULT_REGION);
38
+ return (config_1.AVAILABLE_REGIONS.find((region) => config_1.DOMAINS[region] === process.env.REDOCLY_DOMAIN) || config_1.DEFAULT_REGION);
38
39
  }
39
40
  return region || config_1.DEFAULT_REGION;
40
41
  }
@@ -75,11 +76,18 @@ class RedoclyClient {
75
76
  this.setAccessTokens(Object.assign(Object.assign({}, this.accessTokens), { [this.region]: process.env.REDOCLY_AUTHORIZATION }));
76
77
  }
77
78
  }
79
+ getAllTokens() {
80
+ return Object.entries(this.accessTokens).filter(([region]) => config_1.AVAILABLE_REGIONS.includes(region)).map(([region, token]) => ({ region, token }));
81
+ }
78
82
  getValidTokens() {
79
83
  return __awaiter(this, void 0, void 0, function* () {
80
- return (yield Promise.all(Object.entries(this.accessTokens).map(([key, value]) => __awaiter(this, void 0, void 0, function* () {
81
- return { region: key, token: value, valid: yield this.verifyToken(value, key) };
82
- })))).filter(item => Boolean(item.valid));
84
+ const validTokens = [];
85
+ for (const { token, region } of this.getAllTokens()) {
86
+ if (yield this.verifyToken(token, region)) {
87
+ validTokens.push({ token, region, valid: true });
88
+ }
89
+ }
90
+ return validTokens;
83
91
  });
84
92
  }
85
93
  getTokens() {
@@ -137,16 +145,11 @@ class RedoclyClient {
137
145
  exports.RedoclyClient = RedoclyClient;
138
146
  function isRedoclyRegistryURL(link) {
139
147
  const domain = process.env.REDOCLY_DOMAIN || config_1.DOMAINS[config_1.DEFAULT_REGION];
140
- if (!link.startsWith(`https://api.${domain}/registry/`))
141
- return false;
142
- const registryPath = link.replace(`https://api.${domain}/registry/`, '');
143
- const pathParts = registryPath.split('/');
144
- // we can be sure, that there is job UUID present
145
- // (org, definition, version, bundle, branch, job, "openapi.yaml" 🤦‍♂️)
146
- // so skip this link.
147
- // FIXME
148
- if (pathParts.length === 7)
148
+ const legacyDomain = domain === 'redocly.com' ? 'redoc.ly' : domain;
149
+ if (!link.startsWith(`https://api.${domain}/registry/`) &&
150
+ !link.startsWith(`https://api.${legacyDomain}/registry/`)) {
149
151
  return false;
152
+ }
150
153
  return true;
151
154
  }
152
155
  exports.isRedoclyRegistryURL = isRedoclyRegistryURL;
@@ -0,0 +1,8 @@
1
+ import { Region } from '../config/config';
2
+ export interface RegionalToken {
3
+ region: Region;
4
+ token: string;
5
+ }
6
+ export interface RegionalTokenWithValidity extends RegionalToken {
7
+ valid: boolean;
8
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -5,6 +5,8 @@ const utils_1 = require("../utils");
5
5
  const NoEnumTypeMismatch = () => {
6
6
  return {
7
7
  Schema(schema, { report, location }) {
8
+ if (schema.enum && !Array.isArray(schema.enum))
9
+ return;
8
10
  if (schema.enum && schema.type && !Array.isArray(schema.type)) {
9
11
  const typeMismatchedValues = schema.enum.filter((item) => !utils_1.matchesJsonSchemaType(item, schema.type, schema.nullable));
10
12
  for (const mismatchedValue of typeMismatchedValues) {
@@ -8,7 +8,7 @@ const utils_2 = require("../../utils");
8
8
  const OasSpec = () => {
9
9
  return {
10
10
  any(node, { report, type, location, key, resolve, ignoreNextVisitorsOnNode }) {
11
- var _a, _b, _c;
11
+ var _a, _b, _c, _d;
12
12
  const nodeType = utils_1.oasTypeOf(node);
13
13
  if (type.items) {
14
14
  if (nodeType !== 'array') {
@@ -59,7 +59,7 @@ const OasSpec = () => {
59
59
  }
60
60
  if (!hasProperty)
61
61
  report({
62
- message: 'Must contain at least one of the following fields: path, components, webhooks.',
62
+ message: `Must contain at least one of the following fields: ${(_b = type.requiredOneOf) === null || _b === void 0 ? void 0 : _b.join(', ')}.`,
63
63
  location: [{ reportOnKey: true }],
64
64
  });
65
65
  }
@@ -109,8 +109,8 @@ const OasSpec = () => {
109
109
  location: propLocation,
110
110
  });
111
111
  }
112
- else if (propValueType === 'array' && ((_b = propSchema.items) === null || _b === void 0 ? void 0 : _b.type)) {
113
- const itemsType = (_c = propSchema.items) === null || _c === void 0 ? void 0 : _c.type;
112
+ else if (propValueType === 'array' && ((_c = propSchema.items) === null || _c === void 0 ? void 0 : _c.type)) {
113
+ const itemsType = (_d = propSchema.items) === null || _d === void 0 ? void 0 : _d.type;
114
114
  for (let i = 0; i < propValue.length; i++) {
115
115
  const item = propValue[i];
116
116
  if (!utils_1.matchesJsonSchemaType(item, itemsType, false)) {
@@ -5,6 +5,8 @@ const NoUndefinedServerVariable = () => {
5
5
  return {
6
6
  Server(server, { report, location }) {
7
7
  var _a;
8
+ if (!server.url)
9
+ return;
8
10
  const urlVariables = ((_a = server.url.match(/{[^}]+}/g)) === null || _a === void 0 ? void 0 : _a.map((e) => e.slice(1, e.length - 1))) || [];
9
11
  const definedVariables = ((server === null || server === void 0 ? void 0 : server.variables) && Object.keys(server.variables)) || [];
10
12
  for (const serverVar of urlVariables) {
package/lib/types/oas3.js CHANGED
@@ -125,6 +125,7 @@ const Parameter = {
125
125
  content: 'MediaTypeMap',
126
126
  },
127
127
  required: ['name', 'in'],
128
+ requiredOneOf: ['schema', 'content'],
128
129
  };
129
130
  const Callback = {
130
131
  properties: {},
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redocly/openapi-core",
3
- "version": "1.0.0-beta.83",
3
+ "version": "1.0.0-beta.86",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "engines": {
package/src/bundle.ts CHANGED
@@ -218,6 +218,7 @@ function makeBundleVisitor(
218
218
  return;
219
219
  }
220
220
 
221
+ // do not bundle registry URL before push, otherwise we can't record dependencies
221
222
  if (skipRedoclyRegistryRefs && isRedoclyRegistryURL(node.$ref)) {
222
223
  return;
223
224
  }
@@ -1,35 +1,69 @@
1
- import { loadConfig } from '../load';
1
+ import { loadConfig, findConfig } from '../load';
2
2
  import { RedoclyClient } from '../../redocly';
3
3
 
4
+ const fs = require('fs');
5
+
4
6
  describe('loadConfig', () => {
5
7
  it('should resolve config http header by US region', async () => {
6
- jest.spyOn(RedoclyClient.prototype, 'getTokens').mockImplementation(
7
- () => Promise.resolve([{ region: 'us', token: "accessToken", valid: true }])
8
- );
8
+ jest
9
+ .spyOn(RedoclyClient.prototype, 'getTokens')
10
+ .mockImplementation(() =>
11
+ Promise.resolve([{ region: 'us', token: 'accessToken', valid: true }]),
12
+ );
9
13
  const config = await loadConfig();
10
- expect(config.resolve.http.headers).toStrictEqual([{
11
- "matches": 'https://api.redoc.ly/registry/**',
12
- "name": "Authorization",
13
- "envVariable": undefined,
14
- "value": "accessToken"
15
- }, {
16
- "matches": 'https://api.redocly.com/registry/**',
17
- "name": "Authorization",
18
- "envVariable": undefined,
19
- "value": "accessToken"
20
- }]);
14
+ expect(config.resolve.http.headers).toStrictEqual([
15
+ {
16
+ matches: 'https://api.redocly.com/registry/**',
17
+ name: 'Authorization',
18
+ envVariable: undefined,
19
+ value: 'accessToken',
20
+ },
21
+ {
22
+ matches: 'https://api.redoc.ly/registry/**',
23
+ name: 'Authorization',
24
+ envVariable: undefined,
25
+ value: 'accessToken',
26
+ },
27
+ ]);
21
28
  });
22
29
 
23
30
  it('should resolve config http header by EU region', async () => {
24
- jest.spyOn(RedoclyClient.prototype, 'getTokens').mockImplementation(
25
- () => Promise.resolve([{ region: 'eu', token: "accessToken", valid: true }])
26
- );
31
+ jest
32
+ .spyOn(RedoclyClient.prototype, 'getTokens')
33
+ .mockImplementation(() =>
34
+ Promise.resolve([{ region: 'eu', token: 'accessToken', valid: true }]),
35
+ );
27
36
  const config = await loadConfig();
28
- expect(config.resolve.http.headers).toStrictEqual([{
29
- "matches": 'https://api.eu.redocly.com/registry/**',
30
- "name": "Authorization",
31
- "envVariable": undefined,
32
- "value": "accessToken"
33
- }]);
37
+ expect(config.resolve.http.headers).toStrictEqual([
38
+ {
39
+ matches: 'https://api.eu.redocly.com/registry/**',
40
+ name: 'Authorization',
41
+ envVariable: undefined,
42
+ value: 'accessToken',
43
+ },
44
+ ]);
45
+ });
46
+ });
47
+
48
+ describe('findConfig', () => {
49
+ it('should find redocly.yaml', async () => {
50
+ jest.spyOn(fs, 'existsSync').mockImplementation((name) => name === 'redocly.yaml');
51
+ const configName = findConfig();
52
+ expect(configName).toStrictEqual('redocly.yaml');
53
+ });
54
+ it('should find .redocly.yaml', async () => {
55
+ jest.spyOn(fs, 'existsSync').mockImplementation((name) => name === '.redocly.yaml');
56
+ const configName = findConfig();
57
+ expect(configName).toStrictEqual('.redocly.yaml');
58
+ });
59
+ it('should throw an error when found multiple config files', async () => {
60
+ jest
61
+ .spyOn(fs, 'existsSync')
62
+ .mockImplementation((name) => name === 'redocly.yaml' || name === '.redocly.yaml');
63
+ expect(findConfig).toThrow(`
64
+ Multiple configuration files are not allowed.
65
+ Found the following files: redocly.yaml, .redocly.yaml.
66
+ Please use 'redocly.yaml' instead.
67
+ `);
34
68
  });
35
69
  });
@@ -127,9 +127,10 @@ export type Region = 'us' | 'eu';
127
127
  export type AccessTokens = {[region in Region]?: string };
128
128
  const REDOCLY_DOMAIN = process.env.REDOCLY_DOMAIN;
129
129
  export const DOMAINS: { [region in Region]: string } = {
130
- us: 'redoc.ly',
130
+ us: 'redocly.com',
131
131
  eu: 'eu.redocly.com',
132
132
  };
133
+ export const AVAILABLE_REGIONS = Object.keys(DOMAINS) as Region[];
133
134
 
134
135
  // FIXME: temporary fix for our lab environments
135
136
  if (REDOCLY_DOMAIN?.endsWith('.redocly.host')) {
@@ -41,7 +41,7 @@ export async function loadConfig(configPath?: string, customExtends?: string[]):
41
41
  },
42
42
  //support redocly.com domain for future compatibility
43
43
  ...(item.region === 'us' ? [{
44
- matches: `https://api.redocly.com/registry/**`,
44
+ matches: `https://api.redoc.ly/registry/**`,
45
45
  name: 'Authorization',
46
46
  envVariable: undefined,
47
47
  value: item.token,
@@ -61,11 +61,20 @@ export async function loadConfig(configPath?: string, customExtends?: string[]):
61
61
  );
62
62
  }
63
63
 
64
- function findConfig() {
65
- if (fs.existsSync('.redocly.yaml')) {
66
- return '.redocly.yaml';
67
- } else if (fs.existsSync('.redocly.yml')) {
68
- return '.redocly.yml';
64
+ export const CONFIG_FILE_NAMES = ['redocly.yaml', 'redocly.yml', '.redocly.yaml', '.redocly.yml'];
65
+
66
+ export function findConfig(): string | undefined {
67
+ if (!fs.hasOwnProperty('existsSync')) return;
68
+
69
+ const existingConfigFiles = CONFIG_FILE_NAMES.map((name) => fs.existsSync(name) && name).filter(
70
+ Boolean,
71
+ ) as Array<string | never>;
72
+ if (existingConfigFiles.length > 1) {
73
+ throw new Error(`
74
+ Multiple configuration files are not allowed.
75
+ Found the following files: ${existingConfigFiles.join(', ')}.
76
+ Please use 'redocly.yaml' instead.
77
+ `);
69
78
  }
70
- return undefined;
79
+ return existingConfigFiles[0];
71
80
  }
package/src/index.ts CHANGED
@@ -22,8 +22,10 @@ export { normalizeTypes } from './types';
22
22
  export { Stats } from './rules/other/stats';
23
23
 
24
24
  export { Config, LintConfig, RawConfig, IGNORE_FILE, Region } from './config/config';
25
- export { loadConfig } from './config/load';
26
- export { RedoclyClient } from './redocly';
25
+
26
+ export { loadConfig, findConfig, CONFIG_FILE_NAMES } from './config/load';
27
+ export { RedoclyClient, isRedoclyRegistryURL } from './redocly';
28
+
27
29
  export {
28
30
  Source,
29
31
  BaseResolver,
@@ -1,7 +1,7 @@
1
1
  import { RedoclyClient } from '../index';
2
2
 
3
3
  describe('RedoclyClient', () => {
4
- const REDOCLY_DOMAIN_US = 'redoc.ly';
4
+ const REDOCLY_DOMAIN_US = 'redocly.com';
5
5
  const REDOCLY_DOMAIN_EU = 'eu.redocly.com';
6
6
  const REDOCLY_AUTHORIZATION_TOKEN = 'redocly-auth-token';
7
7
  const testRedoclyDomain = 'redoclyDomain.com';
@@ -50,6 +50,19 @@ describe('RedoclyClient', () => {
50
50
  expect(client.getRegion()).toBe('eu');
51
51
  });
52
52
 
53
+ it('should resolve all tokens', async () => {
54
+ let spy = jest.spyOn(RedoclyClient.prototype, 'readCredentialsFile').mockImplementation(() => {
55
+ return { token: "accessToken", us: "accessToken", eu: "eu-accessToken" };
56
+ });
57
+ const client = new RedoclyClient();
58
+ const tokens = client.getAllTokens();
59
+ expect(tokens).toStrictEqual([
60
+ { region: 'us', token: 'accessToken' },
61
+ { region: 'eu', token: 'eu-accessToken' }
62
+ ]);
63
+ spy.mockRestore();
64
+ });
65
+
53
66
  it('should resolve valid tokens data', async () => {
54
67
  let spy = jest.spyOn(RedoclyClient.prototype, 'readCredentialsFile').mockImplementation(() => {
55
68
  return { us: "accessToken", eu: "eu-accessToken" }
@@ -3,7 +3,8 @@ import { resolve } from 'path';
3
3
  import { homedir } from 'os';
4
4
  import { red, green, gray, yellow } from 'colorette';
5
5
  import { RegistryApi } from './registry-api';
6
- import { AccessTokens, DEFAULT_REGION, DOMAINS, Region } from '../config/config';
6
+ import { AccessTokens, DEFAULT_REGION, DOMAINS, Region, AVAILABLE_REGIONS } from '../config/config';
7
+ import { RegionalToken, RegionalTokenWithValidity } from './redocly-client-types';
7
8
  import { isNotEmptyObject } from '../utils';
8
9
 
9
10
  const TOKEN_FILENAME = '.redocly-config.json';
@@ -20,6 +21,8 @@ export class RedoclyClient {
20
21
  this.domain = region
21
22
  ? DOMAINS[region]
22
23
  : process.env.REDOCLY_DOMAIN || DOMAINS[DEFAULT_REGION];
24
+
25
+ process.env.REDOCLY_DOMAIN = this.domain; // isRedoclyRegistryURL depends on the value to be set
23
26
  this.registryApi = new RegistryApi(this.accessTokens, this.region);
24
27
  }
25
28
 
@@ -32,7 +35,7 @@ export class RedoclyClient {
32
35
  }
33
36
 
34
37
  if (process.env.REDOCLY_DOMAIN) {
35
- return (Object.keys(DOMAINS).find(
38
+ return (AVAILABLE_REGIONS.find(
36
39
  (region) => DOMAINS[region as Region] === process.env.REDOCLY_DOMAIN,
37
40
  ) || DEFAULT_REGION) as Region;
38
41
  }
@@ -91,16 +94,24 @@ export class RedoclyClient {
91
94
  }
92
95
  }
93
96
 
94
- async getValidTokens(): Promise<{
95
- region: string;
96
- token: string;
97
- valid: boolean;
98
- }[]> {
99
- return (await Promise.all(
100
- Object.entries(this.accessTokens).map(async ([key, value]) => {
101
- return { region: key, token: value, valid: await this.verifyToken(value, key as Region) }
102
- })
103
- )).filter(item => Boolean(item.valid));
97
+ getAllTokens (): RegionalToken[] {
98
+ return (<[Region, string][]>Object.entries(this.accessTokens)).filter(
99
+ ([region]) => AVAILABLE_REGIONS.includes(region)
100
+ ).map(
101
+ ([region, token]) => ({ region, token })
102
+ );
103
+ }
104
+
105
+ async getValidTokens(): Promise<RegionalTokenWithValidity[]> {
106
+ const validTokens = <RegionalTokenWithValidity[]>[];
107
+
108
+ for (const { token, region } of this.getAllTokens()) {
109
+ if (await this.verifyToken(token, region)) {
110
+ validTokens.push({ token, region, valid: true });
111
+ }
112
+ }
113
+
114
+ return validTokens;
104
115
  }
105
116
 
106
117
  async getTokens() {
@@ -160,16 +171,15 @@ export class RedoclyClient {
160
171
 
161
172
  export function isRedoclyRegistryURL(link: string): boolean {
162
173
  const domain = process.env.REDOCLY_DOMAIN || DOMAINS[DEFAULT_REGION];
163
- if (!link.startsWith(`https://api.${domain}/registry/`)) return false;
164
- const registryPath = link.replace(`https://api.${domain}/registry/`, '');
165
174
 
166
- const pathParts = registryPath.split('/');
175
+ const legacyDomain = domain === 'redocly.com' ? 'redoc.ly' : domain;
167
176
 
168
- // we can be sure, that there is job UUID present
169
- // (org, definition, version, bundle, branch, job, "openapi.yaml" 🤦‍♂️)
170
- // so skip this link.
171
- // FIXME
172
- if (pathParts.length === 7) return false;
177
+ if (
178
+ !link.startsWith(`https://api.${domain}/registry/`) &&
179
+ !link.startsWith(`https://api.${legacyDomain}/registry/`)
180
+ ) {
181
+ return false;
182
+ }
173
183
 
174
184
  return true;
175
185
  }
@@ -0,0 +1,10 @@
1
+ import { Region } from '../config/config';
2
+
3
+ export interface RegionalToken {
4
+ region: Region;
5
+ token: string;
6
+ }
7
+
8
+ export interface RegionalTokenWithValidity extends RegionalToken {
9
+ valid: boolean;
10
+ }
@@ -0,0 +1,62 @@
1
+ import { outdent } from 'outdent';
2
+ import { lintDocument } from '../../../lint';
3
+ import { parseYamlToDocument, replaceSourceWithRef, makeConfig } from '../../../../__tests__/utils';
4
+ import { BaseResolver } from '../../../resolve';
5
+
6
+ describe('Oas3 spec', () => {
7
+ it('should report missing schema property', async () => {
8
+ const document = parseYamlToDocument(
9
+ outdent`
10
+ openapi: 3.0.0
11
+ paths:
12
+ '/test':
13
+ get:
14
+ summary: Gets a specific pet
15
+ parameters:
16
+ - name: petId
17
+ in: path
18
+ responses:
19
+ 200:
20
+ description: Ok
21
+ `,
22
+ 'foobar.yaml',
23
+ );
24
+
25
+ const results = await lintDocument({
26
+ externalRefResolver: new BaseResolver(),
27
+ document,
28
+ config: makeConfig({ 'spec': 'error' }),
29
+ });
30
+
31
+ expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
32
+ Array [
33
+ Object {
34
+ "location": Array [
35
+ Object {
36
+ "pointer": "#/",
37
+ "reportOnKey": true,
38
+ "source": "foobar.yaml",
39
+ },
40
+ ],
41
+ "message": "The field \`info\` must be present on this level.",
42
+ "ruleId": "spec",
43
+ "severity": "error",
44
+ "suggest": Array [],
45
+ },
46
+ Object {
47
+ "location": Array [
48
+ Object {
49
+ "pointer": "#/paths/~1test/get/parameters/0",
50
+ "reportOnKey": true,
51
+ "source": "foobar.yaml",
52
+ },
53
+ ],
54
+ "message": "Must contain at least one of the following fields: schema, content.",
55
+ "ruleId": "spec",
56
+ "severity": "error",
57
+ "suggest": Array [],
58
+ },
59
+ ]
60
+ `);
61
+ });
62
+ });
@@ -7,6 +7,7 @@ import { UserContext } from '../../walk';
7
7
  export const NoEnumTypeMismatch: Oas3Rule | Oas2Rule = () => {
8
8
  return {
9
9
  Schema(schema: Oas2Schema | Oas3Schema, { report, location }: UserContext) {
10
+ if (schema.enum && !Array.isArray(schema.enum)) return;
10
11
  if (schema.enum && schema.type && !Array.isArray(schema.type)) {
11
12
  const typeMismatchedValues = schema.enum.filter(
12
13
  (item) => !matchesJsonSchemaType(item, schema.type as string, schema.nullable as boolean),
@@ -63,7 +63,7 @@ export const OasSpec: Oas3Rule | Oas2Rule = () => {
63
63
  }
64
64
  if (!hasProperty)
65
65
  report({
66
- message: 'Must contain at least one of the following fields: path, components, webhooks.',
66
+ message: `Must contain at least one of the following fields: ${type.requiredOneOf?.join(', ')}.`,
67
67
  location: [{ reportOnKey: true }],
68
68
  });
69
69
  }
@@ -3,6 +3,7 @@ import { Oas3Rule } from '../../visitors';
3
3
  export const NoUndefinedServerVariable: Oas3Rule = () => {
4
4
  return {
5
5
  Server(server, { report, location }) {
6
+ if (!server.url) return;
6
7
  const urlVariables = server.url.match(/{[^}]+}/g)?.map((e) => e.slice(1, e.length - 1)) || [];
7
8
  const definedVariables = (server?.variables && Object.keys(server.variables)) || [];
8
9
 
package/src/types/oas3.ts CHANGED
@@ -136,6 +136,7 @@ const Parameter: NodeType = {
136
136
  content: 'MediaTypeMap',
137
137
  },
138
138
  required: ['name', 'in'],
139
+ requiredOneOf: ['schema', 'content'],
139
140
  };
140
141
 
141
142
  const Callback = {
@@ -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.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.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/@types/lodash/common/common.d.ts","../../node_modules/@types/lodash/common/array.d.ts","../../node_modules/@types/lodash/common/collection.d.ts","../../node_modules/@types/lodash/common/date.d.ts","../../node_modules/@types/lodash/common/function.d.ts","../../node_modules/@types/lodash/common/lang.d.ts","../../node_modules/@types/lodash/common/math.d.ts","../../node_modules/@types/lodash/common/number.d.ts","../../node_modules/@types/lodash/common/object.d.ts","../../node_modules/@types/lodash/common/seq.d.ts","../../node_modules/@types/lodash/common/string.d.ts","../../node_modules/@types/lodash/common/util.d.ts","../../node_modules/@types/lodash/index.d.ts","../../node_modules/@types/lodash.isequal/index.d.ts","./src/typings/openapi.ts","./src/ref-utils.ts","../../node_modules/yaml-ast-parser/dist/src/mark.d.ts","../../node_modules/yaml-ast-parser/dist/src/exception.d.ts","../../node_modules/yaml-ast-parser/dist/src/yamlAST.d.ts","../../node_modules/yaml-ast-parser/dist/src/loader.d.ts","../../node_modules/yaml-ast-parser/dist/src/dumper.d.ts","../../node_modules/yaml-ast-parser/dist/src/scalarInference.d.ts","../../node_modules/yaml-ast-parser/dist/src/index.d.ts","./src/types/index.ts","../../node_modules/@types/minimatch/index.d.ts","./node_modules/@types/node/assert.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/dns.d.ts","./node_modules/@types/node/domain.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/repl.d.ts","./node_modules/@types/node/stream.d.ts","./node_modules/@types/node/string_decoder.d.ts","./node_modules/@types/node/timers.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/form-data/index.d.ts","../../node_modules/@types/node-fetch/externals.d.ts","../../node_modules/@types/node-fetch/index.d.ts","../../node_modules/@types/pluralize/index.d.ts","../../node_modules/@types/js-yaml/index.d.ts","./src/js-yaml/index.ts","../../node_modules/colorette/index.d.ts","./src/typings/swagger.ts","./src/walk.ts","./src/visitors.ts","./src/oas-types.ts","./src/config/recommended.ts","./src/config/config.ts","./src/utils.ts","./src/resolve.ts","./src/types/oas3.ts","./src/types/oas2.ts","./src/types/oas3_1.ts","./src/config/rules.ts","./src/rules/no-unresolved-refs.ts","./src/redocly/registry-api-types.ts","./src/redocly/registry-api.ts","./src/redocly/index.ts","./src/rules/oas2/remove-unused-components.ts","./src/rules/oas3/remove-unused-components.ts","./src/bundle.ts","./src/types/redocly-yaml.ts","./src/typings/common.ts","./src/rules/other/stats.ts","./src/config/all.ts","./src/config/minimal.ts","../../node_modules/@types/js-levenshtein/index.d.ts","../../node_modules/@redocly/ajv/dist/compile/codegen/code.d.ts","../../node_modules/@redocly/ajv/dist/compile/codegen/scope.d.ts","../../node_modules/@redocly/ajv/dist/compile/codegen/index.d.ts","../../node_modules/@redocly/ajv/dist/compile/rules.d.ts","../../node_modules/@redocly/ajv/dist/compile/util.d.ts","../../node_modules/@redocly/ajv/dist/compile/validate/subschema.d.ts","../../node_modules/@redocly/ajv/dist/compile/errors.d.ts","../../node_modules/@redocly/ajv/dist/compile/validate/index.d.ts","../../node_modules/@redocly/ajv/dist/compile/validate/dataType.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/applicator/additionalItems.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/applicator/items2020.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/applicator/contains.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/applicator/dependencies.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/applicator/propertyNames.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/applicator/additionalProperties.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/applicator/not.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/applicator/anyOf.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/applicator/oneOf.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/applicator/if.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/applicator/index.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/validation/limitNumber.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/validation/multipleOf.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/validation/pattern.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/validation/required.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/validation/uniqueItems.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/validation/const.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/validation/enum.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/validation/index.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/format/format.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/unevaluated/unevaluatedItems.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/validation/dependentRequired.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/discriminator/types.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/discriminator/index.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/errors.d.ts","../../node_modules/@redocly/ajv/dist/types/json-schema.d.ts","../../node_modules/@redocly/ajv/dist/types/jtd-schema.d.ts","../../node_modules/@redocly/ajv/dist/runtime/validation_error.d.ts","../../node_modules/@redocly/ajv/dist/compile/ref_error.d.ts","../../node_modules/@redocly/ajv/dist/core.d.ts","../../node_modules/uri-js/dist/es5/uri.all.d.ts","../../node_modules/@redocly/ajv/dist/compile/resolve.d.ts","../../node_modules/@redocly/ajv/dist/compile/index.d.ts","../../node_modules/@redocly/ajv/dist/types/index.d.ts","../../node_modules/@redocly/ajv/dist/ajv.d.ts","./src/rules/ajv.ts","./src/rules/utils.ts","./src/rules/common/spec.ts","./src/rules/common/operation-2xx-response.ts","./src/rules/common/operation-4xx-response.ts","./src/rules/common/operation-operationId-unique.ts","./src/rules/common/operation-parameters-unique.ts","./src/rules/common/path-params-defined.ts","./src/rules/common/operation-tag-defined.ts","./src/rules/oas3/no-example-value-and-externalValue.ts","./src/rules/common/no-enum-type-mismatch.ts","./src/rules/common/no-path-trailing-slash.ts","./src/rules/common/path-declaration-must-exist.ts","./src/rules/common/operation-operationId-url-safe.ts","./src/rules/common/tags-alphabetical.ts","./src/rules/oas3/no-server-example.com.ts","./src/rules/oas3/no-server-trailing-slash.ts","./src/rules/common/info-description.ts","./src/rules/common/tag-description.ts","./src/rules/common/info-contact.ts","./src/rules/common/info-license-url.ts","./src/rules/common/operation-description.ts","./src/rules/oas3/no-unused-components.ts","./src/rules/common/path-not-include-query.ts","./src/rules/common/parameter-description.ts","./src/rules/common/operation-singular-tag.ts","./src/rules/common/license-url.ts","./src/rules/common/operation-security-defined.ts","./src/rules/oas3/boolean-parameter-prefixes.ts","./src/rules/common/paths-kebab-case.ts","./src/rules/common/path-http-verbs-order.ts","./src/rules/oas3/no-empty-servers.ts","./src/rules/oas3/no-invalid-media-type-examples.ts","./src/rules/common/no-identical-paths.ts","./src/rules/oas3/no-undefined-server-variable.ts","./src/rules/common/operation-operationId.ts","./src/rules/common/operation-summary.ts","./src/rules/common/no-ambiguous-paths.ts","./src/rules/oas3/no-servers-empty-enum.ts","./src/rules/common/no-http-verbs-in-paths.ts","./src/rules/oas3/request-mime-type.ts","./src/rules/oas3/response-mime-type.ts","./src/rules/common/path-segment-plural.ts","./src/rules/common/path-excludes-patterns.ts","./src/rules/common/no-invalid-schema-examples.ts","./src/rules/common/no-invalid-parameter-examples.ts","./src/rules/oas3/index.ts","./src/rules/oas2/boolean-parameter-prefixes.ts","./src/rules/oas2/request-mime-type.ts","./src/rules/oas2/response-mime-type.ts","./src/rules/oas2/index.ts","./src/decorators/common/registry-dependencies.ts","./src/decorators/common/operation-description-override.ts","./src/decorators/common/tag-description-override.ts","./src/decorators/common/info-description-override.ts","./src/decorators/common/remove-x-internal.ts","./src/decorators/oas3/index.ts","./src/decorators/oas2/index.ts","./src/config/builtIn.ts","./src/config/load.ts","./src/format/codeframes.ts","./src/format/format.ts","./src/lint.ts","./src/index.ts","./src/benchmark/utils.ts","./src/benchmark/benches/lint-with-many-rules.bench.ts","./src/benchmark/benches/lint-with-nested-rule.bench.ts","./src/benchmark/benches/lint-with-no-rules.bench.ts","./src/benchmark/benches/lint-with-top-level-rule-report.bench.ts","./src/benchmark/benches/lint-with-top-level-rule.bench.ts","./src/benchmark/benches/recommended-oas3.bench.ts","./src/benchmark/benches/resolve-with-no-external.bench.ts","../../node_modules/@babel/types/lib/index.d.ts","../../node_modules/@types/babel__generator/index.d.ts","../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../node_modules/@types/babel__template/index.d.ts","../../node_modules/@types/babel__traverse/index.d.ts","../../node_modules/@types/babel__core/index.d.ts","../../node_modules/@types/glob/index.d.ts","../../node_modules/@types/graceful-fs/index.d.ts","../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../node_modules/@types/istanbul-lib-report/index.d.ts","../../node_modules/@types/istanbul-reports/index.d.ts","../../node_modules/jest-diff/build/cleanupSemantic.d.ts","../../node_modules/jest-diff/build/types.d.ts","../../node_modules/jest-diff/build/diffLines.d.ts","../../node_modules/jest-diff/build/printDiffs.d.ts","../../node_modules/jest-diff/build/index.d.ts","../../node_modules/pretty-format/build/types.d.ts","../../node_modules/pretty-format/build/index.d.ts","../../node_modules/@types/jest/index.d.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/normalize-package-data/index.d.ts","../../node_modules/@types/prettier/index.d.ts","../../node_modules/@types/stack-utils/index.d.ts","../../node_modules/@types/yargs-parser/index.d.ts","../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"ac3a8c4040e183ce38da69d23b96939112457d1936198e6542672b7963cf0fce","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84",{"version":"cce43d02223f8049864f8568bed322c39424013275cd3bcc3f51492d8b546cb3","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"8dff1b4c2df638fcd976cbb0e636f23ab5968e836cd45084cc31d47d1ab19c49","affectsGlobalScope":true},{"version":"2bb4b3927299434052b37851a47bf5c39764f2ba88a888a107b32262e9292b7c","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"8f4c9f651c8294a2eb1cbd12581fe25bfb901ab1d474bb93cd38c7e2f4be7a30","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"df9c8a72ca8b0ed62f5470b41208a0587f0f73f0a7db28e5a1272cf92537518e","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"93544ca2f26a48716c1b6c5091842cad63129daac422dfa4bc52460465f22bb1","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"60761e6ea886034af0f294f025a7199360ce4e2c8ba4ec6408bc049cf9b89799","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"506b80b9951c9381dc5f11897b31fca5e2a65731d96ddefa19687fbc26b23c6e","affectsGlobalScope":true},"675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","fe4a2042d087990ebfc7dc0142d5aaf5a152e4baea86b45f283f103ec1e871ea","d88a479cccf787b4aa82362150fbeba5211a32dbfafa7b92ba6995ecaf9a1a89","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","c24ad9be9adf28f0927e3d9d9e9cec1c677022356f241ccbbfb97bfe8fb3d1a1","0ec0998e2d085e8ea54266f547976ae152c9dd6cdb9ac4d8a520a230f5ebae84","9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","ae9930989ed57478eb03b9b80ad3efa7a3eacdfeff0f78ecf7894c4963a64f93","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3e59f00ab03c33717b3130066d4debb272da90eeded4935ff0604c2bc25a5cae","6ac6f24aff52e62c3950461aa17eab26e3a156927858e6b654baef0058b4cd1e",{"version":"0714e2046df66c0e93c3330d30dbc0565b3e8cd3ee302cf99e4ede6220e5fec8","affectsGlobalScope":true},"5e099389ceec44681b37d10470755cdc6d9f516851e53c731c6e7e17b39ad86f","c99ccf1145f336a70177cb4655172c6a8a86779984a2e3f8894a1d331f7eec56","dea88dfd95781cdac9bee1d213c407aa53e0b1b8d2459e4b4feefdb4a3ba6d8d","8d1539367a9f5a03698f4c37111251eb76433ea8fcb5f1e546571b8513cac822","9ad71085f8ab35282a341995f85c6e06a19e6d5ab73b39f634b444ce8742a664","ee94d8f60c253d9994559ad325e9cb8a7af6bd36176884cb869ee5a40daa766c","606de01a4212a48518a219585f673504d3c0c26b361706006038a71bf8b9f42c","76de776e227ad01b703ce076b32177da31a765d5b5a681d5bb4c4e0f4876840f","aa4c984c8f2919742d06f305b1870bf180275cbe015490451a6374e6f6b9998a","46b9cdcd62e90f604876c143481ac7ff2c89cdfb902179bda0d8ee44c0695beb","e203fbd4f445f1851db5acdc5dc72caca25b0976df42715cc774649c3790b9e5","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","4c2c4f53e8eedd970f8afa369d7371544fb6231bf95e659f8602e09abe74d5a5",{"version":"e71aa3dcef67c4e22d57a8ff085806b986818c27d515a6c548547dbb06153c01","affectsGlobalScope":true},"64e2803203b14d7f104f570f2152fde13abb6edc17b2ddb33d81ad86cf43d494","3143a5add0467b83150961ecd33773b561a1207aec727002aa1d70333068eb1b","9b2a8f604e7c0482a9061755f00b287cc99bd8718dc82d8207dd74c599b6dc43","d0fc76a91c828fbe3f0be5d683273634b7b101068333ceed975a8a9ac464137b",{"version":"1a048ff164b8d9609f5de3139d4e37f6e8a82af82087ac414b9208f52ef8aac7","affectsGlobalScope":true},"3111079f3cb5f2b9c812ca3f46161562bce5bfb355e915f46ed46c41714dc1c3","64576aba4ff801004122056ccd049f0597aa471dcfd7670a6a0b877ee8dd97c0","b32b6b16cb0bda68199582ad6f22242d07ee75fac9b1f28a98cd838afc5eea45","4441ee4119824bfaebc49308559edd7545978f9cb41a40f115074e1031dde75f",{"version":"60693a88462d0e97900123b5bf7c73e146ce0cc94da46a61fe6775b430d2ff05","affectsGlobalScope":true},{"version":"588c69eda58b9202676ec7ca11a72c3762819b46a0ed72462c769846153c447c","affectsGlobalScope":true},"cc829932ffaf5c49092f878bec18af1fa5d8591b45a45e2b7f757f793cb3b4ed","47db10fdc4e76c4f4598cf7c91ba6bfde6cf6d8082c51860fe751643bf359739","53d2c24a3cbc00a88ebaf8ab8e1b6e206bc3a6647d544f877241684ea3d484e3","3be5ff21956db30c674bf2a98eb348e4ce7b4635cd9673413d86fbce761b77d8","0ce99c641ea20b0c0c09d093fc28f18f5ab31dc80033707a1ac3154399de2559","f0c33a0b325d3499cc9aded7d32886f998c9a27b465097c6cc136944d0aafdaa","44e42ed6ec9c4451ebe89524e80ac8564e9dd0988c56e6c58f393c810730595d","d4a0c39ece1e7c99d701e9c02a7dde8e3b75e03405f78d58d48dfea797ddbbac","1606ea615c0a5ea9f5c1376a33e34c0e1112e8dee31a5b3b8a74ce781893aa6f","9fef9de633d01cb7f01f68195626a890ededd25cf96a1e785617d08c8668230d","4455c78d226d061b1203c7614c6c6eb5f4f9db5f00d44ff47d0112de8766fbc4",{"version":"ec369bb9d97c4dc09dd2a4093b7ca3ba69ad284831fccac8a1977785e9e38ce5","affectsGlobalScope":true},"4465a636f5f6e9665a90e30691862c9e0a3ac2edc0e66296704f10865e924f2a","9af781f03d44f5635ed7844be0ce370d9d595d4b4ec67cad88f0fac03255257e","f9fd4c3ef6de27fa0e256f4e75b61711c4be05a3399f7714621d3edc832e36b0","e49290b7a927995c0d7e6b2b9c8296284b68a9036d9966531de65185269258d7","c3689f70ce7563c2299f2dcb3c72efdf6f87ae510e7456fa6223c767d0ca99fc","874ca809b79276460011480a2829f4c8d4db29416dd411f71efbf8f497f0ac09","82e1723b20fa0b15a7da0d1a03fec88348f82f640f7a2f308d6c0fac780cfc7c","605c24042a348b033b30121cff64380eb5d6d82853c5608f1f94ef72385cf5c9","23a28f834a078986bbf58f4e3705956983ff81c3c2493f3db3e5f0e8a9507779","4febdf7f3ec92706c58e0b4e8159cd6de718284ef384260b07c9641c13fc70ce",{"version":"eabefc2999c1489cf870e0c85af908900462fa245822d9a4616780a1a129945d","affectsGlobalScope":true},"7335933d9f30dcfd2c4b6080a8b78e81912a7fcefb1dafccb67ca4cb4b3ac23d","a6bfe9de9adef749010c118104b071d14943802ff0614732b47ce4f1c3e383cd","4c3d0e10396646db4a1e917fb852077ee77ae62e512913bef9cccc2bb0f8bd0e","3b220849d58140dcc6718f5b52dcd29fdb79c45bc28f561cbd29eb1cac6cce13","0ee22fce41f7417a24c808d266e91b850629113c104713a35854393d55994beb","22d1b1d965baba05766613e2e6c753bb005d4386c448cafd72c309ba689e8c24",{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true},"79d679a1d56574cc5cef92be1f0e5e8fb4af62fb55933b236670a0e0a23c83f6","e91ad231af87f864b3f07cd0e39b1cf6c133988156f087c1c3ccb0a5491c9115","208bb742e0f201470da121bc73847c74b62cff4172f38ae5949ae77d6c9c6b71","3663d1b50f356656a314e5df169bb51cb9d5fd75905fa703f75db6bb32030568","8f7a2387ecc680872d09a6edbca1612d699f77ee5a5129944935c3798a613d04","686e548ae30250d62532c8cacb43fccc922b693408371bd3503563c4a0f28eed","2db54ff4e7dba1e1416933fc428ffe20afbaafaa26aa6e94e5ba88c078a95268","a456dd94a596de621bd25cf3c91278101ea62782c3ac4435aef9190a2336ddde","c62a5738b30ab17e469944db2edb198074bd90896226026f29ddc5a931a04f56","3604fa90b69d8285b82345502c7436cb0596a306d5f5e785bbc4e5b34ae754f8","d7a7d87e9d46564706bb143afa3cfb509c7ee61e07720e90dcc6a848c17f079a","03a128cfb85c06ad01a4f7467346e0ae6c801ee6d5939907466d02e512761789","c68d66f154d858238302531a5523c2ba89d5796c32828dc3ec8697d9a087ce58","e3bb3146f30a9edd649251884769ab3883b78a886ba2b5fa3488b1a828b6a399","8252463a96b39e89b830418c71a54a7eccc5f733fe0161ef64d592ca2c4cc25c","6da005fdaae8c74560d627df67b62cdef79da0d48bad8d4b25011979bc04a9e0","e370856d28279697744d9c7d7ed8414b42fc514ad4b990f0cdd2f367447c6f5d","a522bebd2c8cca54af8131dcf81e89bba238a477e8602fcb871278186d544859","a672174de43654aa150b3d1c665d02a78839092d493ff2bc07570e40fb012684","3989dd62591dc01e256c1553537693918450ef84da7f19a2e62cef52d5330d96","02b41251895e409555bc5688231b8c9801cf817b614bd7fa45c60b6ab5a415a4","42bb71ccad0112599ed71989601785c4cb629e7835a7e4555a253cc93e89cead","ce07195e8b88d51386f54e2413a048dfd762cd16d9c743be8fea4c5dcd5c9a99","f9303a12274773b1ae31569a1d56408bc9e72e34e5c2679dc288ae875d650196","fb9c85c29ae353587e86958aee9480720247bef0bfd78aec4166d12e8e6d9676","1903793378099010b4a1787b3bd6a6a7cd39fa5aab3fac96faaaa5c95619a401","b9ae0edbbc8108039f0032d606fb7c7d0ffebc0c96564b46f21ed15c7d4f58b8","b97e11f65c49b2296e05637fa733fbe3d02e682605c1602eacdc6703aeb2b2e6","c528dad690c73e4f587cc897041ab729e20dc627c58ec0c2da9019a4e58a6c45","63ccc5dc211f97f78e352388c770a23b652ef408a8b337450c8a0c6d41fe26ea","93a7f0da7d7719193d334c3641670d3d5d08ed3de5a1fe6c38e7771c42eed85b","3f917dbcc7f342d1032d54930620198cc1b66c6618acf5ac32afc0e363078d8a","21bb8dda75eb025927e9d62d8fa619e349ebc5ba0b8b9dddd8fdfc9ff058e2b8","e6ada7804df8cd574c66660fdc6abc584a31692293636d1626573e476699bcf0","60bb0e47502bf8716d1230288b4e6387c1d34cded12752ab5338108e2e662e67","b8870b5155d11a273c75718a4f19026da49f91c548703858cd3400d06c3bd3b8","b3ae4ded82f27cabba780b9af9647f6e08c9a4cabe8fbb7a0cca69c7add9ef4b","8d26ae32e5c9c080e44aee4a67e5ef02b5fda0604e6fecbb7b753c537e5282d9","05c4e792dae38912ba333725cdf8c42d242337d006c0d887f4ce5a7787871a95","cd44995ee13d5d23df17a10213fed7b483fabfd5ea08f267ab52c07ce0b6b4da","1490dc5531e1d5efb8a52d1b3d946c572e270836f0f1490cfadf8fcf87a6b4a4","1a23b521db8d7ec9e2b96c6fbd4c7e96d12f408b1e03661b3b9f7da7291103e6","d3d0d11d30c9878ada3356b9c36a2754b8c7b6204a41c86bfb1488c08ce263b0","a6493f1f479637ed89a3ebec03f6dc117e3b1851d7e938ac4c8501396b8639a8","ae0951e44973e928fe2e999b11960493835d094b16adac0b085a79cff181bcb9","9d00e3a59eff68fa8c40e89953083eeaad1c5b2580ed7da2304424b249ecb237","1609ad4d488c356ee91eba7d7aa87cc6fb59bc8ac05c1a8f08665285ba3b71ad","8add088f72326098d68d622ddb024c00ae56a912383efe96b03f0481db88f7c9","dd17fe6332567b8f13e33dd3ff8926553cdcea2ad32d4350ce0063a2addaa764","4091d56a4622480549350b8811ec64c7826cd41a70ce5d9c1cc20384bb144049","353c0125b9e50c2a71e18394d46be5ccb37161cc0f0e7c69216aa6932c8cdafb","9c5d5f167e86b6ddf7142559a17d13fd39c34e868ae947c40381db866eed6609","4430dea494b0ee77bf823d9a7c4850a539e1060d5d865316bb23fb393e4f01d7","aae698ceead4edad0695b9ea87e43f274e698bdb302c8cb5fd2cab4dc496ccf0","51631e9a0c041e12479ab01f5801d8a237327d19e9ee37d5f1f66be912631425","c9d5d8adb1455f49182751ce885745dcc5f9697e9c260388bc3ae9d1860d5d10","f64289e3fa8d5719eaf5ba1bb02dd32dbbf7c603dda75c16770a6bc6e9c6b6d9","b1aa0e2e3511a8d10990f35866405c64c9e576258ef99eeb9ebafed980fd7506","2d255a5287f2fb5295688cb25bd18e1cd59866179f795f3f1fd6b71b7f0edf8f","43c1dbb78d5277a5fdd8fddce8b257f84ffa2b4253f58b95c04a310710d19e97","6c669d7e080344c1574aa276a89e57c3b9f0e97fab96a09427e7dfb19ca261bf","b71ac126853867d8e64c910f47d46d05c5ea797987d2604f63d401507dc43b6d","9a37238558d28b7ee06d08599e92eab30b90704541cc85e6448009d6d55fffa9","120b14d66a061910309ff97e7b06b5c6c09444218178b80b687a92af4d22d5dc","3de958065e3a44cbe0bfa667813bc59c63e63c9ce522af8dc1b64714910fa9ba","66e655f7c43558bae6703242cbd6c0551a94d0a97204bd4c4bbf7e77f24d1f85","72f7b32e023814078046c036ed4b7ad92414be0aebb63e805c682e14103ae38a","a89d8e67966d085ff971c9900cfa1abdd9732bab66d9c1914ecc15befdf8623d","396ce3137bb6388b71bbd7d88071c71c9b3333cd20cd04bf6a40cd6ee88c531d","2887a41f8373ff8443ac2bb9d898b398687621830465643ad131ad1a43e2678e","cde493e09daad4bb29922fe633f760be9f0e8e2f39cdca999cce3b8690b5e13a","18cc75193738e5c88f89facc31481024911f04da53bb3294930ecacd112a8f6e","f4eeac349468d231cc2968dac0cb744b2fd834010c6c1860e9fa2a8713907941","9f3c5498245c38c9016a369795ec5ef1768d09db63643c8dba9656e5ab294825","8f35095ce6914b0e95d563adae6f2546dddd8f85c4034d9050530076d860b5b8","b34bf09a55a5049f1f741a32360633f7569447f193b02e7b9a428ef8bc7fb9fe","ba1f5ad0e2df2c17351247ef47d8819713be50a1b7ad0520b15c6070d280b15b","821e64ddbdfa10fac5f0aed1c1d4e1f275840400caa96357ddfd15d02e5afba1","3c4aa4e4602f5c746b6fb2d7934ca15f6cfb9eee48190a9eb103a885433efc95","9e6254e0052d28c4d98fa6a48c340c5602d16b1e0fe1b8ba4623f4afb10deb34","ae695071def93643a9a4e39cf4fb53580fcbdc2018e746e660986247c8dce738","cc9f0665f4555a6f818dcaf79de44ff3f9e93211458548dd6260506e27b38025","a0be06b87b35dfe34748f797a7644f41fe0d00720907b4d93233bdb04f248f42","e8b5d684b18772f93fd7ac85652a9dd8c3c4ac42d255ebc676ddd75d213a60eb","ebdf0fc327828cf8e59bcaec0b03a1f65dd5f5b4849636405b43e71fbdd014d4","88a90a39fde5c1d8021d1a1a9fd351018f3fad88beeb38881f06cbfaaa6b06fe","6e3a3b59f2b4ebf3c4ca906f7f56d3d53f707eda7ed10be0863029d814b51583","329318845916f35128387bb291f2f252ccc80fe968ae6f6ee7a7bd644b9af509","6188eef68c972ead267314945b8f8a059ee997c45d46180d088977d4849dd093","8e8d8e11136d8c5a59360e90455356a41c8006129f7e459fbbf8a4551379f23a","a959db7039a615c94a9c236d0664463fd8fcc7c08e68c01bd7de4b49116c2b2c","3144d082b0efd80551c4b9ff1dd29ba6b0f0bb0709d481ed5285313e0845ee36","a9319c8e234166988f24be3a12d8845a5d43f34d31f72621ca311384ee7a56ae","37106a318a9b70352fc7fb06ed9a31c218342402f194355ad7c3e83c226b8b84","8d6b668236eb00f3942aa43d87ad361448b34ad335446fb9f4915ee612c1c372","232fe9b0f859a921132d464999ff9d2f979e29636dfd2225989e638a43bc5630","679f01be7caf9e091684d1f0fdabc8837991ed589a4c2617c72799c4aed0b60e","a3f88fc187a30877572d86ca78bfbad1ce1f7f081a13f4a1a3de12fc19172763","2b4e1f7c647e05af840b8a7f9444481b6dd3fff0dffd57ee765ab9507365ee5f","099e32d949572f34338bcc5a9bf84b09966b5b347b0462154eaf1679968ff74e","b72ac783938f2f9522af3694262d6112b061c0fa2b8c4c5df226efd0550fcba9","efcf6bd086be2f68fc73f04109ce82b5d64b1a4b01606ecb28de046b8bafeb97","576815ad63894f88f18c36c239e23562b35033e0dab57ff665dc0410db4a8b54","d23b6230c10ffb27b8cec7f0aef6443f8736620ce07bf7a991efb02e0f599d42","53e922fc5556e9825e10ebc780ea40088404abb4f1a76251bb5fac18eb20fc93","cb2796cb7a19f4a50dea47a54885c072578c08efdf3c0f1f3f766c9c4d5b414f","d0b2d3ab2b3934d5ea2d1ca2973fce9c031bec115c37e437b32bad32c0d79196","16d27f5fcf14a7fe4861a459c1ed641b99e687d8e11fbd24b5445a7e84782ca9","8434dc2a1f866e713703e6d8ccc85168d92c07049138a3f2895e63f1b0d0ff8a","d9be0ae1a460ba18c0bdeaa48ae1f6e637207796dd0b57afc540393b064db8df","5e6ba9dd85bfc644b768acbd5cc457299b8f94b776a3ce920cd48f2081731490","d83f1778cc95256ae503c326ea6804cffef5e5d6310e0d8b8dc56a2107abc7ae","274814c52225bce5396c2c4968f2c1d1c08fb4e04b76bff0d9d070b35f23260e","9688010a836de8a1927fb20f325179c6ae3ee66a64a1d0e5c414b15502652359","56d135e85dcc15aa982d8ca85f8021859447db147c51123e3811b3a48cb7d90b","6c8a91aa5b37b93dbf757bd99da7befc145884a94dcfb5a74043b1df4d70bfec","a3515918d4a0b9f14b3fa2ce25e2468994f31a492107a6be31c7c19ac03b28f9","6779e161b87b79684bbcf4514e8e2372d87d066930be098425539b64cf47351f","84af506cbec2a4666b02c573f601dad8d43fa7582bc4a675278b0d905ca9a851","df41f874a075a75dd3148c5a2e2980c7e7aff23f33212c2427e20c763501fed1","bc7711d24df78e5dbedb9b206cdc72e1880a757328bd5e094b582dcf572bb273","63f0634d9c4ce2d509e81033b88f5a565c5151876300616dd07958b54f944b14","ba925453f1dab00f090cca9264730784d7196d4a1c8ad708a75835fb37300e02","98aa50be1cb83f917da7d8eeca7b67db47d4bd36dd6cda5e5ccc0f77dbfdd0e1","10fbb3aa2cf7ca20729db77cb694d8d5ed4f2056232c1cef64e195bff8ff4669","41d545e5d36083f5bf6432c93dc2d3cb29ed4f8deae03b9dec59c55e02fbe597","0b4cc0ce5b20bc61ab6191013d258d109c9c8c6bb973368bb9ec57fce8b5ff97","9814894f88bc9283fa344d1a075913da647a36a7aa5f6d3080ce5df057d2b2d3","8da9301d0fcc3206fa9013ccec448c5fbfb1a97e072d40705b88bd7b8a929e54","19e6bf4146329b9217fa9de9706d67af25ed9dfdeb4f313793121d753894d95a","08f208c5084dc2ee9e2f78efba4c995d912e171fce3fb30c4c55c4f138751212","56aa78b45d55e0a7f63116bd779556e830c01b8d0da654cc562ff541fb38717d","74d5487b667f1e2507d0ba90f8e9c71ccb8e8650566cacebeb08c83e51e8a6aa","5ab2d27597934f3f7144ad849121bc16d2fb0f5be488bd1ccef0bd892cdbb687","58711001f6b96d2567f5ba7cd255729663ac4552487a2183a6159c66fe9e2897","5846b3f59e2b0248fe8a8dbb28b502ac64ffaa9a750d5ad612ec4b85d4f28495","a8e514e468dddda487d02cfec2497d0931f9a3c373f04b3793aab147346a23d0","73f2b813701e5ccce9487a5f4339e1aa3ddbc168c9155882a0c9910bc10b477a","cbfe93fd48a60da61b2ce41c1966ea54b3c7f76d270b31afb37543051d776e75","39c5dd7859c6ea583b507be9ac779dfaf98475143b4b17eca332196eb7fc1672","917d30b25bb8d8aff968108788e93703c28cf4509657723dd7e8b2597095ba7e","b70731911ccd0d327a688d8e1e5a26e38c55d36ee329c70599f9cc550d8bb7fb","979077d3aff73c5ba2aeb12306d4b36cca483e43943f5e749cc9decd8b812f84","0b304d474cf6ac7fc79a8115c724eb2c68cc0f36bc8649155cd8a65808042ee9","225591c9bda5ab3e0756bce43f4d5d35d6f673968dd82d30792d4c3c182e4a20","413d72d18cd0ce2bf60ec34eb68377c1924db6430b75c43d6b3fe818e99766f6","15f2bb8c8dbd4101c1ff26ffaef79d2b6ddfc79a8fd29bcaf2c9ac777549a333","b50bf43d558b33dd01fe7bd57b8b68c025db666561e893c9f1d3154a9a8d05cc","07b3d20fc1026eefabe20dbd7ff759dcc4b5bbc2ed3f732a3a91c814c9f5354c","41476c129af01db7691ce3fda6a8a581a9636980ba5f831f72554934a7b05911","2ff9995137f3e5d68971388ec58af0c79721626323884513f9f5e2e996ac1fdd","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","29afd3970c68fdcbf3168de0f855d7cd84135c436050793b0584e1a904affe2d","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","3b043cf9a81854a72963fdb57d1884fc4da1cf5be69b5e0a4c5b751e58cb6d88","dd5647a9ccccb2b074dca8a02b00948ac293091ebe73fdf2e6e98f718819f669","fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","69da61a7b5093dac77fa3bec8be95dcf9a74c95a0e9161edb98bb24e30e439d2","561eca7a381b96d6ccac6e4061e6d2ae53f5bc44203f3fd9f5b26864c32ae6e9","62ea38627e3ebab429f7616812a9394d327c2bc271003dfba985de9b4137369f","b4439890c168d646357928431100daac5cbdee1d345a34e6bf6eca9f3abe22bc","5d72971a459517c44c1379dab9ed248e87a61ba0a1e0f25c9d67e1e640cd9a09","02d734976af36f4273d930bea88b3e62adf6b078cf120c1c63d49aa8d8427c5c",{"version":"516a426e3960379f310107635b8f3a7e8c307c6c665080b128039d9299ec4087","affectsGlobalScope":true},"0359682c54e487c4cab2b53b2b4d35cc8dea4d9914bc6abcdb5701f8b8e745a4","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","6209c901f30cc321f4b86800d11fad3d67e73a3308f19946b1bc642af0280298","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","f7e133b20ee2669b6c0e5d7f0cd510868c57cd64b283e68c7f598e30ce9d76d2","99bbadcf4153b61d79a2616b377da8f42a16fcb41d2136f1f6c2cf070b084216"],"options":{"composite":true,"declaration":true,"module":1,"noImplicitAny":true,"noImplicitReturns":true,"noImplicitThis":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./lib","rootDir":"./src","strictFunctionTypes":true,"strictNullChecks":true,"strictPropertyInitialization":true,"target":3},"fileIdsList":[[252],[137,138,142,169,170,174,177,178],[135,136],[135],[137,178],[137,138,174,176,178],[175,178,179],[178],[137,138,177,178],[137,138,140,141,177,178],[137,138,139,177,178],[137,138,142,169,170,171,172,173,177,178],[137,138,142,174,177],[142,178],[144,145,146,147,148,149,150,151,152,153,178],[167,178],[143,154,162,163,164,165,166,168],[147,178],[155,156,157,158,159,160,161,178],[252,253,254,255,256],[252,254],[58,71,72,102],[72,102],[260],[261],[267,269],[46],[34,36,37,38,39,40,41,42,43,44,45,46],[34,35,37,38,39,40,41,42,43,44,45,46],[35,36,37,38,39,40,41,42,43,44,45,46],[34,35,36,38,39,40,41,42,43,44,45,46],[34,35,36,37,39,40,41,42,43,44,45,46],[34,35,36,37,38,40,41,42,43,44,45,46],[34,35,36,37,38,39,41,42,43,44,45,46],[34,35,36,37,38,39,40,42,43,44,45,46],[34,35,36,37,38,39,40,41,43,44,45,46],[34,35,36,37,38,39,40,41,42,44,45,46],[34,35,36,37,38,39,40,41,42,43,45,46],[34,35,36,37,38,39,40,41,42,43,44,46],[34,35,36,37,38,39,40,41,42,43,44,45],[74,94,102,103,104],[275],[74,88,102],[263,264],[263,264,265,266],[268],[50],[51,52,53,54,55],[52],[51],[59],[61],[62,67],[63,71,72,79,88],[63,64,71,79],[65,95],[66,67,72,80],[67,88],[68,69,71,79],[69],[70,71],[71],[71,72,73,88,94],[72,73],[74,79,88,94],[71,72,74,75,79,88,91,94],[74,76,88,91,94],[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],[71,77],[78,94],[69,71,79,88],[80],[81],[61,82],[83,93],[84],[85],[71,86],[86,87,95,97],[71,88],[89],[90],[79,88,91],[92],[79,93],[85,94],[95],[88,96],[97],[98],[71,73,88,94,97,99],[88,100],[72,81,117,242,244],[72,81,115,117,238,242,244],[57,72,81,117,118,244],[108,113,115,117],[47,48,49,57,111,112,113,115,116,117,118,119,120,121,122,125,126,127],[115],[114,115,132,133,226,230,236,237],[57,72,81,108,109,111,113,114,116],[72,115,116,125,238],[113,115,116],[111,112,116],[48,110,111,112,116],[111,112,125],[49,111,112,116],[112,231,232,233,234,235],[49,56,109,111],[81,109,111,240],[48,49,57,108,110,111,112,113,115,116,117,118,119,120,125,128,129,130,131,239,240,241,242],[107],[57,111,112,113,115,117,118,119,120,121,129,180,182,238],[112],[72,80,81,109,115,116,124],[105,115,116,123],[48,117],[48,49,56,57,72,81,94,115,116],[49,111,179],[112,181],[48,110,111,112],[48,110,111,112,181],[48,111,181],[111,112],[48,49,110,111,112],[49,57,112,116,181],[49,111,112,117],[112,122,182,183,184,185,186,187,188,190,191,192,193,194,197,198,199,200,201,203,204,205,206,207,209,210,213,215,216,217,219,222,223,224,225,227,228,229],[49,110,112,116],[110,111,112,116],[113,122,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,213,214,215,216,217,218,219,220,221,222,223,224,225],[48,49,111,112,181],[48,112],[49,112],[48,49,112,116],[48,111,112,116],[48,110,130],[48,49,111,134,180],[57],[49,57],[57,118],[57,116],[48,107],[58,72,105,106,108,111,115],[48,49,57,110,111,116],[48,49,57,112,113,116,117]],"referencedMap":[[254,1],[179,2],[137,3],[136,4],[141,5],[177,6],[176,7],[138,8],[139,9],[143,9],[142,10],[140,11],[174,12],[172,8],[178,13],[144,14],[149,8],[151,8],[146,8],[147,14],[153,8],[154,15],[145,8],[150,8],[152,8],[148,8],[168,16],[167,8],[169,17],[163,8],[165,8],[164,8],[160,8],[166,18],[161,8],[162,19],[155,8],[156,8],[157,8],[158,8],[159,8],[257,20],[253,1],[255,21],[256,1],[258,22],[259,23],[261,24],[262,25],[270,26],[47,27],[35,28],[36,29],[34,30],[37,31],[38,32],[39,33],[40,34],[41,35],[42,36],[43,37],[44,38],[45,39],[46,40],[105,41],[276,42],[103,43],[265,44],[267,45],[266,44],[269,46],[51,47],[56,48],[53,49],[55,49],[52,50],[59,51],[61,52],[62,53],[63,54],[64,55],[65,56],[66,57],[67,58],[68,59],[69,60],[70,61],[71,62],[72,63],[73,64],[74,65],[75,66],[76,67],[102,68],[77,69],[78,70],[79,71],[80,72],[81,73],[82,74],[83,75],[84,76],[85,77],[86,78],[87,79],[88,80],[89,81],[90,82],[91,83],[92,84],[93,85],[94,86],[95,87],[96,88],[97,89],[98,90],[99,91],[100,92],[245,93],[246,93],[247,93],[248,93],[249,93],[250,94],[251,95],[244,96],[128,97],[132,98],[238,99],[115,100],[239,101],[133,98],[114,98],[121,102],[234,103],[232,104],[231,105],[235,106],[233,103],[237,107],[236,107],[240,108],[241,109],[243,110],[108,111],[242,112],[113,113],[125,114],[124,115],[49,116],[117,117],[180,118],[199,119],[197,119],[200,119],[206,119],[217,120],[190,121],[219,104],[213,120],[225,122],[224,122],[191,123],[183,123],[184,123],[201,121],[185,120],[193,120],[215,121],[186,120],[207,124],[205,120],[216,121],[188,120],[204,120],[192,123],[223,120],[210,120],[203,123],[187,120],[222,103],[209,123],[182,125],[198,119],[194,120],[122,126],[227,113],[230,127],[126,128],[228,129],[229,129],[208,113],[226,130],[211,113],[189,113],[212,131],[195,113],[196,113],[218,132],[214,113],[202,133],[127,134],[220,135],[221,135],[131,136],[181,137],[119,138],[118,139],[120,140],[129,141],[110,142],[116,143],[112,144],[111,145]],"exportedModulesMap":[[254,1],[179,2],[137,3],[136,4],[141,5],[177,6],[176,7],[138,8],[139,9],[143,9],[142,10],[140,11],[174,12],[172,8],[178,13],[144,14],[149,8],[151,8],[146,8],[147,14],[153,8],[154,15],[145,8],[150,8],[152,8],[148,8],[168,16],[167,8],[169,17],[163,8],[165,8],[164,8],[160,8],[166,18],[161,8],[162,19],[155,8],[156,8],[157,8],[158,8],[159,8],[257,20],[253,1],[255,21],[256,1],[258,22],[259,23],[261,24],[262,25],[270,26],[47,27],[35,28],[36,29],[34,30],[37,31],[38,32],[39,33],[40,34],[41,35],[42,36],[43,37],[44,38],[45,39],[46,40],[105,41],[276,42],[103,43],[265,44],[267,45],[266,44],[269,46],[51,47],[56,48],[53,49],[55,49],[52,50],[59,51],[61,52],[62,53],[63,54],[64,55],[65,56],[66,57],[67,58],[68,59],[69,60],[70,61],[71,62],[72,63],[73,64],[74,65],[75,66],[76,67],[102,68],[77,69],[78,70],[79,71],[80,72],[81,73],[82,74],[83,75],[84,76],[85,77],[86,78],[87,79],[88,80],[89,81],[90,82],[91,83],[92,84],[93,85],[94,86],[95,87],[96,88],[97,89],[98,90],[99,91],[100,92],[245,93],[246,93],[247,93],[248,93],[249,93],[250,94],[251,95],[244,96],[128,97],[132,98],[238,99],[115,100],[239,101],[133,98],[114,98],[121,102],[234,103],[232,104],[231,105],[235,106],[233,103],[237,107],[236,107],[240,108],[241,109],[243,110],[108,111],[242,112],[113,113],[125,114],[124,115],[49,116],[117,117],[180,118],[199,119],[197,119],[200,119],[206,119],[217,120],[190,121],[219,104],[213,120],[225,122],[224,122],[191,123],[183,123],[184,123],[201,121],[185,120],[193,120],[215,121],[186,120],[207,124],[205,120],[216,121],[188,120],[204,120],[192,123],[223,120],[210,120],[203,123],[187,120],[222,103],[209,123],[182,125],[198,119],[194,120],[122,126],[227,113],[230,127],[126,128],[228,129],[229,129],[208,113],[226,130],[211,113],[189,113],[212,131],[195,113],[196,113],[218,132],[214,113],[202,133],[127,134],[220,135],[221,135],[131,136],[181,137],[119,138],[118,139],[120,140],[129,141],[110,142],[116,143],[112,144],[111,145]],"semanticDiagnosticsPerFile":[254,252,179,135,137,136,141,177,173,176,138,139,143,142,140,174,172,178,170,171,144,149,151,146,147,153,154,145,150,152,148,168,167,169,163,165,164,160,166,161,162,155,156,157,158,159,257,253,255,256,258,259,260,261,262,270,134,107,271,47,35,36,34,37,38,39,40,41,42,43,44,45,46,58,104,105,272,106,273,274,275,276,109,103,263,265,267,266,264,269,268,8,7,2,9,10,11,12,13,14,15,16,3,4,20,17,18,19,21,22,23,5,24,25,26,27,6,28,29,30,31,32,1,33,175,54,51,56,53,50,55,52,59,61,62,63,64,65,66,67,68,69,70,71,72,73,60,101,74,75,76,102,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,245,246,247,248,249,250,251,244,128,132,238,115,239,133,114,121,234,232,231,235,233,237,236,240,241,243,108,242,113,125,123,124,49,117,180,199,197,200,206,217,190,219,213,225,224,191,183,184,201,185,193,215,186,207,205,216,188,204,192,223,210,203,187,222,209,182,198,194,122,227,230,126,228,229,208,226,211,189,212,195,196,218,214,202,127,220,221,131,181,57,119,118,120,129,130,48,110,116,112,111]},"version":"4.3.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.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.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/@types/lodash/common/common.d.ts","../../node_modules/@types/lodash/common/array.d.ts","../../node_modules/@types/lodash/common/collection.d.ts","../../node_modules/@types/lodash/common/date.d.ts","../../node_modules/@types/lodash/common/function.d.ts","../../node_modules/@types/lodash/common/lang.d.ts","../../node_modules/@types/lodash/common/math.d.ts","../../node_modules/@types/lodash/common/number.d.ts","../../node_modules/@types/lodash/common/object.d.ts","../../node_modules/@types/lodash/common/seq.d.ts","../../node_modules/@types/lodash/common/string.d.ts","../../node_modules/@types/lodash/common/util.d.ts","../../node_modules/@types/lodash/index.d.ts","../../node_modules/@types/lodash.isequal/index.d.ts","./src/typings/openapi.ts","./src/ref-utils.ts","../../node_modules/yaml-ast-parser/dist/src/mark.d.ts","../../node_modules/yaml-ast-parser/dist/src/exception.d.ts","../../node_modules/yaml-ast-parser/dist/src/yamlAST.d.ts","../../node_modules/yaml-ast-parser/dist/src/loader.d.ts","../../node_modules/yaml-ast-parser/dist/src/dumper.d.ts","../../node_modules/yaml-ast-parser/dist/src/scalarInference.d.ts","../../node_modules/yaml-ast-parser/dist/src/index.d.ts","./src/types/index.ts","../../node_modules/@types/minimatch/index.d.ts","./node_modules/@types/node/assert.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/dns.d.ts","./node_modules/@types/node/domain.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/repl.d.ts","./node_modules/@types/node/stream.d.ts","./node_modules/@types/node/string_decoder.d.ts","./node_modules/@types/node/timers.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/form-data/index.d.ts","../../node_modules/@types/node-fetch/externals.d.ts","../../node_modules/@types/node-fetch/index.d.ts","../../node_modules/@types/pluralize/index.d.ts","../../node_modules/@types/js-yaml/index.d.ts","./src/js-yaml/index.ts","../../node_modules/colorette/index.d.ts","./src/typings/swagger.ts","./src/walk.ts","./src/visitors.ts","./src/oas-types.ts","./src/config/recommended.ts","./src/config/config.ts","./src/utils.ts","./src/resolve.ts","./src/types/oas3.ts","./src/types/oas2.ts","./src/types/oas3_1.ts","./src/config/rules.ts","./src/rules/no-unresolved-refs.ts","./src/redocly/registry-api-types.ts","./src/redocly/registry-api.ts","./src/redocly/redocly-client-types.ts","./src/redocly/index.ts","./src/rules/oas2/remove-unused-components.ts","./src/rules/oas3/remove-unused-components.ts","./src/bundle.ts","./src/types/redocly-yaml.ts","./src/typings/common.ts","./src/rules/other/stats.ts","./src/config/all.ts","./src/config/minimal.ts","../../node_modules/@types/js-levenshtein/index.d.ts","../../node_modules/@redocly/ajv/dist/compile/codegen/code.d.ts","../../node_modules/@redocly/ajv/dist/compile/codegen/scope.d.ts","../../node_modules/@redocly/ajv/dist/compile/codegen/index.d.ts","../../node_modules/@redocly/ajv/dist/compile/rules.d.ts","../../node_modules/@redocly/ajv/dist/compile/util.d.ts","../../node_modules/@redocly/ajv/dist/compile/validate/subschema.d.ts","../../node_modules/@redocly/ajv/dist/compile/errors.d.ts","../../node_modules/@redocly/ajv/dist/compile/validate/index.d.ts","../../node_modules/@redocly/ajv/dist/compile/validate/dataType.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/applicator/additionalItems.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/applicator/items2020.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/applicator/contains.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/applicator/dependencies.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/applicator/propertyNames.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/applicator/additionalProperties.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/applicator/not.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/applicator/anyOf.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/applicator/oneOf.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/applicator/if.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/applicator/index.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/validation/limitNumber.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/validation/multipleOf.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/validation/pattern.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/validation/required.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/validation/uniqueItems.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/validation/const.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/validation/enum.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/validation/index.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/format/format.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/unevaluated/unevaluatedItems.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/validation/dependentRequired.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/discriminator/types.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/discriminator/index.d.ts","../../node_modules/@redocly/ajv/dist/vocabularies/errors.d.ts","../../node_modules/@redocly/ajv/dist/types/json-schema.d.ts","../../node_modules/@redocly/ajv/dist/types/jtd-schema.d.ts","../../node_modules/@redocly/ajv/dist/runtime/validation_error.d.ts","../../node_modules/@redocly/ajv/dist/compile/ref_error.d.ts","../../node_modules/@redocly/ajv/dist/core.d.ts","../../node_modules/uri-js/dist/es5/uri.all.d.ts","../../node_modules/@redocly/ajv/dist/compile/resolve.d.ts","../../node_modules/@redocly/ajv/dist/compile/index.d.ts","../../node_modules/@redocly/ajv/dist/types/index.d.ts","../../node_modules/@redocly/ajv/dist/ajv.d.ts","./src/rules/ajv.ts","./src/rules/utils.ts","./src/rules/common/spec.ts","./src/rules/common/operation-2xx-response.ts","./src/rules/common/operation-4xx-response.ts","./src/rules/common/operation-operationId-unique.ts","./src/rules/common/operation-parameters-unique.ts","./src/rules/common/path-params-defined.ts","./src/rules/common/operation-tag-defined.ts","./src/rules/oas3/no-example-value-and-externalValue.ts","./src/rules/common/no-enum-type-mismatch.ts","./src/rules/common/no-path-trailing-slash.ts","./src/rules/common/path-declaration-must-exist.ts","./src/rules/common/operation-operationId-url-safe.ts","./src/rules/common/tags-alphabetical.ts","./src/rules/oas3/no-server-example.com.ts","./src/rules/oas3/no-server-trailing-slash.ts","./src/rules/common/info-description.ts","./src/rules/common/tag-description.ts","./src/rules/common/info-contact.ts","./src/rules/common/info-license-url.ts","./src/rules/common/operation-description.ts","./src/rules/oas3/no-unused-components.ts","./src/rules/common/path-not-include-query.ts","./src/rules/common/parameter-description.ts","./src/rules/common/operation-singular-tag.ts","./src/rules/common/license-url.ts","./src/rules/common/operation-security-defined.ts","./src/rules/oas3/boolean-parameter-prefixes.ts","./src/rules/common/paths-kebab-case.ts","./src/rules/common/path-http-verbs-order.ts","./src/rules/oas3/no-empty-servers.ts","./src/rules/oas3/no-invalid-media-type-examples.ts","./src/rules/common/no-identical-paths.ts","./src/rules/oas3/no-undefined-server-variable.ts","./src/rules/common/operation-operationId.ts","./src/rules/common/operation-summary.ts","./src/rules/common/no-ambiguous-paths.ts","./src/rules/oas3/no-servers-empty-enum.ts","./src/rules/common/no-http-verbs-in-paths.ts","./src/rules/oas3/request-mime-type.ts","./src/rules/oas3/response-mime-type.ts","./src/rules/common/path-segment-plural.ts","./src/rules/common/path-excludes-patterns.ts","./src/rules/common/no-invalid-schema-examples.ts","./src/rules/common/no-invalid-parameter-examples.ts","./src/rules/oas3/index.ts","./src/rules/oas2/boolean-parameter-prefixes.ts","./src/rules/oas2/request-mime-type.ts","./src/rules/oas2/response-mime-type.ts","./src/rules/oas2/index.ts","./src/decorators/common/registry-dependencies.ts","./src/decorators/common/operation-description-override.ts","./src/decorators/common/tag-description-override.ts","./src/decorators/common/info-description-override.ts","./src/decorators/common/remove-x-internal.ts","./src/decorators/oas3/index.ts","./src/decorators/oas2/index.ts","./src/config/builtIn.ts","./src/config/load.ts","./src/format/codeframes.ts","./src/format/format.ts","./src/lint.ts","./src/index.ts","./src/benchmark/utils.ts","./src/benchmark/benches/lint-with-many-rules.bench.ts","./src/benchmark/benches/lint-with-nested-rule.bench.ts","./src/benchmark/benches/lint-with-no-rules.bench.ts","./src/benchmark/benches/lint-with-top-level-rule-report.bench.ts","./src/benchmark/benches/lint-with-top-level-rule.bench.ts","./src/benchmark/benches/recommended-oas3.bench.ts","./src/benchmark/benches/resolve-with-no-external.bench.ts","../../node_modules/@babel/types/lib/index.d.ts","../../node_modules/@types/babel__generator/index.d.ts","../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../node_modules/@types/babel__template/index.d.ts","../../node_modules/@types/babel__traverse/index.d.ts","../../node_modules/@types/babel__core/index.d.ts","../../node_modules/@types/glob/index.d.ts","../../node_modules/@types/graceful-fs/index.d.ts","../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../node_modules/@types/istanbul-lib-report/index.d.ts","../../node_modules/@types/istanbul-reports/index.d.ts","../../node_modules/jest-diff/build/cleanupSemantic.d.ts","../../node_modules/jest-diff/build/types.d.ts","../../node_modules/jest-diff/build/diffLines.d.ts","../../node_modules/jest-diff/build/printDiffs.d.ts","../../node_modules/jest-diff/build/index.d.ts","../../node_modules/pretty-format/build/types.d.ts","../../node_modules/pretty-format/build/index.d.ts","../../node_modules/@types/jest/index.d.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/normalize-package-data/index.d.ts","../../node_modules/@types/prettier/index.d.ts","../../node_modules/@types/stack-utils/index.d.ts","../../node_modules/@types/yargs-parser/index.d.ts","../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"ac3a8c4040e183ce38da69d23b96939112457d1936198e6542672b7963cf0fce","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84",{"version":"cce43d02223f8049864f8568bed322c39424013275cd3bcc3f51492d8b546cb3","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"8dff1b4c2df638fcd976cbb0e636f23ab5968e836cd45084cc31d47d1ab19c49","affectsGlobalScope":true},{"version":"2bb4b3927299434052b37851a47bf5c39764f2ba88a888a107b32262e9292b7c","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"8f4c9f651c8294a2eb1cbd12581fe25bfb901ab1d474bb93cd38c7e2f4be7a30","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"df9c8a72ca8b0ed62f5470b41208a0587f0f73f0a7db28e5a1272cf92537518e","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"93544ca2f26a48716c1b6c5091842cad63129daac422dfa4bc52460465f22bb1","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"60761e6ea886034af0f294f025a7199360ce4e2c8ba4ec6408bc049cf9b89799","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"506b80b9951c9381dc5f11897b31fca5e2a65731d96ddefa19687fbc26b23c6e","affectsGlobalScope":true},"675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","fe4a2042d087990ebfc7dc0142d5aaf5a152e4baea86b45f283f103ec1e871ea","d70c026dd2eeaa974f430ea229230a1897fdb897dc74659deebe2afd4feeb08f","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","c24ad9be9adf28f0927e3d9d9e9cec1c677022356f241ccbbfb97bfe8fb3d1a1","0ec0998e2d085e8ea54266f547976ae152c9dd6cdb9ac4d8a520a230f5ebae84","9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","ae9930989ed57478eb03b9b80ad3efa7a3eacdfeff0f78ecf7894c4963a64f93","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3e59f00ab03c33717b3130066d4debb272da90eeded4935ff0604c2bc25a5cae","6ac6f24aff52e62c3950461aa17eab26e3a156927858e6b654baef0058b4cd1e",{"version":"0714e2046df66c0e93c3330d30dbc0565b3e8cd3ee302cf99e4ede6220e5fec8","affectsGlobalScope":true},"5e099389ceec44681b37d10470755cdc6d9f516851e53c731c6e7e17b39ad86f","c99ccf1145f336a70177cb4655172c6a8a86779984a2e3f8894a1d331f7eec56","dea88dfd95781cdac9bee1d213c407aa53e0b1b8d2459e4b4feefdb4a3ba6d8d","8d1539367a9f5a03698f4c37111251eb76433ea8fcb5f1e546571b8513cac822","9ad71085f8ab35282a341995f85c6e06a19e6d5ab73b39f634b444ce8742a664","ee94d8f60c253d9994559ad325e9cb8a7af6bd36176884cb869ee5a40daa766c","606de01a4212a48518a219585f673504d3c0c26b361706006038a71bf8b9f42c","76de776e227ad01b703ce076b32177da31a765d5b5a681d5bb4c4e0f4876840f","aa4c984c8f2919742d06f305b1870bf180275cbe015490451a6374e6f6b9998a","46b9cdcd62e90f604876c143481ac7ff2c89cdfb902179bda0d8ee44c0695beb","e203fbd4f445f1851db5acdc5dc72caca25b0976df42715cc774649c3790b9e5","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","4c2c4f53e8eedd970f8afa369d7371544fb6231bf95e659f8602e09abe74d5a5",{"version":"e71aa3dcef67c4e22d57a8ff085806b986818c27d515a6c548547dbb06153c01","affectsGlobalScope":true},"64e2803203b14d7f104f570f2152fde13abb6edc17b2ddb33d81ad86cf43d494","3143a5add0467b83150961ecd33773b561a1207aec727002aa1d70333068eb1b","9b2a8f604e7c0482a9061755f00b287cc99bd8718dc82d8207dd74c599b6dc43","d0fc76a91c828fbe3f0be5d683273634b7b101068333ceed975a8a9ac464137b",{"version":"1a048ff164b8d9609f5de3139d4e37f6e8a82af82087ac414b9208f52ef8aac7","affectsGlobalScope":true},"3111079f3cb5f2b9c812ca3f46161562bce5bfb355e915f46ed46c41714dc1c3","64576aba4ff801004122056ccd049f0597aa471dcfd7670a6a0b877ee8dd97c0","b32b6b16cb0bda68199582ad6f22242d07ee75fac9b1f28a98cd838afc5eea45","4441ee4119824bfaebc49308559edd7545978f9cb41a40f115074e1031dde75f",{"version":"60693a88462d0e97900123b5bf7c73e146ce0cc94da46a61fe6775b430d2ff05","affectsGlobalScope":true},{"version":"588c69eda58b9202676ec7ca11a72c3762819b46a0ed72462c769846153c447c","affectsGlobalScope":true},"cc829932ffaf5c49092f878bec18af1fa5d8591b45a45e2b7f757f793cb3b4ed","47db10fdc4e76c4f4598cf7c91ba6bfde6cf6d8082c51860fe751643bf359739","53d2c24a3cbc00a88ebaf8ab8e1b6e206bc3a6647d544f877241684ea3d484e3","3be5ff21956db30c674bf2a98eb348e4ce7b4635cd9673413d86fbce761b77d8","0ce99c641ea20b0c0c09d093fc28f18f5ab31dc80033707a1ac3154399de2559","f0c33a0b325d3499cc9aded7d32886f998c9a27b465097c6cc136944d0aafdaa","44e42ed6ec9c4451ebe89524e80ac8564e9dd0988c56e6c58f393c810730595d","d4a0c39ece1e7c99d701e9c02a7dde8e3b75e03405f78d58d48dfea797ddbbac","1606ea615c0a5ea9f5c1376a33e34c0e1112e8dee31a5b3b8a74ce781893aa6f","9fef9de633d01cb7f01f68195626a890ededd25cf96a1e785617d08c8668230d","4455c78d226d061b1203c7614c6c6eb5f4f9db5f00d44ff47d0112de8766fbc4",{"version":"ec369bb9d97c4dc09dd2a4093b7ca3ba69ad284831fccac8a1977785e9e38ce5","affectsGlobalScope":true},"4465a636f5f6e9665a90e30691862c9e0a3ac2edc0e66296704f10865e924f2a","9af781f03d44f5635ed7844be0ce370d9d595d4b4ec67cad88f0fac03255257e","f9fd4c3ef6de27fa0e256f4e75b61711c4be05a3399f7714621d3edc832e36b0","e49290b7a927995c0d7e6b2b9c8296284b68a9036d9966531de65185269258d7","c3689f70ce7563c2299f2dcb3c72efdf6f87ae510e7456fa6223c767d0ca99fc","874ca809b79276460011480a2829f4c8d4db29416dd411f71efbf8f497f0ac09","82e1723b20fa0b15a7da0d1a03fec88348f82f640f7a2f308d6c0fac780cfc7c","605c24042a348b033b30121cff64380eb5d6d82853c5608f1f94ef72385cf5c9","23a28f834a078986bbf58f4e3705956983ff81c3c2493f3db3e5f0e8a9507779","4febdf7f3ec92706c58e0b4e8159cd6de718284ef384260b07c9641c13fc70ce",{"version":"eabefc2999c1489cf870e0c85af908900462fa245822d9a4616780a1a129945d","affectsGlobalScope":true},"7335933d9f30dcfd2c4b6080a8b78e81912a7fcefb1dafccb67ca4cb4b3ac23d","a6bfe9de9adef749010c118104b071d14943802ff0614732b47ce4f1c3e383cd","4c3d0e10396646db4a1e917fb852077ee77ae62e512913bef9cccc2bb0f8bd0e","3b220849d58140dcc6718f5b52dcd29fdb79c45bc28f561cbd29eb1cac6cce13","0ee22fce41f7417a24c808d266e91b850629113c104713a35854393d55994beb","22d1b1d965baba05766613e2e6c753bb005d4386c448cafd72c309ba689e8c24",{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true},"79d679a1d56574cc5cef92be1f0e5e8fb4af62fb55933b236670a0e0a23c83f6","736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","208bb742e0f201470da121bc73847c74b62cff4172f38ae5949ae77d6c9c6b71","3663d1b50f356656a314e5df169bb51cb9d5fd75905fa703f75db6bb32030568","8f7a2387ecc680872d09a6edbca1612d699f77ee5a5129944935c3798a613d04","686e548ae30250d62532c8cacb43fccc922b693408371bd3503563c4a0f28eed","2db54ff4e7dba1e1416933fc428ffe20afbaafaa26aa6e94e5ba88c078a95268","a456dd94a596de621bd25cf3c91278101ea62782c3ac4435aef9190a2336ddde","c62a5738b30ab17e469944db2edb198074bd90896226026f29ddc5a931a04f56","3604fa90b69d8285b82345502c7436cb0596a306d5f5e785bbc4e5b34ae754f8","d7a7d87e9d46564706bb143afa3cfb509c7ee61e07720e90dcc6a848c17f079a","03a128cfb85c06ad01a4f7467346e0ae6c801ee6d5939907466d02e512761789","c68d66f154d858238302531a5523c2ba89d5796c32828dc3ec8697d9a087ce58","0f972d9c5968c87b961cc4bde826b2f75416787255bda7c30c8a55da767db955","8252463a96b39e89b830418c71a54a7eccc5f733fe0161ef64d592ca2c4cc25c","6da005fdaae8c74560d627df67b62cdef79da0d48bad8d4b25011979bc04a9e0","8032905ea2cac66490c70de60dfe3569271fe6c17ddbb12643bd0cf625505668","a522bebd2c8cca54af8131dcf81e89bba238a477e8602fcb871278186d544859","a672174de43654aa150b3d1c665d02a78839092d493ff2bc07570e40fb012684","3989dd62591dc01e256c1553537693918450ef84da7f19a2e62cef52d5330d96","02b41251895e409555bc5688231b8c9801cf817b614bd7fa45c60b6ab5a415a4","42bb71ccad0112599ed71989601785c4cb629e7835a7e4555a253cc93e89cead","ce07195e8b88d51386f54e2413a048dfd762cd16d9c743be8fea4c5dcd5c9a99","f5d7e1b25f31fac20b1c764846c1b0b9abb2f24f01f68b99aa6a11e72dc8ed22","77db60bf0b1a5137c6ed2fd78d2b98aaa0ea5ea1cf75ef1d4a1beee4f64e26f1","fb9c85c29ae353587e86958aee9480720247bef0bfd78aec4166d12e8e6d9676","1903793378099010b4a1787b3bd6a6a7cd39fa5aab3fac96faaaa5c95619a401","6728dff495cd0edd5d573e96202d8d59509af139cec45e24a5fed9b77b0ba26a","b97e11f65c49b2296e05637fa733fbe3d02e682605c1602eacdc6703aeb2b2e6","c528dad690c73e4f587cc897041ab729e20dc627c58ec0c2da9019a4e58a6c45","63ccc5dc211f97f78e352388c770a23b652ef408a8b337450c8a0c6d41fe26ea","93a7f0da7d7719193d334c3641670d3d5d08ed3de5a1fe6c38e7771c42eed85b","3f917dbcc7f342d1032d54930620198cc1b66c6618acf5ac32afc0e363078d8a","21bb8dda75eb025927e9d62d8fa619e349ebc5ba0b8b9dddd8fdfc9ff058e2b8","e6ada7804df8cd574c66660fdc6abc584a31692293636d1626573e476699bcf0","60bb0e47502bf8716d1230288b4e6387c1d34cded12752ab5338108e2e662e67","b8870b5155d11a273c75718a4f19026da49f91c548703858cd3400d06c3bd3b8","b3ae4ded82f27cabba780b9af9647f6e08c9a4cabe8fbb7a0cca69c7add9ef4b","8d26ae32e5c9c080e44aee4a67e5ef02b5fda0604e6fecbb7b753c537e5282d9","05c4e792dae38912ba333725cdf8c42d242337d006c0d887f4ce5a7787871a95","cd44995ee13d5d23df17a10213fed7b483fabfd5ea08f267ab52c07ce0b6b4da","1490dc5531e1d5efb8a52d1b3d946c572e270836f0f1490cfadf8fcf87a6b4a4","1a23b521db8d7ec9e2b96c6fbd4c7e96d12f408b1e03661b3b9f7da7291103e6","d3d0d11d30c9878ada3356b9c36a2754b8c7b6204a41c86bfb1488c08ce263b0","a6493f1f479637ed89a3ebec03f6dc117e3b1851d7e938ac4c8501396b8639a8","ae0951e44973e928fe2e999b11960493835d094b16adac0b085a79cff181bcb9","9d00e3a59eff68fa8c40e89953083eeaad1c5b2580ed7da2304424b249ecb237","1609ad4d488c356ee91eba7d7aa87cc6fb59bc8ac05c1a8f08665285ba3b71ad","8add088f72326098d68d622ddb024c00ae56a912383efe96b03f0481db88f7c9","dd17fe6332567b8f13e33dd3ff8926553cdcea2ad32d4350ce0063a2addaa764","4091d56a4622480549350b8811ec64c7826cd41a70ce5d9c1cc20384bb144049","353c0125b9e50c2a71e18394d46be5ccb37161cc0f0e7c69216aa6932c8cdafb","9c5d5f167e86b6ddf7142559a17d13fd39c34e868ae947c40381db866eed6609","4430dea494b0ee77bf823d9a7c4850a539e1060d5d865316bb23fb393e4f01d7","aae698ceead4edad0695b9ea87e43f274e698bdb302c8cb5fd2cab4dc496ccf0","51631e9a0c041e12479ab01f5801d8a237327d19e9ee37d5f1f66be912631425","c9d5d8adb1455f49182751ce885745dcc5f9697e9c260388bc3ae9d1860d5d10","f64289e3fa8d5719eaf5ba1bb02dd32dbbf7c603dda75c16770a6bc6e9c6b6d9","b1aa0e2e3511a8d10990f35866405c64c9e576258ef99eeb9ebafed980fd7506","2d255a5287f2fb5295688cb25bd18e1cd59866179f795f3f1fd6b71b7f0edf8f","43c1dbb78d5277a5fdd8fddce8b257f84ffa2b4253f58b95c04a310710d19e97","6c669d7e080344c1574aa276a89e57c3b9f0e97fab96a09427e7dfb19ca261bf","b71ac126853867d8e64c910f47d46d05c5ea797987d2604f63d401507dc43b6d","9a37238558d28b7ee06d08599e92eab30b90704541cc85e6448009d6d55fffa9","120b14d66a061910309ff97e7b06b5c6c09444218178b80b687a92af4d22d5dc","3de958065e3a44cbe0bfa667813bc59c63e63c9ce522af8dc1b64714910fa9ba","66e655f7c43558bae6703242cbd6c0551a94d0a97204bd4c4bbf7e77f24d1f85","72f7b32e023814078046c036ed4b7ad92414be0aebb63e805c682e14103ae38a","a89d8e67966d085ff971c9900cfa1abdd9732bab66d9c1914ecc15befdf8623d","396ce3137bb6388b71bbd7d88071c71c9b3333cd20cd04bf6a40cd6ee88c531d","2887a41f8373ff8443ac2bb9d898b398687621830465643ad131ad1a43e2678e","cde493e09daad4bb29922fe633f760be9f0e8e2f39cdca999cce3b8690b5e13a","18cc75193738e5c88f89facc31481024911f04da53bb3294930ecacd112a8f6e","f4eeac349468d231cc2968dac0cb744b2fd834010c6c1860e9fa2a8713907941","9f3c5498245c38c9016a369795ec5ef1768d09db63643c8dba9656e5ab294825","8f35095ce6914b0e95d563adae6f2546dddd8f85c4034d9050530076d860b5b8","b34bf09a55a5049f1f741a32360633f7569447f193b02e7b9a428ef8bc7fb9fe","ba1f5ad0e2df2c17351247ef47d8819713be50a1b7ad0520b15c6070d280b15b","821e64ddbdfa10fac5f0aed1c1d4e1f275840400caa96357ddfd15d02e5afba1","3c4aa4e4602f5c746b6fb2d7934ca15f6cfb9eee48190a9eb103a885433efc95","9e6254e0052d28c4d98fa6a48c340c5602d16b1e0fe1b8ba4623f4afb10deb34","5f11171b66470ac9766ad0a795a2103262df7a733163b5b14c3d34eab161174f","cc9f0665f4555a6f818dcaf79de44ff3f9e93211458548dd6260506e27b38025","a0be06b87b35dfe34748f797a7644f41fe0d00720907b4d93233bdb04f248f42","e8b5d684b18772f93fd7ac85652a9dd8c3c4ac42d255ebc676ddd75d213a60eb","ebdf0fc327828cf8e59bcaec0b03a1f65dd5f5b4849636405b43e71fbdd014d4","88a90a39fde5c1d8021d1a1a9fd351018f3fad88beeb38881f06cbfaaa6b06fe","6e3a3b59f2b4ebf3c4ca906f7f56d3d53f707eda7ed10be0863029d814b51583","329318845916f35128387bb291f2f252ccc80fe968ae6f6ee7a7bd644b9af509","1d2e0aa962881cb1ee3f648d98c6e33b0c14e9c1a37f1fe15298c1b619c56d55","8e8d8e11136d8c5a59360e90455356a41c8006129f7e459fbbf8a4551379f23a","a959db7039a615c94a9c236d0664463fd8fcc7c08e68c01bd7de4b49116c2b2c","3144d082b0efd80551c4b9ff1dd29ba6b0f0bb0709d481ed5285313e0845ee36","a9319c8e234166988f24be3a12d8845a5d43f34d31f72621ca311384ee7a56ae","37106a318a9b70352fc7fb06ed9a31c218342402f194355ad7c3e83c226b8b84","8d6b668236eb00f3942aa43d87ad361448b34ad335446fb9f4915ee612c1c372","232fe9b0f859a921132d464999ff9d2f979e29636dfd2225989e638a43bc5630","679f01be7caf9e091684d1f0fdabc8837991ed589a4c2617c72799c4aed0b60e","a3f88fc187a30877572d86ca78bfbad1ce1f7f081a13f4a1a3de12fc19172763","2b4e1f7c647e05af840b8a7f9444481b6dd3fff0dffd57ee765ab9507365ee5f","099e32d949572f34338bcc5a9bf84b09966b5b347b0462154eaf1679968ff74e","b72ac783938f2f9522af3694262d6112b061c0fa2b8c4c5df226efd0550fcba9","efcf6bd086be2f68fc73f04109ce82b5d64b1a4b01606ecb28de046b8bafeb97","576815ad63894f88f18c36c239e23562b35033e0dab57ff665dc0410db4a8b54","d23b6230c10ffb27b8cec7f0aef6443f8736620ce07bf7a991efb02e0f599d42","53e922fc5556e9825e10ebc780ea40088404abb4f1a76251bb5fac18eb20fc93","cb2796cb7a19f4a50dea47a54885c072578c08efdf3c0f1f3f766c9c4d5b414f","d0b2d3ab2b3934d5ea2d1ca2973fce9c031bec115c37e437b32bad32c0d79196","16d27f5fcf14a7fe4861a459c1ed641b99e687d8e11fbd24b5445a7e84782ca9","8434dc2a1f866e713703e6d8ccc85168d92c07049138a3f2895e63f1b0d0ff8a","d9be0ae1a460ba18c0bdeaa48ae1f6e637207796dd0b57afc540393b064db8df","5e6ba9dd85bfc644b768acbd5cc457299b8f94b776a3ce920cd48f2081731490","d83f1778cc95256ae503c326ea6804cffef5e5d6310e0d8b8dc56a2107abc7ae","fd1531c043404c41a9554cc39c1af2738f53edc508e450a17c246f3c5e881889","9688010a836de8a1927fb20f325179c6ae3ee66a64a1d0e5c414b15502652359","56d135e85dcc15aa982d8ca85f8021859447db147c51123e3811b3a48cb7d90b","6c8a91aa5b37b93dbf757bd99da7befc145884a94dcfb5a74043b1df4d70bfec","a3515918d4a0b9f14b3fa2ce25e2468994f31a492107a6be31c7c19ac03b28f9","6779e161b87b79684bbcf4514e8e2372d87d066930be098425539b64cf47351f","84af506cbec2a4666b02c573f601dad8d43fa7582bc4a675278b0d905ca9a851","df41f874a075a75dd3148c5a2e2980c7e7aff23f33212c2427e20c763501fed1","bc7711d24df78e5dbedb9b206cdc72e1880a757328bd5e094b582dcf572bb273","63f0634d9c4ce2d509e81033b88f5a565c5151876300616dd07958b54f944b14","ba925453f1dab00f090cca9264730784d7196d4a1c8ad708a75835fb37300e02","98aa50be1cb83f917da7d8eeca7b67db47d4bd36dd6cda5e5ccc0f77dbfdd0e1","10fbb3aa2cf7ca20729db77cb694d8d5ed4f2056232c1cef64e195bff8ff4669","41d545e5d36083f5bf6432c93dc2d3cb29ed4f8deae03b9dec59c55e02fbe597","0b4cc0ce5b20bc61ab6191013d258d109c9c8c6bb973368bb9ec57fce8b5ff97","9814894f88bc9283fa344d1a075913da647a36a7aa5f6d3080ce5df057d2b2d3","8da9301d0fcc3206fa9013ccec448c5fbfb1a97e072d40705b88bd7b8a929e54","19e6bf4146329b9217fa9de9706d67af25ed9dfdeb4f313793121d753894d95a","08f208c5084dc2ee9e2f78efba4c995d912e171fce3fb30c4c55c4f138751212","56aa78b45d55e0a7f63116bd779556e830c01b8d0da654cc562ff541fb38717d","74d5487b667f1e2507d0ba90f8e9c71ccb8e8650566cacebeb08c83e51e8a6aa","5ab2d27597934f3f7144ad849121bc16d2fb0f5be488bd1ccef0bd892cdbb687","58711001f6b96d2567f5ba7cd255729663ac4552487a2183a6159c66fe9e2897","5846b3f59e2b0248fe8a8dbb28b502ac64ffaa9a750d5ad612ec4b85d4f28495","a8e514e468dddda487d02cfec2497d0931f9a3c373f04b3793aab147346a23d0","8d7f137894b053990f38c75a12d3281b048ad6ab48a0fce71d34e171c1b82a2e","cbfe93fd48a60da61b2ce41c1966ea54b3c7f76d270b31afb37543051d776e75","39c5dd7859c6ea583b507be9ac779dfaf98475143b4b17eca332196eb7fc1672","917d30b25bb8d8aff968108788e93703c28cf4509657723dd7e8b2597095ba7e","372177466b0aee4a7836904f81b9966c4b8ee27f3bdd6396c9aebd604a3a2cf1","979077d3aff73c5ba2aeb12306d4b36cca483e43943f5e749cc9decd8b812f84","0b304d474cf6ac7fc79a8115c724eb2c68cc0f36bc8649155cd8a65808042ee9","225591c9bda5ab3e0756bce43f4d5d35d6f673968dd82d30792d4c3c182e4a20","413d72d18cd0ce2bf60ec34eb68377c1924db6430b75c43d6b3fe818e99766f6","15f2bb8c8dbd4101c1ff26ffaef79d2b6ddfc79a8fd29bcaf2c9ac777549a333","b50bf43d558b33dd01fe7bd57b8b68c025db666561e893c9f1d3154a9a8d05cc","07b3d20fc1026eefabe20dbd7ff759dcc4b5bbc2ed3f732a3a91c814c9f5354c","41476c129af01db7691ce3fda6a8a581a9636980ba5f831f72554934a7b05911","2ff9995137f3e5d68971388ec58af0c79721626323884513f9f5e2e996ac1fdd","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","1a7cc144992d79b062c22ac0309c6624dbb0d49bbddff7ea3b9daa0c17bcac0a","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","3b043cf9a81854a72963fdb57d1884fc4da1cf5be69b5e0a4c5b751e58cb6d88","dd5647a9ccccb2b074dca8a02b00948ac293091ebe73fdf2e6e98f718819f669","fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","69da61a7b5093dac77fa3bec8be95dcf9a74c95a0e9161edb98bb24e30e439d2","561eca7a381b96d6ccac6e4061e6d2ae53f5bc44203f3fd9f5b26864c32ae6e9","62ea38627e3ebab429f7616812a9394d327c2bc271003dfba985de9b4137369f","b4439890c168d646357928431100daac5cbdee1d345a34e6bf6eca9f3abe22bc","5d72971a459517c44c1379dab9ed248e87a61ba0a1e0f25c9d67e1e640cd9a09","02d734976af36f4273d930bea88b3e62adf6b078cf120c1c63d49aa8d8427c5c",{"version":"516a426e3960379f310107635b8f3a7e8c307c6c665080b128039d9299ec4087","affectsGlobalScope":true},"0359682c54e487c4cab2b53b2b4d35cc8dea4d9914bc6abcdb5701f8b8e745a4","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","6209c901f30cc321f4b86800d11fad3d67e73a3308f19946b1bc642af0280298","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","99bbadcf4153b61d79a2616b377da8f42a16fcb41d2136f1f6c2cf070b084216"],"options":{"composite":true,"declaration":true,"module":1,"noImplicitAny":true,"noImplicitReturns":true,"noImplicitThis":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./lib","rootDir":"./src","strictFunctionTypes":true,"strictNullChecks":true,"strictPropertyInitialization":true,"target":3},"fileIdsList":[[253],[138,139,143,170,171,175,178,179],[136,137],[136],[138,179],[138,139,175,177,179],[176,179,180],[179],[138,139,178,179],[138,139,141,142,178,179],[138,139,140,178,179],[138,139,143,170,171,172,173,174,178,179],[138,139,143,175,178],[143,179],[145,146,147,148,149,150,151,152,153,154,179],[168,179],[144,155,163,164,165,166,167,169],[148,179],[156,157,158,159,160,161,162,179],[253,254,255,256,257],[253,255],[58,71,72,102],[72,102],[261],[262],[268,270],[46],[34,36,37,38,39,40,41,42,43,44,45,46],[34,35,37,38,39,40,41,42,43,44,45,46],[35,36,37,38,39,40,41,42,43,44,45,46],[34,35,36,38,39,40,41,42,43,44,45,46],[34,35,36,37,39,40,41,42,43,44,45,46],[34,35,36,37,38,40,41,42,43,44,45,46],[34,35,36,37,38,39,41,42,43,44,45,46],[34,35,36,37,38,39,40,42,43,44,45,46],[34,35,36,37,38,39,40,41,43,44,45,46],[34,35,36,37,38,39,40,41,42,44,45,46],[34,35,36,37,38,39,40,41,42,43,45,46],[34,35,36,37,38,39,40,41,42,43,44,46],[34,35,36,37,38,39,40,41,42,43,44,45],[74,94,102,103,104],[276],[74,88,102],[264,265],[264,265,266,267],[269],[50],[51,52,53,54,55],[52],[51],[59],[61],[62,67],[63,71,72,79,88],[63,64,71,79],[65,95],[66,67,72,80],[67,88],[68,69,71,79],[69],[70,71],[71],[71,72,73,88,94],[72,73],[74,79,88,94],[71,72,74,75,79,88,91,94],[74,76,88,91,94],[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],[71,77],[78,94],[69,71,79,88],[80],[81],[61,82],[83,93],[84],[85],[71,86],[86,87,95,97],[71,88],[89],[90],[79,88,91],[92],[79,93],[85,94],[95],[88,96],[97],[98],[71,73,88,94,97,99],[88,100],[72,81,117,243,245],[72,81,115,117,239,243,245],[57,72,81,117,118,245],[108,113,115,117],[47,48,49,57,111,112,113,115,116,117,118,119,120,121,122,126,127,128],[115],[114,115,133,134,227,231,237,238],[57,72,81,108,109,111,113,114,116],[72,115,116,126,239],[113,115,116],[111,112,116],[48,110,111,112,116],[111,112,126],[49,111,112,116],[112,232,233,234,235,236],[49,56,109,111],[81,109,111,241],[48,49,57,108,110,111,112,113,115,116,117,118,119,120,126,129,130,131,132,240,241,242,243],[107],[57,111,112,113,115,117,118,119,120,121,130,181,183,239],[112],[72,80,81,109,115,116,124,125],[105,115,116,123],[48,117],[48,49,56,57,72,81,94,115,116],[49,111,180],[112,182],[48,110,111,112],[48,110,111,112,182],[48,111,182],[111,112],[48,49,110,111,112],[49,57,112,116,182],[49,111,112,117],[112,122,183,184,185,186,187,188,189,191,192,193,194,195,198,199,200,201,202,204,205,206,207,208,210,211,214,216,217,218,220,223,224,225,226,228,229,230],[49,110,112,116],[110,111,112,116],[113,122,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,213,214,215,216,217,218,219,220,221,222,223,224,225,226],[48,49,111,112,182],[48,112],[49,112],[48,49,112,116],[48,111,112,116],[48,110,131],[48,49,111,135,181],[57],[49,57],[57,118],[57,116],[48,107],[58,72,105,106,108,111,115],[48,49,57,110,111,116],[48,49,57,112,113,116,117]],"referencedMap":[[255,1],[180,2],[138,3],[137,4],[142,5],[178,6],[177,7],[139,8],[140,9],[144,9],[143,10],[141,11],[175,12],[173,8],[179,13],[145,14],[150,8],[152,8],[147,8],[148,14],[154,8],[155,15],[146,8],[151,8],[153,8],[149,8],[169,16],[168,8],[170,17],[164,8],[166,8],[165,8],[161,8],[167,18],[162,8],[163,19],[156,8],[157,8],[158,8],[159,8],[160,8],[258,20],[254,1],[256,21],[257,1],[259,22],[260,23],[262,24],[263,25],[271,26],[47,27],[35,28],[36,29],[34,30],[37,31],[38,32],[39,33],[40,34],[41,35],[42,36],[43,37],[44,38],[45,39],[46,40],[105,41],[277,42],[103,43],[266,44],[268,45],[267,44],[270,46],[51,47],[56,48],[53,49],[55,49],[52,50],[59,51],[61,52],[62,53],[63,54],[64,55],[65,56],[66,57],[67,58],[68,59],[69,60],[70,61],[71,62],[72,63],[73,64],[74,65],[75,66],[76,67],[102,68],[77,69],[78,70],[79,71],[80,72],[81,73],[82,74],[83,75],[84,76],[85,77],[86,78],[87,79],[88,80],[89,81],[90,82],[91,83],[92,84],[93,85],[94,86],[95,87],[96,88],[97,89],[98,90],[99,91],[100,92],[246,93],[247,93],[248,93],[249,93],[250,93],[251,94],[252,95],[245,96],[129,97],[133,98],[239,99],[115,100],[240,101],[134,98],[114,98],[121,102],[235,103],[233,104],[232,105],[236,106],[234,103],[238,107],[237,107],[241,108],[242,109],[244,110],[108,111],[243,112],[113,113],[126,114],[125,98],[124,115],[49,116],[117,117],[181,118],[200,119],[198,119],[201,119],[207,119],[218,120],[191,121],[220,104],[214,120],[226,122],[225,122],[192,123],[184,123],[185,123],[202,121],[186,120],[194,120],[216,121],[187,120],[208,124],[206,120],[217,121],[189,120],[205,120],[193,123],[224,120],[211,120],[204,123],[188,120],[223,103],[210,123],[183,125],[199,119],[195,120],[122,126],[228,113],[231,127],[127,128],[229,129],[230,129],[209,113],[227,130],[212,113],[190,113],[213,131],[196,113],[197,113],[219,132],[215,113],[203,133],[128,134],[221,135],[222,135],[132,136],[182,137],[119,138],[118,139],[120,140],[130,141],[110,142],[116,143],[112,144],[111,145]],"exportedModulesMap":[[255,1],[180,2],[138,3],[137,4],[142,5],[178,6],[177,7],[139,8],[140,9],[144,9],[143,10],[141,11],[175,12],[173,8],[179,13],[145,14],[150,8],[152,8],[147,8],[148,14],[154,8],[155,15],[146,8],[151,8],[153,8],[149,8],[169,16],[168,8],[170,17],[164,8],[166,8],[165,8],[161,8],[167,18],[162,8],[163,19],[156,8],[157,8],[158,8],[159,8],[160,8],[258,20],[254,1],[256,21],[257,1],[259,22],[260,23],[262,24],[263,25],[271,26],[47,27],[35,28],[36,29],[34,30],[37,31],[38,32],[39,33],[40,34],[41,35],[42,36],[43,37],[44,38],[45,39],[46,40],[105,41],[277,42],[103,43],[266,44],[268,45],[267,44],[270,46],[51,47],[56,48],[53,49],[55,49],[52,50],[59,51],[61,52],[62,53],[63,54],[64,55],[65,56],[66,57],[67,58],[68,59],[69,60],[70,61],[71,62],[72,63],[73,64],[74,65],[75,66],[76,67],[102,68],[77,69],[78,70],[79,71],[80,72],[81,73],[82,74],[83,75],[84,76],[85,77],[86,78],[87,79],[88,80],[89,81],[90,82],[91,83],[92,84],[93,85],[94,86],[95,87],[96,88],[97,89],[98,90],[99,91],[100,92],[246,93],[247,93],[248,93],[249,93],[250,93],[251,94],[252,95],[245,96],[129,97],[133,98],[239,99],[115,100],[240,101],[134,98],[114,98],[121,102],[235,103],[233,104],[232,105],[236,106],[234,103],[238,107],[237,107],[241,108],[242,109],[244,110],[108,111],[243,112],[113,113],[126,114],[125,98],[124,115],[49,116],[117,117],[181,118],[200,119],[198,119],[201,119],[207,119],[218,120],[191,121],[220,104],[214,120],[226,122],[225,122],[192,123],[184,123],[185,123],[202,121],[186,120],[194,120],[216,121],[187,120],[208,124],[206,120],[217,121],[189,120],[205,120],[193,123],[224,120],[211,120],[204,123],[188,120],[223,103],[210,123],[183,125],[199,119],[195,120],[122,126],[228,113],[231,127],[127,128],[229,129],[230,129],[209,113],[227,130],[212,113],[190,113],[213,131],[196,113],[197,113],[219,132],[215,113],[203,133],[128,134],[221,135],[222,135],[132,136],[182,137],[119,138],[118,139],[120,140],[130,141],[110,142],[116,143],[112,144],[111,145]],"semanticDiagnosticsPerFile":[255,253,180,136,138,137,142,178,174,177,139,140,144,143,141,175,173,179,171,172,145,150,152,147,148,154,155,146,151,153,149,169,168,170,164,166,165,161,167,162,163,156,157,158,159,160,258,254,256,257,259,260,261,262,263,271,135,107,272,47,35,36,34,37,38,39,40,41,42,43,44,45,46,58,104,105,273,106,274,275,276,277,109,103,264,266,268,267,265,270,269,8,7,2,9,10,11,12,13,14,15,16,3,4,20,17,18,19,21,22,23,5,24,25,26,27,6,28,29,30,31,32,1,33,176,54,51,56,53,50,55,52,59,61,62,63,64,65,66,67,68,69,70,71,72,73,60,101,74,75,76,102,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,246,247,248,249,250,251,252,245,129,133,239,115,240,134,114,121,235,233,232,236,234,238,237,241,242,244,108,243,113,126,125,123,124,49,117,181,200,198,201,207,218,191,220,214,226,225,192,184,185,202,186,194,216,187,208,206,217,189,205,193,224,211,204,188,223,210,183,199,195,122,228,231,127,229,230,209,227,212,190,213,196,197,219,215,203,128,221,222,132,182,57,119,118,120,130,131,48,110,116,112,111]},"version":"4.3.3"}