linted 32.9.2-rc.1 → 32.9.2-rc.6
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/.github/workflows/RELEASE.yml +38 -38
 - package/.markdownlint.jsonc +97 -97
 - package/.mocharc.yml +11 -11
 - package/LICENSE +20 -20
 - package/README.md +351 -351
 - package/dist/imports/index.d.ts.map +1 -1
 - package/dist/imports/plugins.d.ts.map +1 -1
 - package/eslint.config.js +3 -3
 - package/package.json +99 -101
 - package/src/imports/index.ts +7 -7
 - package/src/imports/parsers.ts +9 -9
 - package/src/imports/plugins.ts +23 -23
 - package/src/index.spec.ts +37 -37
 - package/src/index.ts +25 -25
 - package/src/scope/index.spec.ts +136 -136
 - package/src/scope/index.ts +14 -14
 - package/src/scope/tree.spec.ts +124 -124
 - package/src/scope/tree.ts +22 -22
 - package/src/settings/css.ts +8 -8
 - package/src/settings/html.ts +10 -10
 - package/src/settings/index.ts +15 -15
 - package/src/settings/json.ts +6 -6
 - package/src/settings/svelte.ts +10 -10
 - package/src/settings/ts.ts +31 -31
 - package/src/settings/yml.ts +6 -6
 - package/tsconfig.json +56 -56
 - package/typings/chai.d.ts +6 -6
 
    
        package/src/settings/svelte.ts
    CHANGED
    
    | 
         @@ -1,10 +1,10 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            export default {
         
     | 
| 
       2 
     | 
    
         
            -
              languageOptions: {
         
     | 
| 
       3 
     | 
    
         
            -
                parser: "svelte" as const,
         
     | 
| 
       4 
     | 
    
         
            -
              },
         
     | 
| 
       5 
     | 
    
         
            -
              parserOptions: {
         
     | 
| 
       6 
     | 
    
         
            -
                parser: "ts" as const,
         
     | 
| 
       7 
     | 
    
         
            -
                // extraFileExtensions: [".svelte"] /* inherits TS, needed for performance reasons: BUG: https://typescript-eslint.io/troubleshooting/typed-linting/performance/#changes-to-extrafileextensions-with-projectservice */,
         
     | 
| 
       8 
     | 
    
         
            -
              },
         
     | 
| 
       9 
     | 
    
         
            -
              processor: "svelte/svelte",
         
     | 
| 
       10 
     | 
    
         
            -
            };
         
     | 
| 
      
 1 
     | 
    
         
            +
            export default {
         
     | 
| 
      
 2 
     | 
    
         
            +
              languageOptions: {
         
     | 
| 
      
 3 
     | 
    
         
            +
                parser: "svelte" as const,
         
     | 
| 
      
 4 
     | 
    
         
            +
              },
         
     | 
| 
      
 5 
     | 
    
         
            +
              parserOptions: {
         
     | 
| 
      
 6 
     | 
    
         
            +
                parser: "ts" as const,
         
     | 
| 
      
 7 
     | 
    
         
            +
                // extraFileExtensions: [".svelte"] /* inherits TS, needed for performance reasons: BUG: https://typescript-eslint.io/troubleshooting/typed-linting/performance/#changes-to-extrafileextensions-with-projectservice */,
         
     | 
| 
      
 8 
     | 
    
         
            +
              },
         
     | 
| 
      
 9 
     | 
    
         
            +
              processor: "svelte/svelte",
         
     | 
| 
      
 10 
     | 
    
         
            +
            };
         
     | 
    
        package/src/settings/ts.ts
    CHANGED
    
    | 
         @@ -1,31 +1,31 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            // DOC: https://typescript-eslint.io/packages/parser/#configuration
         
     | 
