@code-pushup/eslint-plugin 0.78.0 → 0.79.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@code-pushup/eslint-plugin",
3
- "version": "0.78.0",
3
+ "version": "0.79.1",
4
4
  "license": "MIT",
5
5
  "description": "Code PushUp plugin for detecting problems in source code using ESLint.📋",
6
6
  "homepage": "https://github.com/code-pushup/cli/tree/main/packages/plugin-eslint#readme",
@@ -39,8 +39,8 @@
39
39
  "type": "module",
40
40
  "dependencies": {
41
41
  "glob": "^11.0.0",
42
- "@code-pushup/utils": "0.78.0",
43
- "@code-pushup/models": "0.78.0",
42
+ "@code-pushup/utils": "0.79.1",
43
+ "@code-pushup/models": "0.79.1",
44
44
  "zod": "^4.0.5"
45
45
  },
46
46
  "peerDependencies": {
@@ -66,6 +66,7 @@ export declare const eslintPluginOptionsSchema: z.ZodObject<{
66
66
  }, z.core.$strip>]>>;
67
67
  artifactsPaths: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>;
68
68
  }, z.core.$strip>>;
69
+ scoreTargets: z.ZodOptional<z.ZodUnion<readonly [z.ZodOptional<z.ZodNumber>, z.ZodRecord<z.ZodString, z.ZodNonOptional<z.ZodOptional<z.ZodNumber>>>]>>;
69
70
  }, z.core.$strip>;
70
71
  export type ESLintPluginOptions = z.infer<typeof eslintPluginOptionsSchema>;
71
72
  export {};
package/src/lib/config.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { pluginArtifactOptionsSchema } from '@code-pushup/models';
2
+ import { pluginArtifactOptionsSchema, pluginScoreTargetsSchema, } from '@code-pushup/models';
3
3
  import { toArray } from '@code-pushup/utils';
4
4
  const patternsSchema = z
5
5
  .union([z.string(), z.array(z.string()).min(1)])
@@ -39,5 +39,6 @@ const customGroupSchema = z.object({
39
39
  export const eslintPluginOptionsSchema = z.object({
40
40
  groups: z.array(customGroupSchema).optional(),
41
41
  artifacts: pluginArtifactOptionsSchema.optional(),
42
+ scoreTargets: pluginScoreTargetsSchema,
42
43
  });
43
44
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,MAAM,cAAc,GAAG,CAAC;KACrB,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KAC/C,QAAQ,CACP,6EAA6E,CAC9E,CAAC;AAEJ,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;AAEzE,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE;IACnC,QAAQ,EAAE,cAAc;CACzB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,KAAK,CAAC,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAAC;KACjD,SAAS,CACR,CAAC,MAAM,EAAsB,EAAE,CAC7B,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;IACjD,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE;IACtB,CAAC,CAAC,MAAM,CACb,CAAC;AAGJ,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC;KACtC,KAAK,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KAC/D,SAAS,CAAC,OAAO,CAAC,CAAC;AAQtB,MAAM,sBAAsB,GAAG,CAAC;KAC7B,KAAK,CAAC;IACL,CAAC;SACE,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,GAAG,CAAC,CAAC,EAAE,oDAAoD,CAAC;IAC/D,CAAC;SACE,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC9B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;QAChD,KAAK,EAAE,oDAAoD;KAC5D,CAAC;CACL,CAAC;KACD,QAAQ,CACP,qFAAqF,CACtF,CAAC;AAEJ,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IACpD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IACjD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE;IAC7D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,QAAQ,EAAE;IACnE,KAAK,EAAE,sBAAsB;CAC9B,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE;IAC7C,SAAS,EAAE,2BAA2B,CAAC,QAAQ,EAAE;CAClD,CAAC,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,MAAM,cAAc,GAAG,CAAC;KACrB,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KAC/C,QAAQ,CACP,6EAA6E,CAC9E,CAAC;AAEJ,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;AAEzE,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE;IACnC,QAAQ,EAAE,cAAc;CACzB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,KAAK,CAAC,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAAC;KACjD,SAAS,CACR,CAAC,MAAM,EAAsB,EAAE,CAC7B,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;IACjD,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE;IACtB,CAAC,CAAC,MAAM,CACb,CAAC;AAGJ,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC;KACtC,KAAK,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KAC/D,SAAS,CAAC,OAAO,CAAC,CAAC;AAQtB,MAAM,sBAAsB,GAAG,CAAC;KAC7B,KAAK,CAAC;IACL,CAAC;SACE,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,GAAG,CAAC,CAAC,EAAE,oDAAoD,CAAC;IAC/D,CAAC;SACE,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;SAC9B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;QAChD,KAAK,EAAE,oDAAoD;KAC5D,CAAC;CACL,CAAC;KACD,QAAQ,CACP,qFAAqF,CACtF,CAAC;AAEJ,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;IACpD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IACjD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE;IAC7D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,QAAQ,EAAE;IACnE,KAAK,EAAE,sBAAsB;CAC9B,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE;IAC7C,SAAS,EAAE,2BAA2B,CAAC,QAAQ,EAAE;IACjD,YAAY,EAAE,wBAAwB;CACvC,CAAC,CAAC"}
@@ -29,7 +29,7 @@ export async function eslintPlugin(config, options) {
29
29
  const targets = parseSchema(eslintPluginConfigSchema, config, {
30
30
  schemaType: 'ESLint plugin config',
31
31
  });
32
- const { groups: customGroups, artifacts } = options
32
+ const { groups: customGroups, artifacts, scoreTargets, } = options
33
33
  ? parseSchema(eslintPluginOptionsSchema, options, {
34
34
  schemaType: 'ESLint plugin options',
35
35
  })
@@ -51,6 +51,7 @@ export async function eslintPlugin(config, options) {
51
51
  targets,
52
52
  ...(artifacts ? { artifacts } : {}),
53
53
  }),
54
+ ...(scoreTargets && { scoreTargets }),
54
55
  };
55
56
  }