| 
       2 
     | 
    
         
            -
            export default {
         
     | 
| 
       3 
     | 
    
         
            -
              languageOptions: {
         
     | 
| 
       4 
     | 
    
         
            -
                parser: "ts" as const,
         
     | 
| 
       5 
     | 
    
         
            -
              },
         
     | 
| 
       6 
     | 
    
         
            -
              parserOptions: {
         
     | 
| 
       7 
     | 
    
         
            -
                // disallowAutomaticSingleRunInference: false /* @default false */,
         
     | 
| 
       8 
     | 
    
         
            -
                // cacheLifetime: { glob: 30 } /* { glob: "Infinity" (never) | number | @default 30 seconds } */,
         
     | 
| 
       9 
     | 
    
         
            -
                ecmaFeatures: {
         
     | 
| 
       10 
     | 
    
         
            -
                  // jsx: false /* @default false */,
         
     | 
| 
       11 
     | 
    
         
            -
                  globalReturn: true /* @default false */,
         
     | 
| 
       12 
     | 
    
         
            -
                },
         
     | 
| 
       13 
     | 
    
         
            -
                // ecmaVersion: "latest" /* number | @default latest" */,
         
     | 
| 
       14 
     | 
    
         
            -
                // emitDecoratorMetadata: true /* boolean | @default undefined (inherits tsconfig, which has @default false) */,
         
     | 
| 
       15 
     | 
    
         
            -
                // experimentalDecorators: true /* boolean | @default undefined (inherits tsconfig, which has @default false) */,
         
     | 
| 
       16 
     | 
    
         
            -
                // extraFileExtensions: [] /* string[] | @default [] (none) | BUG: https://typescript-eslint.io/troubleshooting/typed-linting/performance/#changes-to-extrafileextensions-with-projectservice */,
         
     | 
| 
       17 
     | 
    
         
            -
                // isolatedDeclarations: true /* boolean | @default undefined (inherits tsconfig, which has @default false) */,
         
     | 
| 
       18 
     | 
    
         
            -
                // jsDocParsingMode: "all" /* type-info | @default(if `parserOptions.project` is set): all | @default none */,
         
     | 
| 
       19 
     | 
    
         
            -
                // jsxFragmentName: null /* string | @default null | INFO: if `parserOptions.project` is set, this will automatically be detected from the compiler. */,
         
     | 
| 
       20 
     | 
    
         
            -
                // jsxPragma: "React" /* null | string (e.g. "preact") | @default "React" | INFO: if `parserOptions.project` is set, this will automatically be detected from the compiler. */,
         
     | 
| 
       21 
     | 
    
         
            -
                // lib: ["es2018"] /* string[] | @default ["es2018"] | INFO: if `parserOptions.project` is set, this will automatically be detected from the compiler. */,
         
     | 
| 
       22 
     | 
    
         
            -
                projectService: true /* ProjectServiceOptions | true | @default false */,
         
     | 
| 
       23 
     | 
    
         
            -
                // INFO: `parserOptions.projectService` is the modern replacement for the deprecated `parserOptions.project`:
         
     | 
| 
       24 
     | 
    
         
            -
                // - https://typescript-eslint.io/blog/project-service/
         
     | 
| 
       25 
     | 
    
         
            -
                // - https://typescript-eslint.io/packages/parser/#projectserviceoptions
         
     | 
| 
       26 
     | 
    
         
            -
                // - https://typescript-eslint.io/getting-started/typed-linting/
         
     | 
| 
       27 
     | 
    
         
            -
                // - https://typescript-eslint.io/troubleshooting/typed-linting/
         
     | 
| 
       28 
     | 
    
         
            -
                warnOnUnsupportedTypeScriptVersion: false /* preference due to nuisance | @default true */,
         
     | 
| 
       29 
     | 
    
         
            -
                extraFileExtensions: [".svelte"] /* BUG: Needed to avoid performance issues in Svelte/TS projects: https://typescript-eslint.io/troubleshooting/typed-linting/performance/#changes-to-extrafileextensions-with-projectservice */,
         
     | 
| 
       30 
     | 
    
         
            -
              },
         
     | 
| 
       31 
     | 
    
         
            -
            };
         
     | 
| 
      
 1 
     | 
    
         
            +
            // DOC: https://typescript-eslint.io/packages/parser/#configuration
         
     | 
| 
      
 2 
     | 
    
         
            +
            export default {
         
     | 
| 
      
 3 
     | 
    
         
            +
              languageOptions: {
         
     | 
| 
      
 4 
     | 
    
         
            +
                parser: "ts" as const,
         
     | 
| 
      
 5 
     | 
    
         
            +
              },
         
     | 
| 
      
 6 
     | 
    
         
            +
              parserOptions: {
         
     | 
| 
      
 7 
     | 
    
         
            +
                // disallowAutomaticSingleRunInference: false /* @default false */,
         
     | 
| 
      
 8 
     | 
    
         
            +
                // cacheLifetime: { glob: 30 } /* { glob: "Infinity" (never) | number | @default 30 seconds } */,
         
     | 
| 
      
 9 
     | 
    
         
            +
                ecmaFeatures: {
         
     | 
| 
      
 10 
     | 
    
         
            +
                  // jsx: false /* @default false */,
         
     | 
| 
      
 11 
     | 
    
         
            +
                  globalReturn: true /* @default false */,
         
     | 
| 
      
 12 
     | 
    
         
            +
                },
         
     | 
| 
      
 13 
     | 
    
         
            +
                // ecmaVersion: "latest" /* number | @default latest" */,
         
     | 
| 
      
 14 
     | 
    
         
            +
                // emitDecoratorMetadata: true /* boolean | @default undefined (inherits tsconfig, which has @default false) */,
         
     | 
| 
      
 15 
     | 
    
         
            +
                // experimentalDecorators: true /* boolean | @default undefined (inherits tsconfig, which has @default false) */,
         
     | 
| 
      
 16 
     | 
    
         
            +
                // extraFileExtensions: [] /* string[] | @default [] (none) | BUG: https://typescript-eslint.io/troubleshooting/typed-linting/performance/#changes-to-extrafileextensions-with-projectservice */,
         
     | 
| 
      
 17 
     | 
    
         
            +
                // isolatedDeclarations: true /* boolean | @default undefined (inherits tsconfig, which has @default false) */,
         
     | 
| 
      
 18 
     | 
    
         
            +
                // jsDocParsingMode: "all" /* type-info | @default(if `parserOptions.project` is set): all | @default none */,
         
     | 
| 
      
 19 
     | 
    
         
            +
                // jsxFragmentName: null /* string | @default null | INFO: if `parserOptions.project` is set, this will automatically be detected from the compiler. */,
         
     | 
| 
      
 20 
     | 
    
         
            +
                // jsxPragma: "React" /* null | string (e.g. "preact") | @default "React" | INFO: if `parserOptions.project` is set, this will automatically be detected from the compiler. */,
         
     | 
| 
      
 21 
     | 
    
         
            +
                // lib: ["es2018"] /* string[] | @default ["es2018"] | INFO: if `parserOptions.project` is set, this will automatically be detected from the compiler. */,
         
     | 
| 
      
 22 
     | 
    
         
            +
                projectService: true /* ProjectServiceOptions | true | @default false */,
         
     | 
| 
      
 23 
     | 
    
         
            +
                // INFO: `parserOptions.projectService` is the modern replacement for the deprecated `parserOptions.project`:
         
     | 
| 
      
 24 
     | 
    
         
            +
                // - https://typescript-eslint.io/blog/project-service/
         
     | 
| 
      
 25 
     | 
    
         
            +
                // - https://typescript-eslint.io/packages/parser/#projectserviceoptions
         
     | 
| 
      
 26 
     | 
    
         
            +
                // - https://typescript-eslint.io/getting-started/typed-linting/
         
     | 
| 
      
 27 
     | 
    
         
            +
                // - https://typescript-eslint.io/troubleshooting/typed-linting/
         
     | 
| 
      
 28 
     | 
    
         
            +
                warnOnUnsupportedTypeScriptVersion: false /* preference due to nuisance | @default true */,
         
     | 
| 
      
 29 
     | 
    
         
            +
                extraFileExtensions: [".svelte"] /* BUG: Needed to avoid performance issues in Svelte/TS projects: https://typescript-eslint.io/troubleshooting/typed-linting/performance/#changes-to-extrafileextensions-with-projectservice */,
         
     | 
| 
      
 30 
     | 
    
         
            +
              },
         
     | 
| 
      
 31 
     | 
    
         
            +
            };
         
     | 
    
        package/src/settings/yml.ts
    CHANGED
    
    | 
         @@ -1,6 +1,6 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            // DOC: https://github.com/ota-meshi/yaml-eslint-parser?tab=readme-ov-file#advanced-configuration
         
     | 