56
57
  //# sourceMappingURL=eslint-plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"eslint-plugin.js","sourceRoot":"","sources":["../../../src/lib/eslint-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAGL,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAA0B,EAC1B,OAA6B;IAE7B,MAAM,OAAO,GAAG,WAAW,CAAC,wBAAwB,EAAE,MAAM,EAAE;QAC5D,UAAU,EAAE,sBAAsB;KACnC,CAAC,CAAC;IAEH,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,OAAO;QACjD,CAAC,CAAC,WAAW,CAAC,yBAAyB,EAAE,OAAO,EAAE;YAC9C,UAAU,EAAE,uBAAuB;SACpC,CAAC;QACJ,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAE5E,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAChD,oBAAoB,CACkB,CAAC;IAEzC,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,oCAAoC;QACjD,OAAO,EAAE,0DAA0D;QACnE,WAAW,EAAE,WAAW,CAAC,IAAI;QAC7B,OAAO,EAAE,WAAW,CAAC,OAAO;QAE5B,MAAM;QACN,MAAM;QAEN,MAAM,EAAE,MAAM,oBAAoB,CAAC;YACjC,MAAM;YACN,OAAO;YACP,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpC,CAAC;KACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"eslint-plugin.js","sourceRoot":"","sources":["../../../src/lib/eslint-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAGL,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAA0B,EAC1B,OAA6B;IAE7B,MAAM,OAAO,GAAG,WAAW,CAAC,wBAAwB,EAAE,MAAM,EAAE;QAC5D,UAAU,EAAE,sBAAsB;KACnC,CAAC,CAAC;IAEH,MAAM,EACJ,MAAM,EAAE,YAAY,EACpB,SAAS,EACT,YAAY,GACb,GAAG,OAAO;QACT,CAAC,CAAC,WAAW,CAAC,yBAAyB,EAAE,OAAO,EAAE;YAC9C,UAAU,EAAE,uBAAuB;SACpC,CAAC;QACJ,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAE5E,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAChD,oBAAoB,CACkB,CAAC;IAEzC,OAAO;QACL,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,oCAAoC;QACjD,OAAO,EAAE,0DAA0D;QACnE,WAAW,EAAE,WAAW,CAAC,IAAI;QAC7B,OAAO,EAAE,WAAW,CAAC,OAAO;QAE5B,MAAM;QACN,MAAM;QAEN,MAAM,EAAE,MAAM,oBAAoB,CAAC;YACjC,MAAM;YACN,OAAO;YACP,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpC,CAAC;QACF,GAAG,CAAC,YAAY,IAAI,EAAE,YAAY,EAAE,CAAC;KACtC,CAAC;AACJ,CAAC"}
@@ -8,11 +8,11 @@ export function createRunnerFunction(options) {
8
8
  targets,
9
9
  slugs: audits.map(audit => audit.slug),
10
10
  };
11
- return async ({ outputDir }) => {
11
+ return async () => {
12
12
  ui().logger.log(`ESLint plugin executing ${targets.length} lint targets`);
13
13
  const linterOutputs = artifacts
14
14
  ? await loadArtifacts(artifacts)
15
- : await asyncSequential(targets.map(target => ({ ...target, outputDir })), lint);
15
+ : await asyncSequential(targets, lint);
16
16
  const lintResults = mergeLinterOutputs(linterOutputs);
17
17
  const failedAudits = lintResultsToAudits(lintResults);
18
18
  return config.slugs.map((slug) => failedAudits.find(audit => audit.slug === slug) ?? {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/runner/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,UAAU,oBAAoB,CAAC,OAIpC;IACC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC/C,MAAM,MAAM,GAA6B;QACvC,OAAO;QACP,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;KACvC,CAAC;IAEF,OAAO,KAAK,EAAE,EAAE,SAAS,EAAiB,EAAyB,EAAE;QACnE,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,2BAA2B,OAAO,CAAC,MAAM,eAAe,CAAC,CAAC;QAE1E,MAAM,aAAa,GAAG,SAAS;YAC7B,CAAC,CAAC,MAAM,aAAa,CAAC,SAAS,CAAC;YAChC,CAAC,CAAC,MAAM,eAAe,CACnB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,EACjD,IAAI,CACL,CAAC;QACN,MAAM,WAAW,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAEtD,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CACrB,CAAC,IAAI,EAAe,EAAE,CACpB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;YACjD,IAAI;YACJ,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YACR,YAAY,EAAE,QAAQ;YACtB,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;SACxB,CACJ,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/runner/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,UAAU,oBAAoB,CAAC,OAIpC;IACC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC/C,MAAM,MAAM,GAA6B;QACvC,OAAO;QACP,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;KACvC,CAAC;IAEF,OAAO,KAAK,IAA2B,EAAE;QACvC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,2BAA2B,OAAO,CAAC,MAAM,eAAe,CAAC,CAAC;QAE1E,MAAM,aAAa,GAAG,SAAS;YAC7B,CAAC,CAAC,MAAM,aAAa,CAAC,SAAS,CAAC;YAChC,CAAC,CAAC,MAAM,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACzC,MAAM,WAAW,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAEtD,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CACrB,CAAC,IAAI,EAAe,EAAE,CACpB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;YACjD,IAAI;YACJ,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YACR,YAAY,EAAE,QAAQ;YACtB,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;SACxB,CACJ,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}