| 
       2 
     | 
    
         
            -
            export default {
         
     | 
| 
       3 
     | 
    
         
            -
              languageOptions: {
         
     | 
| 
       4 
     | 
    
         
            -
                parser: "yml" as const,
         
     | 
| 
       5 
     | 
    
         
            -
              },
         
     | 
| 
       6 
     | 
    
         
            -
            };
         
     | 
| 
      
 1 
     | 
    
         
            +
            // DOC: https://github.com/ota-meshi/yaml-eslint-parser?tab=readme-ov-file#advanced-configuration
         
     | 
| 
      
 2 
     | 
    
         
            +
            export default {
         
     | 
| 
      
 3 
     | 
    
         
            +
              languageOptions: {
         
     | 
| 
      
 4 
     | 
    
         
            +
                parser: "yml" as const,
         
     | 
| 
      
 5 
     | 
    
         
            +
              },
         
     | 
| 
      
 6 
     | 
    
         
            +
            };
         
     | 
    
        package/tsconfig.json
    CHANGED
    
    | 
         @@ -1,56 +1,56 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {
         
     | 
| 
       2 
     | 
    
         
            -
              "display": "tsc@509.3.0",
         
     | 
| 
       3 
     | 
    
         
            -
              "include": [
         
     | 
| 
       4 
     | 
    
         
            -
                "src/**/*.ts",
         
     | 
| 
       5 
     | 
    
         
            -
                "typings/**/*.d.ts",
         
     | 
| 
       6 
     | 
    
         
            -
              ],
         
     | 
| 
       7 
     | 
    
         
            -
              "compilerOptions": {
         
     | 
| 
       8 
     | 
    
         
            -
                "allowUnreachableCode": false,
         
     | 
| 
       9 
     | 
    
         
            -
                "allowUnusedLabels": false,
         
     | 
| 
       10 
     | 
    
         
            -
                "exactOptionalPropertyTypes": true,
         
     | 
| 
       11 
     | 
    
         
            -
                "noFallthroughCasesInSwitch": true,
         
     | 
| 
       12 
     | 
    
         
            -
                "noImplicitOverride": true,
         
     | 
| 
       13 
     | 
    
         
            -
                "noImplicitReturns": true,
         
     | 
| 
       14 
     | 
    
         
            -
                "noPropertyAccessFromIndexSignature": true,
         
     | 
| 
       15 
     | 
    
         
            -
                "noUncheckedIndexedAccess": true,
         
     | 
| 
       16 
     | 
    
         
            -
                "noUnusedLocals": true,
         
     | 
| 
       17 
     | 
    
         
            -
                "noUnusedParameters": true,
         
     | 
| 
       18 
     | 
    
         
            -
                "strict": true,
         
     | 
| 
       19 
     | 
    
         
            -
                "allowArbitraryExtensions": true,
         
     | 
| 
       20 
     | 
    
         
            -
                "module": "esnext",
         
     | 
| 
       21 
     | 
    
         
            -
                "moduleResolution": "bundler",
         
     | 
| 
       22 
     | 
    
         
            -
                // "paths": {},
         
     | 
| 
       23 
     | 
    
         
            -
                // "resolveJsonModule": true,
         
     | 
| 
       24 
     | 
    
         
            -
                // "resolvePackageJsonExports": true,
         
     | 
| 
       25 
     | 
    
         
            -
                // "resolvePackageJsonImports": true,
         
     | 
| 
       26 
     | 
    
         
            -
                "rewriteRelativeImportExtensions": true,
         
     | 
| 
       27 
     | 
    
         
            -
                // "rootDir": "src",
         
     | 
| 
       28 
     | 
    
         
            -
                // "rootDirs": [],
         
     | 
| 
       29 
     | 
    
         
            -
                // "typeRoots": [],
         
     | 
| 
       30 
     | 
    
         
            -
                "types": [
         
     | 
| 
       31 
     | 
    
         
            -
                  "mocha",
         
     | 
| 
       32 
     | 
    
         
            -
                  "chai",
         
     | 
| 
       33 
     | 
    
         
            -
                  /* {CONFIGURE} */
         
     | 
| 
       34 
     | 
    
         
            -
                ],
         
     | 
| 
       35 
     | 
    
         
            -
                "declaration": true,
         
     | 
| 
       36 
     | 
    
         
            -
                // "declarationDir": "",
         
     | 
| 
       37 
     | 
    
         
            -
                "declarationMap": true,
         
     | 
| 
       38 
     | 
    
         
            -
                // "emitDeclarationOnly": true,
         
     | 
| 
       39 
     | 
    
         
            -
                // "noEmit": true,
         
     | 
| 
       40 
     | 
    
         
            -
                "noEmitOnError": true,
         
     | 
| 
       41 
     | 
    
         
            -
                "outDir": "dist",
         
     | 
| 
       42 
     | 
    
         
            -
                "removeComments": true,
         
     | 
| 
       43 
     | 
    
         
            -
                "sourceMap": true,
         
     | 
| 
       44 
     | 
    
         
            -
                // "allowJs": true,
         
     | 
| 
       45 
     | 
    
         
            -
                // "checkJs": true,
         
     | 
| 
       46 
     | 
    
         
            -
                // "isolatedDeclarations": false,
         
     | 
| 
       47 
     | 
    
         
            -
                // "verbatimModuleSyntax": true,
         
     | 
| 
       48 
     | 
    
         
            -
                "lib": [
         
     | 
| 
       49 
     | 
    
         
            -
                  "esnext",
         
     | 
| 
       50 
     | 
    
         
            -
                  /* {CONFIGURE} */
         
     | 
| 
       51 
     | 
    
         
            -
                ],
         
     | 
| 
       52 
     | 
    
         
            -
                "target": "esnext",
         
     | 
| 
       53 
     | 
    
         
            -
                // "composite": true,
         
     | 
| 
       54 
     | 
    
         
            -
                // "skipLibCheck": true,
         
     | 
| 
       55 
     | 
    
         
            -
              },
         
     | 
| 
       56 
     | 
    
         
            -
            }
         
     | 
| 
      
 1 
     | 
    
         
            +
            {
         
     | 
| 
      
 2 
     | 
    
         
            +
              "display": "tsc@509.3.0",
         
     | 
| 
      
 3 
     | 
    
         
            +
              "include": [
         
     | 
| 
      
 4 
     | 
    
         
            +
                "src/**/*.ts",
         
     | 
| 
      
 5 
     | 
    
         
            +
                "typings/**/*.d.ts",
         
     | 
| 
      
 6 
     | 
    
         
            +
              ],
         
     | 
| 
      
 7 
     | 
    
         
            +
              "compilerOptions": {
         
     | 
| 
      
 8 
     | 
    
         
            +
                "allowUnreachableCode": false,
         
     | 
| 
      
 9 
     | 
    
         
            +
                "allowUnusedLabels": false,
         
     | 
| 
      
 10 
     | 
    
         
            +
                "exactOptionalPropertyTypes": true,
         
     | 
| 
      
 11 
     | 
    
         
            +
                "noFallthroughCasesInSwitch": true,
         
     | 
| 
      
 12 
     | 
    
         
            +
                "noImplicitOverride": true,
         
     | 
| 
      
 13 
     | 
    
         
            +
                "noImplicitReturns": true,
         
     | 
| 
      
 14 
     | 
    
         
            +
                "noPropertyAccessFromIndexSignature": true,
         
     | 
| 
      
 15 
     | 
    
         
            +
                "noUncheckedIndexedAccess": true,
         
     | 
| 
      
 16 
     | 
    
         
            +
                "noUnusedLocals": true,
         
     | 
| 
      
 17 
     | 
    
         
            +
                "noUnusedParameters": true,
         
     | 
| 
      
 18 
     | 
    
         
            +
                "strict": true,
         
     | 
| 
      
 19 
     | 
    
         
            +
                "allowArbitraryExtensions": true,
         
     | 
| 
      
 20 
     | 
    
         
            +
                "module": "esnext",
         
     | 
| 
      
 21 
     | 
    
         
            +
                "moduleResolution": "bundler",
         
     | 
| 
      
 22 
     | 
    
         
            +
                // "paths": {},
         
     | 
| 
      
 23 
     | 
    
         
            +
                // "resolveJsonModule": true,
         
     | 
| 
      
 24 
     | 
    
         
            +
                // "resolvePackageJsonExports": true,
         
     | 
| 
      
 25 
     | 
    
         
            +
                // "resolvePackageJsonImports": true,
         
     | 
| 
      
 26 
     | 
    
         
            +
                "rewriteRelativeImportExtensions": true,
         
     | 
| 
      
 27 
     | 
    
         
            +
                // "rootDir": "src",
         
     | 
| 
      
 28 
     | 
    
         
            +
                // "rootDirs": [],
         
     | 
| 
      
 29 
     | 
    
         
            +
                // "typeRoots": [],
         
     | 
| 
      
 30 
     | 
    
         
            +
                "types": [
         
     | 
| 
      
 31 
     | 
    
         
            +
                  "mocha",
         
     | 
| 
      
 32 
     | 
    
         
            +
                  "chai",
         
     | 
| 
      
 33 
     | 
    
         
            +
                  /* {CONFIGURE} */
         
     | 
| 
      
 34 
     | 
    
         
            +
                ],
         
     | 
| 
      
 35 
     | 
    
         
            +
                "declaration": true,
         
     | 
| 
      
 36 
     | 
    
         
            +
                // "declarationDir": "",
         
     | 
| 
      
 37 
     | 
    
         
            +
                "declarationMap": true,
         
     | 
| 
      
 38 
     | 
    
         
            +
                // "emitDeclarationOnly": true,
         
     | 
| 
      
 39 
     | 
    
         
            +
                // "noEmit": true,
         
     | 
| 
      
 40 
     | 
    
         
            +
                "noEmitOnError": true,
         
     | 
| 
      
 41 
     | 
    
         
            +
                "outDir": "dist",
         
     | 
| 
      
 42 
     | 
    
         
            +
                "removeComments": true,
         
     | 
| 
      
 43 
     | 
    
         
            +
                "sourceMap": true,
         
     | 
| 
      
 44 
     | 
    
         
            +
                // "allowJs": true,
         
     | 
| 
      
 45 
     | 
    
         
            +
                // "checkJs": true,
         
     | 
| 
      
 46 
     | 
    
         
            +
                // "isolatedDeclarations": false,
         
     | 
| 
      
 47 
     | 
    
         
            +
                // "verbatimModuleSyntax": true,
         
     | 
| 
      
 48 
     | 
    
         
            +
                "lib": [
         
     | 
| 
      
 49 
     | 
    
         
            +
                  "esnext",
         
     | 
| 
      
 50 
     | 
    
         
            +
                  /* {CONFIGURE} */
         
     | 
| 
      
 51 
     | 
    
         
            +
                ],
         
     | 
| 
      
 52 
     | 
    
         
            +
                "target": "esnext",
         
     | 
| 
      
 53 
     | 
    
         
            +
                // "composite": true,
         
     | 
| 
      
 54 
     | 
    
         
            +
                // "skipLibCheck": true,
         
     | 
| 
      
 55 
     | 
    
         
            +
              },
         
     | 
| 
      
 56 
     | 
    
         
            +
            }
         
     | 
    
        package/typings/chai.d.ts
    CHANGED
    
    | 
         @@ -1,6 +1,6 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            declare module "eslint-plugin-chai-friendly" {
         
     | 
| 
       2 
     | 
    
         
            -
              export const configs: unknown;
         
     | 
| 
       3 
     | 
    
         
            -
            }
         
     | 
| 
       4 
     | 
    
         
            -
            declare module "eslint-plugin-chai-expect" {
         
     | 
| 
       5 
     | 
    
         
            -
              export const configs: unknown;
         
     | 
| 
       6 
     | 
    
         
            -
            }
         
     | 
| 
      
 1 
     | 
    
         
            +
            declare module "eslint-plugin-chai-friendly" {
         
     | 
| 
      
 2 
     | 
    
         
            +
              export const configs: unknown;
         
     | 
| 
      
 3 
     | 
    
         
            +
            }
         
     | 
| 
      
 4 
     | 
    
         
            +
            declare module "eslint-plugin-chai-expect" {
         
     | 
| 
      
 5 
     | 
    
         
            +
              export const configs: unknown;
         
     | 
| 
      
 6 
     | 
    
         
            +
            }
         
     |