@fenge/eslint-config 0.4.0 → 0.4.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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @fenge/eslint-config
2
2
 
3
+ ## 0.4.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 1957781: fix(eslint-config): change `project` to `projectService`, close #309
8
+
3
9
  ## 0.4.0
4
10
 
5
11
  ### Minor Changes
@@ -6,7 +6,7 @@ export declare function getTsBase(): {
6
6
  readonly languageOptions: {
7
7
  readonly parser: typeof tsParser;
8
8
  readonly parserOptions: {
9
- readonly project: "tsconfig.json";
9
+ readonly projectService: true;
10
10
  readonly ecmaVersion: "latest";
11
11
  readonly sourceType: "module";
12
12
  readonly ecmaFeatures: {
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/config/ts/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/config/ts/base.ts"],"names":[],"mappings":"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"}
@@ -53,9 +53,8 @@ export function getTsBase() {
53
53
  parserOptions: {
54
54
  ...jsBase.languageOptions.parserOptions,
55
55
  // Setting `projectService: true` or `project: true` is pretty slow when lint a monorepo with many tsconfig.json files in each sub-app.
56
- // For a better performance, we are recommended using one tsconfig.json file in a project.
57
- // Waiting for typescript-eslint to officially provide a better way to use `projectService`.
58
- project: "tsconfig.json",
56
+ // But setting `project: "tsconfig.json"` will cause parser error when the project root tsconfig.json is `{ extends: "fenge/tsconfig" }`
57
+ projectService: true,
59
58
  },
60
59
  },
61
60
  plugins: {
@@ -204,4 +203,4 @@ export function getTsBase() {
204
203
  },
205
204
  };
206
205
  }
207
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25maWcvdHMvYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssYUFBYSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sUUFBUSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUMsTUFBTSxVQUFVLFNBQVM7SUFDdkIsTUFBTSxNQUFNLEdBQUcsU0FBUyxFQUFFLENBQUM7SUFFM0IsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLEVBQUU7UUFDL0IsbUNBQW1DO1FBQ25DLGlEQUFpRDtRQUNqRCxNQUFNLGdCQUFnQixHQUFHO1lBQ3ZCLHdCQUF3QixFQUFFLDJDQUEyQztZQUNyRSxtQkFBbUIsRUFBRSxzQ0FBc0M7WUFDM0Qsb0JBQW9CLEVBQUUsdUNBQXVDO1lBQzdELGNBQWMsRUFBRSxpQ0FBaUM7WUFDakQsbUJBQW1CLEVBQUUsc0NBQXNDO1lBQzNELFlBQVksRUFBRSwrQkFBK0I7WUFDN0Msc0JBQXNCLEVBQUUseUNBQXlDO1lBQ2pFLHVCQUF1QixFQUFFLDBDQUEwQztZQUNuRSxtQkFBbUIsRUFBRSxzQ0FBc0M7WUFDM0QsaUJBQWlCLEVBQUUsb0NBQW9DO1lBQ3ZELGlCQUFpQixFQUFFLG9DQUFvQztZQUN2RCxjQUFjLEVBQUUsaUNBQWlDO1lBQ2pELHNHQUFzRztZQUN0RyxrQkFBa0IsRUFBRSxxQ0FBcUM7WUFDekQsY0FBYyxFQUFFLGlDQUFpQztZQUNqRCx1QkFBdUIsRUFBRSwwQ0FBMEM7WUFDbkUsV0FBVyxFQUFFLDhCQUE4QjtZQUMzQyx1QkFBdUIsRUFBRSwwQ0FBMEM7WUFDbkUsZ0JBQWdCLEVBQUUsbUNBQW1DO1lBQ3JELHNCQUFzQixFQUFFLHlDQUF5QztZQUNqRSx3QkFBd0IsRUFBRSwyQ0FBMkM7WUFDckUsa0JBQWtCLEVBQUUscUNBQXFDO1lBQ3pELHNC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QUF1QyxFQUFFLE9BQU87U0FDakQ7S0FDTyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZlbmdlVHNQbHVnaW4gZnJvbSBcIkBmZW5nZS9lc2xpbnQtcGx1Z2luLXRzXCI7XG5pbXBvcnQgdHNQYXJzZXIgZnJvbSBcIkB0eXBlc2NyaXB0LWVzbGludC9wYXJzZXJcIjtcbmltcG9ydCB7IGdldEpzQmFzZSB9IGZyb20gXCIuLi9qcy9iYXNlLmpzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUc0Jhc2UoKSB7XG4gIGNvbnN0IGpzQmFzZSA9IGdldEpzQmFzZSgpO1xuXG4gIGNvbnN0IGdldFRzRXh0ZW5zaW9uUnVsZXMgPSAoKSA9PiB7XG4gICAgLy8gS2V5IGlzIGpzIHJ1bGUsIHZhbHVlIGlzIHRzIHJ1bGVcbiAgICAvLyBodHRwczovL3R5cGVzY3JpcHQtZXNsaW50LmlvL3J1bGVzLz89ZXh0ZW5zaW9uXG4gICAgY29uc3QgZXh0ZW5zaW9uUnVsZU1hcCA9IHtcbiAgICAgIFwiY2xhc3MtbWV0aG9kcy11c2UtdGhpc1wiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9jbGFzcy1tZXRob2RzLXVzZS10aGlzXCIsXG4gICAgICBcImNvbnNpc3RlbnQtcmV0dXJuXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtcmV0dXJuXCIsXG4gICAgICBcImRlZmF1bHQtcGFyYW0tbGFzdFwiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9kZWZhdWx0LXBhcmFtLWxhc3RcIixcbiAgICAgIFwiZG90LW5vdGF0aW9uXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L2RvdC1ub3RhdGlvblwiLFxuICAgICAgXCJpbml0LWRlY2xhcmF0aW9uc1wiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9pbml0LWRlY2xhcmF0aW9uc1wiLFxuICAgICAgXCJtYXgtcGFyYW1zXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L21heC1wYXJhbXNcIixcbiAgICAgIFwibm8tYXJyYXktY29uc3RydWN0b3JcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tYXJyYXktY29uc3RydWN0b3JcIixcbiAgICAgIFwibm8tZHVwZS1jbGFzcy1tZW1iZXJzXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWR1cGUtY2xhc3MtbWVtYmVyc1wiLFxuICAgICAgXCJuby1lbXB0eS1mdW5jdGlvblwiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblwiLFxuICAgICAgXCJuby1pbXBsaWVkLWV2YWxcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8taW1wbGllZC1ldmFsXCIsXG4gICAgICBcIm5vLWludmFsaWQtdGhpc1wiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1pbnZhbGlkLXRoaXNcIixcbiAgICAgIFwibm8tbG9vcC1mdW5jXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWxvb3AtZnVuY1wiLFxuICAgICAgLy8gXCJuby1sb3NzLW9mLXByZWNpc2lvblwiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1sb3NzLW9mLXByZWNpc2lvblwiLCAvLyBUaGlzIHJ1bGUgaGFzIGJlZW4gZGVwcmVjYXRlZFxuICAgICAgXCJuby1tYWdpYy1udW1iZXJzXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLW1hZ2ljLW51bWJlcnNcIixcbiAgICAgIFwibm8tcmVkZWNsYXJlXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlZGVjbGFyZVwiLFxuICAgICAgXCJuby1yZXN0cmljdGVkLWltcG9ydHNcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVzdHJpY3RlZC1pbXBvcnRzXCIsXG4gICAgICBcIm5vLXNoYWRvd1wiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1zaGFkb3dcIixcbiAgICAgIFwibm8tdW51c2VkLWV4cHJlc3Npb25zXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC1leHByZXNzaW9uc1wiLFxuICAgICAgXCJuby11bnVzZWQtdmFyc1wiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1wiLFxuICAgICAgXCJuby11c2UtYmVmb3JlLWRlZmluZVwiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9uby11c2UtYmVmb3JlLWRlZmluZVwiLFxuICAgICAgXCJuby11c2VsZXNzLWNvbnN0cnVjdG9yXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXVzZWxlc3MtY29uc3RydWN0b3JcIixcbiAgICAgIFwibm8tdGhyb3ctbGl0ZXJhbFwiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9vbmx5LXRocm93LWVycm9yXCIsXG4gICAgICBcInByZWZlci1kZXN0cnVjdHVyaW5nXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L3ByZWZlci1kZXN0cnVjdHVyaW5nXCIsXG4gICAgICBcInByZWZlci1wcm9taXNlLXJlamVjdC1lcnJvcnNcIjpcbiAgICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvcHJlZmVyLXByb21pc2UtcmVqZWN0LWVycm9yc1wiLFxuICAgICAgXCJyZXF1aXJlLWF3YWl0XCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L3JlcXVpcmUtYXdhaXRcIixcbiAgICAgIFwibm8tcmV0dXJuLWF3YWl0XCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L3JldHVybi1hd2FpdFwiLCAvLyBuby1yZXR1cm4tYXdhaXQgaGFzIGJlZW4gZGVwcmVjYXRlZFxuICAgIH0gYXMgY29uc3Q7XG5cbiAgICB0eXBlIEpzMlRzUnVsZU1hcCA9IHR5cGVvZiBleHRlbnNpb25SdWxlTWFwO1xuICAgIHR5cGUgVHMySnNSdWxlTWFwID0ge1xuICAgICAgW0sgaW4ga2V5b2YgSnMyVHNSdWxlTWFwIGFzIEpzMlRzUnVsZU1hcFtLXV06IEs7IC8vIHJldmVyc2VcbiAgICB9O1xuXG4gICAgdHlwZSBKc0V4dGVuc2lvbktleSA9IEV4dHJhY3Q8XG4gICAgICBrZXlvZiBKczJUc1J1bGVNYXAsXG4gICAgICBrZXlvZiB0eXBlb2YganNCYXNlLnJ1bGVzXG4gICAgPjsgLy8gRXh0cmFjdFxuICAgIHR5cGUgVHNFeHRlbnNpb25LZXkgPSBKczJUc1J1bGVNYXBbSnNFeHRlbnNpb25LZXldO1xuXG4gICAgdHlwZSBKc1Jlc3VsdCA9IFJlY29yZDxKc0V4dGVuc2lvbktleSwgXCJvZmZcIj47XG4gICAgdHlwZSBUc1Jlc3VsdCA9IHtcbiAgICAgIFtLZXkgaW4gVHNFeHRlbnNpb25LZXldOiAodHlwZW9mIGpzQmFzZS5ydWxlcylbVHMySnNSdWxlTWFwW0tleV1dO1xuICAgIH07XG4gICAgdHlwZSBSZXN1bHQgPSBKc1Jlc3VsdCAmIFRzUmVzdWx0O1xuXG4gICAgY29uc3QgaXNJbkV4dGVuc2lvblJ1bGVNYXAgPSAoXG4gICAgICBrZXk6IHN0cmluZyxcbiAgICApOiBrZXkgaXMga2V5b2YgdHlwZW9mIGV4dGVuc2lvblJ1bGVNYXAgPT4ga2V5IGluIGV4dGVuc2lvblJ1bGVNYXA7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGpzQmFzZS5ydWxlcykucmVkdWNlKFxuICAgICAgKHJlc3VsdCwgW2pzUnVsZUtleSwganNSdWxlVmFsdWVdKSA9PlxuICAgICAgICBpc0luRXh0ZW5zaW9uUnVsZU1hcChqc1J1bGVLZXkpXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIC4uLnJlc3VsdCxcbiAgICAgICAgICAgICAgW2pzUnVsZUtleV06IFwib2ZmXCIsXG4gICAgICAgICAgICAgIFtleHRlbnNpb25SdWxlTWFwW2pzUnVsZUtleV1dOiBqc1J1bGVWYWx1ZSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHJlc3VsdCxcbiAgICAgIHt9IGFzIFJlc3VsdCxcbiAgICApO1xuICB9O1xuXG4gIHJldHVybiB7XG4gICAgLi4uanNCYXNlLFxuICAgIG5hbWU6IFwiZmVuZ2UvdHlwZXNjcmlwdFwiLFxuICAgIGZpbGVzOiBbXCIqKi8qLnt0cyxjdHMsbXRzLHRzeH1cIl0sXG4gICAgbGFuZ3VhZ2VPcHRpb25zOiB7XG4gICAgICAuLi5qc0Jhc2UubGFuZ3VhZ2VPcHRpb25zLFxuICAgICAgcGFyc2VyOiB0c1BhcnNlciwgLy8gVW5mb3J0dW5hdGVseSBwYXJzZXIgY2Fubm90IGJlIGEgc3RyaW5nLiBFc2xpbnQgc2hvdWxkIHN1cHBvcnQgaXQuIGh0dHBzOi8vZXNsaW50Lm9yZy9kb2NzL2xhdGVzdC91c2UvY29uZmlndXJlL2NvbmZpZ3VyYXRpb24tZmlsZXMtbmV3I2NvbmZpZ3VyaW5nLWEtY3VzdG9tLXBhcnNlci1hbmQtaXRzLW9wdGlvbnNcbiAgICAgIHBhcnNlck9wdGlvbnM6IHtcbiAgICAgICAgLi4uanNCYXNlLmxhbmd1YWdlT3B0aW9ucy5wYXJzZXJPcHRpb25zLFxuICAgICAgICAvLyBTZXR0aW5nIGBwcm9qZWN0U2VydmljZTogdHJ1ZWAgb3IgYHByb2plY3Q6IHRydWVgIGlzIHByZXR0eSBzbG93IHdoZW4gbGludCBhIG1vbm9yZXBvIHdpdGggbWFueSB0c2NvbmZpZy5qc29uIGZpbGVzIGluIGVhY2ggc3ViLWFwcC5cbiAgICAgICAgLy8gRm9yIGEgYmV0dGVyIHBlcmZvcm1hbmNlLCB3ZSBhcmUgcmVjb21tZW5kZWQgdXNpbmcgb25lIHRzY29uZmlnLmpzb24gZmlsZSBpbiBhIHByb2plY3QuXG4gICAgICAgIC8vIFdhaXRpbmcgZm9yIHR5cGVzY3JpcHQtZXNsaW50IHRvIG9mZmljaWFsbHkgcHJvdmlkZSBhIGJldHRlciB3YXkgdG8gdXNlIGBwcm9qZWN0U2VydmljZWAuXG4gICAgICAgIHByb2plY3Q6IFwidHNjb25maWcuanNvblwiLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHBsdWdpbnM6IHtcbiAgICAgIC4uLmpzQmFzZS5wbHVnaW5zLFxuICAgICAgXCJAZmVuZ2UtdHNcIjogZmVuZ2VUc1BsdWdpbixcbiAgICB9LFxuICAgIHJ1bGVzOiB7XG4gICAgICAuLi5qc0Jhc2UucnVsZXMsXG4gICAgICAuLi5nZXRUc0V4dGVuc2lvblJ1bGVzKCksXG5cbiAgICAgIC8vIGZlbmdlXG4gICAgICBcIkBmZW5nZS10cy9leGFjdC1tYXAtc2V0LXR5cGVcIjogXCJlcnJvclwiLFxuICAgICAgXCJAZmVuZ2UtdHMvbm8tY29uc3QtZW51bVwiOiBcImVycm9yXCIsXG4gICAgICBcIkBmZW5nZS10cy9uby1kZWNsYXJlc1wiOiBcImVycm9yXCIsXG4gICAgICBcIkBmZW5nZS10cy9uby1leHBvcnQtYXNzaWdubWVudFwiOiBcImVycm9yXCIsXG4gICAgICBcIkBmZW5nZS10cy9uby1wcm9wZXJ0eS1kZWNvcmF0b3JcIjogXCJlcnJvclwiLFxuICAgICAgXCJAZmVuZ2UtdHMvbm8tdW50eXBlZC1lbXB0eS1hcnJheVwiOiBcImVycm9yXCIsXG4gICAgICAvLyB0eXBlc2NyaXB0XG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9hZGphY2VudC1vdmVybG9hZC1zaWduYXR1cmVzXCI6IFwiZXJyb3JcIixcbiAgICAgIC8vIFwiQHR5cGVzY3JpcHQtZXNsaW50L2FycmF5LXR5cGVcIjogW1wiZXJyb3JcIiwgJ2FycmF5LXNpbXBsZSddLCAvLyBUaGUgZGVmYXVsdCBvcHRpb24gaXMgJ2FycmF5Jy4gTm90IHZlcnkgc3VyZSBpZiB3ZSBuZWVkIHRvIGNoYW5nZSB0aGUgb3B0aW9uLiBTbyBkaXNhYmxlZCBpdC5cbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L2F3YWl0LXRoZW5hYmxlXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtZ2VuZXJpYy1jb25zdHJ1Y3RvcnNcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvY29uc2lzdGVudC1pbmRleGVkLW9iamVjdC1zdHlsZVwiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9jb25zaXN0ZW50LXR5cGUtYXNzZXJ0aW9uc1wiOiBbXG4gICAgICAgIFwiZXJyb3JcIixcbiAgICAgICAge1xuICAgICAgICAgIGFzc2VydGlvblN0eWxlOiBcImFzXCIsXG4gICAgICAgICAgb2JqZWN0TGl0ZXJhbFR5cGVBc3NlcnRpb25zOiBcImFsbG93LWFzLXBhcmFtZXRlclwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtdHlwZS1kZWZpbml0aW9uc1wiOiBbXCJlcnJvclwiLCBcImludGVyZmFjZVwiXSwgLy8gVE9ETyBzaG91bGQgd2UgY2hhbmdlIHRvICd0eXBlJz9cbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtdHlwZS1leHBvcnRzXCI6IFwiZXJyb3JcIixcbiAgICAgIC8vIFwiQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtdHlwZS1pbXBvcnRzXCI6IFwiZXJyb3IsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9kb3Qtbm90YXRpb25cIjogW1wiZXJyb3JcIiwgeyBhbGxvd0tleXdvcmRzOiB0cnVlIH1dLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbWV0aG9kLXNpZ25hdHVyZS1zdHlsZVwiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblwiOiBbXG4gICAgICAgIFwiZXJyb3JcIixcbiAgICAgICAge1xuICAgICAgICAgIHNlbGVjdG9yOiBcImZ1bmN0aW9uXCIsXG4gICAgICAgICAgZm9ybWF0OiBbXCJjYW1lbENhc2VcIiwgXCJQYXNjYWxDYXNlXCJdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgc2VsZWN0b3I6IFwidmFyaWFibGVcIixcbiAgICAgICAgICB0eXBlczogW1wiZnVuY3Rpb25cIl0sXG4gICAgICAgICAgZm9ybWF0OiBbXCJjYW1lbENhc2VcIiwgXCJQYXNjYWxDYXNlXCJdLCAvLyBkZWNvcmF0b3JzIG5lZWQgUGFzY2FsQ2FzZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgc2VsZWN0b3I6IFwiY2xhc3NcIixcbiAgICAgICAgICBmb3JtYXQ6IFtcIlBhc2NhbENhc2VcIl0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBzZWxlY3RvcjogXCJpbnRlcmZhY2VcIixcbiAgICAgICAgICBmb3JtYXQ6IFtcIlBhc2NhbENhc2VcIl0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBzZWxlY3RvcjogXCJ0eXBlQWxpYXNcIixcbiAgICAgICAgICBmb3JtYXQ6IFtcIlBhc2NhbENhc2VcIl0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBzZWxlY3RvcjogXCJ0eXBlUGFyYW1ldGVyXCIsXG4gICAgICAgICAgZm9ybWF0OiBbXCJVUFBFUl9DQVNFXCIsIFwiUGFzY2FsQ2FzZVwiXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1hcnJheS1kZWxldGVcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tYmFzZS10by1zdHJpbmdcIjogW1xuICAgICAgICBcImVycm9yXCIsXG4gICAgICAgIHsgaWdub3JlZFR5cGVOYW1lczogW10gfSxcbiAgICAgIF0sXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1jb25mdXNpbmctbm9uLW51bGwtYXNzZXJ0aW9uXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWRlcHJlY2F0ZWRcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZHVwbGljYXRlLWVudW0tdmFsdWVzXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWR1cGxpY2F0ZS10eXBlLWNvbnN0aXR1ZW50c1wiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1vYmplY3QtdHlwZVwiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1leHRyYS1ub24tbnVsbC1hc3NlcnRpb25cIjogXCJlcnJvclwiLFxuICAgICAgLy8gXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXh0cmFuZW91cy1jbGFzc1wiOiBcImVycm9yXCIsIC8vIENsYXNzZXMgaGF2ZSBvbmx5IHN0YXRpYyBtZW1iZXIgaXMgcmVhc29uYWJsZSBzb21ldGltZXMuIE5lc3RqcyBtb2R1bGVzIHVzZSBpdCBhIGxvdC5cbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWZsb2F0aW5nLXByb21pc2VzXCI6IFtcbiAgICAgICAgXCJlcnJvclwiLFxuICAgICAgICB7XG4gICAgICAgICAgaWdub3JlVm9pZDogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZm9yLWluLWFycmF5XCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWltcG9ydC10eXBlLXNpZGUtZWZmZWN0c1wiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1pbmZlcnJhYmxlLXR5cGVzXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWludmFsaWQtdm9pZC10eXBlXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLW1pc3VzZWQtbmV3XCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLW1pc3VzZWQtcHJvbWlzZXNcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbWl4ZWQtZW51bXNcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbmFtZXNwYWNlXCI6IFwiZXJyb3JcIiwgLy8gY29uc2lkZXIgdG8gYWRkIG9wdGlvbiBge1wiYWxsb3dEZWZpbml0aW9uRmlsZXNcIjogZmFsc2V9YCB0byBzdHJpY3RseSBmb3JiaWQgYG5hbWVzcGFjZWAga2V5d29yZFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0ZWQtbnVsbGlzaC1jb2FsZXNjaW5nXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGVkLW9wdGlvbmFsLWNoYWluXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblwiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1yZWR1bmRhbnQtdHlwZS1jb25zdGl0dWVudHNcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXCI6IFwiZXJyb3JcIixcbiAgICAgIC8vIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWJvb2xlYW4tbGl0ZXJhbC1jb21wYXJlXCI6IFwiZXJyb3JcIiwgLy8gdW5zYWZlIHdoZW4gYHN0cmljdE51bGxDaGVja3NgIGluIHRzY29uZmlnLmpzb24gaXMgZGlzYWJsZWRcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWNvbmRpdGlvblwiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1wYXJhbWV0ZXItcHJvcGVydHktYXNzaWdubWVudFwiOlxuICAgICAgICBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS10ZW1wbGF0ZS1leHByZXNzaW9uXCI6IFwiZXJyb3JcIiwgLy8ganMgYWxzbyBuZWVkIHRoaXMgcnVsZVxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1hcmd1bWVudHNcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1hc3NlcnRpb25cIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1jb25zdHJhaW50XCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1kZWNsYXJhdGlvbi1tZXJnaW5nXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1lbnVtLWNvbXBhcmlzb25cIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWZ1bmN0aW9uLXR5cGVcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXJldHVyblwiOiBcImVycm9yXCIsIC8vIFRoaXMgcnVsZSBpcyBub3QgdmVyeSBwZXJmZWN0LiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R5cGVzY3JpcHQtZXNsaW50L3R5cGVzY3JpcHQtZXNsaW50L2lzc3Vlcy8xMDQzOVxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXVuYXJ5LW1pbnVzXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXdyYXBwZXItb2JqZWN0LXR5cGVzXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vbi1udWxsYWJsZS10eXBlLWFzc2VydGlvbi1zdHlsZVwiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9wcmVmZXItYXMtY29uc3RcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvcHJlZmVyLWZ1bmN0aW9uLXR5cGVcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvcHJlZmVyLWxpdGVyYWwtZW51bS1tZW1iZXJcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvcHJlZmVyLW5hbWVzcGFjZS1rZXl3b3JkXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3ByZWZlci1vcHRpb25hbC1jaGFpblwiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9wcmVmZXItcmVhZG9ubHlcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvcHJlZmVyLXJldHVybi10aGlzLXR5cGVcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvcmVzdHJpY3QtcGx1cy1vcGVyYW5kc1wiOiBbXG4gICAgICAgIFwiZXJyb3JcIixcbiAgICAgICAge1xuICAgICAgICAgIC8vIGFsbG93QW55OiBmYWxzZSxcbiAgICAgICAgICBhbGxvd0Jvb2xlYW46IGZhbHNlLFxuICAgICAgICAgIGFsbG93TnVsbGlzaDogZmFsc2UsXG4gICAgICAgICAgYWxsb3dOdW1iZXJBbmRTdHJpbmc6IGZhbHNlLFxuICAgICAgICAgIGFsbG93UmVnRXhwOiBmYWxzZSxcbiAgICAgICAgICBza2lwQ29tcG91bmRBc3NpZ25tZW50czogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvcmVzdHJpY3QtdGVtcGxhdGUtZXhwcmVzc2lvbnNcIjogW1xuICAgICAgICBcImVycm9yXCIsXG4gICAgICAgIHtcbiAgICAgICAgICBhbGxvdzogW10sXG4gICAgICAgICAgLy8gYWxsb3dBbnk6IGZhbHNlLFxuICAgICAgICAgIGFsbG93Qm9vbGVhbjogZmFsc2UsXG4gICAgICAgICAgYWxsb3dOZXZlcjogZmFsc2UsXG4gICAgICAgICAgYWxsb3dOdWxsaXNoOiBmYWxzZSxcbiAgICAgICAgICBhbGxvd051bWJlcjogZmFsc2UsXG4gICAgICAgICAgYWxsb3dSZWdFeHA6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3JlbGF0ZWQtZ2V0dGVyLXNldHRlci1wYWlyc1wiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9yZXR1cm4tYXdhaXRcIjogW1wiZXJyb3JcIiwgXCJhbHdheXNcIl0sXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9zd2l0Y2gtZXhoYXVzdGl2ZW5lc3MtY2hlY2tcIjogW1xuICAgICAgICBcImVycm9yXCIsXG4gICAgICAgIHsgcmVxdWlyZURlZmF1bHRGb3JOb25VbmlvbjogdHJ1ZSB9LFxuICAgICAgXSxcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3VuYm91bmQtbWV0aG9kXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3VuaWZpZWQtc2lnbmF0dXJlc1wiOiBcImVycm9yXCIsXG4gICAgfSxcbiAgfSBhcyBjb25zdDtcbn1cbiJdfQ==
206
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25maWcvdHMvYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssYUFBYSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sUUFBUSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUMsTUFBTSxVQUFVLFNBQVM7SUFDdkIsTUFBTSxNQUFNLEdBQUcsU0FBUyxFQUFFLENBQUM7SUFFM0IsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLEVBQUU7UUFDL0IsbUNBQW1DO1FBQ25DLGlEQUFpRDtRQUNqRCxNQUFNLGdCQUFnQixHQUFHO1lBQ3ZCLHdCQUF3QixFQUFFLDJDQUEyQztZQUNyRSxtQkFBbUIsRUFBRSxzQ0FBc0M7WUFDM0Qsb0JBQW9CLEVBQUUsdUNBQXVDO1lBQzdELGNBQWMsRUFBRSxpQ0FBaUM7WUFDakQsbUJBQW1CLEVBQUUsc0NBQXNDO1lBQzNELFlBQVksRUFBRSwrQkFBK0I7WUFDN0Msc0JBQXNCLEVBQUUseUNBQXlDO1lBQ2pFLHVCQUF1QixFQUFFLDBDQUEwQztZQUNuRSxtQkFBbUIsRUFBRSxzQ0FBc0M7WUFDM0QsaUJBQWlCLEVBQUUsb0NBQW9DO1lBQ3ZELGlCQUFpQixFQUFFLG9DQUFvQztZQUN2RCxjQUFjLEVBQUUsaUNBQWlDO1lBQ2pELHNHQUFzRztZQUN0RyxrQkFBa0IsRUFBRSxxQ0FBcUM7WUFDekQsY0FBYyxFQUFFLGlDQUFpQztZQUNqRCx1QkFBdUIsRUFBRSwwQ0FBMEM7WUFDbkUsV0FBVyxFQUFFLDhCQUE4QjtZQUMzQyx1QkFBdUIsRUFBRSwwQ0FBMEM7WUFDbkUsZ0JBQWdCLEVBQUUsbUNBQW1DO1lBQ3JELHNCQUFzQixFQUFFLHlDQUF5QztZQUNqRSx3QkFBd0IsRUFBRSwyQ0FBMkM7WUFDckUsa0JBQWtCLEVBQUUscUNBQXFDO1lBQ3pELHNCQUFzQixFQUFFLHlDQUF5QztZQUNqRSw4QkFBOEIsRUFDNUIsaURBQWlEO1lBQ25ELGVBQWUsRUFBRSxrQ0FBa0M7WUFDbkQsaUJBQWlCLEVBQUUsaUNBQWlDLEVBQUUsc0NBQXNDO1NBQ3BGLENBQUM7UUFtQlgsTUFBTSxvQkFBb0IsR0FBRyxDQUMzQixHQUFXLEVBQzJCLEVBQUUsQ0FBQyxHQUFHLElBQUksZ0JBQWdCLENBQUM7UUFDbkUsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQ3hDLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQyxFQUFFLEVBQUUsQ0FDbkMsb0JBQW9CLENBQUMsU0FBUyxDQUFDO1lBQzdCLENBQUMsQ0FBQztnQkFDRSxHQUFHLE1BQU07Z0JBQ1QsQ0FBQyxTQUFTLENBQUMsRUFBRSxLQUFLO2dCQUNsQixDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsV0FBVzthQUMzQztZQUNILENBQUMsQ0FBQyxNQUFNLEVBQ1osRUFBWSxDQUNiLENBQUM7SUFDSixDQUFDLENBQUM7SUFFRixPQUFPO1FBQ0wsR0FBRyxNQUFNO1FBQ1QsSUFBSSxFQUFFLGtCQUFrQjtRQUN4QixLQUFLLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztRQUNoQyxlQUFlLEVBQUU7WUFDZixHQUFHLE1BQU0sQ0FBQyxlQUFlO1lBQ3pCLE1BQU0sRUFBRSxRQUFRLEVBQUUsc0xBQXNMO1lBQ3hNLGFBQWEsRUFBRTtnQkFDYixHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsYUFBYTtnQkFDdkMsdUlBQXVJO2dCQUN2SSx3SUFBd0k7Z0JBQ3hJLGNBQWMsRUFBRSxJQUFJO2FBQ3JCO1NBQ0Y7UUFDRCxPQUFPLEVBQUU7WUFDUCxHQUFHLE1BQU0sQ0FBQyxPQUFPO1lBQ2pCLFdBQVcsRUFBRSxhQUFhO1NBQzNCO1FBQ0QsS0FBSyxFQUFFO1lBQ0wsR0FBRyxNQUFNLENBQUMsS0FBSztZQUNmLEdBQUcsbUJBQW1CLEVBQUU7WUFFeEIsUUFBUTtZQUNSLDhCQUE4QixFQUFFLE9BQU87WUFDdkMseUJBQXlCLEVBQUUsT0FBTztZQUNsQyx1QkFBdUIsRUFBRSxPQUFPO1lBQ2hDLGdDQUFnQyxFQUFFLE9BQU87WUFDekMsaUNBQWlDLEVBQUUsT0FBTztZQUMxQyxrQ0FBa0MsRUFBRSxPQUFPO1lBQzNDLGFBQWE7WUFDYixpREFBaUQsRUFBRSxPQUFPO1lBQzFELCtKQUErSjtZQUMvSixtQ0FBbUMsRUFBRSxPQUFPO1lBQzVDLG9EQUFvRCxFQUFFLE9BQU87WUFDN0Qsb0RBQW9ELEVBQUUsT0FBTztZQUM3RCwrQ0FBK0MsRUFBRTtnQkFDL0MsT0FBTztnQkFDUDtvQkFDRSxjQUFjLEVBQUUsSUFBSTtvQkFDcEIsMkJBQTJCLEVBQUUsb0JBQW9CO2lCQUNsRDthQUNGO1lBQ0QsZ0RBQWdELEVBQUUsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLEVBQUUsbUNBQW1DO1lBQzdHLDRDQUE0QyxFQUFFLE9BQU87WUFDckQsd0RBQXdEO1lBQ3hELGlDQUFpQyxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ3JFLDJDQUEyQyxFQUFFLE9BQU87WUFDcEQsc0NBQXNDLEVBQUU7Z0JBQ3RDLE9BQU87Z0JBQ1A7b0JBQ0UsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLE1BQU0sRUFBRSxDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUM7aUJBQ3BDO2dCQUNEO29CQUNFLFFBQVEsRUFBRSxVQUFVO29CQUNwQixLQUFLLEVBQUUsQ0FBQyxVQUFVLENBQUM7b0JBQ25CLE1BQU0sRUFBRSxDQUFDLFdBQVcsRUFBRSxZQUFZLENBQUMsRUFBRSw2QkFBNkI7aUJBQ25FO2dCQUNEO29CQUNFLFFBQVEsRUFBRSxPQUFPO29CQUNqQixNQUFNLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3ZCO2dCQUNEO29CQUNFLFFBQVEsRUFBRSxXQUFXO29CQUNyQixNQUFNLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3ZCO2dCQUNEO29CQUNFLFFBQVEsRUFBRSxXQUFXO29CQUNyQixNQUFNLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3ZCO2dCQUNEO29CQUNFLFFBQVEsRUFBRSxlQUFlO29CQUN6QixNQUFNLEVBQUUsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDO2lCQUNyQzthQUNGO1lBQ0Qsb0NBQW9DLEVBQUUsT0FBTztZQUM3QyxzQ0FBc0MsRUFBRTtnQkFDdEMsT0FBTztnQkFDUCxFQUFFLGdCQUFnQixFQUFFLEVBQUUsRUFBRTthQUN6QjtZQUNELG9EQUFvRCxFQUFFLE9BQU87WUFDN0Qsa0NBQWtDLEVBQUUsT0FBTztZQUMzQyw2Q0FBNkMsRUFBRSxPQUFPO1lBQ3RELG1EQUFtRCxFQUFFLE9BQU87WUFDNUQseUNBQXlDLEVBQUUsT0FBTztZQUNsRCxnREFBZ0QsRUFBRSxPQUFPO1lBQ3pELDhJQUE4STtZQUM5SSx5Q0FBeUMsRUFBRTtnQkFDekMsT0FBTztnQkFDUDtvQkFDRSxVQUFVLEVBQUUsS0FBSztpQkFDbEI7YUFDRjtZQUNELG9DQUFvQyxFQUFFLE9BQU87WUFDN0MsZ0RBQWdELEVBQUUsT0FBTztZQUN6RCx3Q0FBd0MsRUFBRSxPQUFPO1lBQ2pELHlDQUF5QyxFQUFFLE9BQU87WUFDbEQsbUNBQW1DLEVBQUUsT0FBTztZQUM1Qyx3Q0FBd0MsRUFBRSxPQUFPO1lBQ2pELG1DQUFtQyxFQUFFLE9BQU87WUFDNUMsaUNBQWlDLEVBQUUsT0FBTyxFQUFFLGtHQUFrRztZQUM5SSw0REFBNEQsRUFBRSxPQUFPO1lBQ3JFLHdEQUF3RCxFQUFFLE9BQU87WUFDakUsMENBQTBDLEVBQUUsT0FBTztZQUNuRCxtREFBbUQsRUFBRSxPQUFPO1lBQzVELHVDQUF1QyxFQUFFLE9BQU87WUFDaEQsdUlBQXVJO1lBQ3ZJLDZDQUE2QyxFQUFFLE9BQU87WUFDdEQsaUVBQWlFLEVBQy9ELE9BQU87WUFDVCx1REFBdUQsRUFBRSxPQUFPLEVBQUUseUJBQXlCO1lBQzNGLGtEQUFrRCxFQUFFLE9BQU87WUFDM0Qsa0RBQWtELEVBQUUsT0FBTztZQUMzRCxtREFBbUQsRUFBRSxPQUFPO1lBQzVELGtEQUFrRCxFQUFFLE9BQU87WUFDM0QsOENBQThDLEVBQUUsT0FBTztZQUN2RCw0Q0FBNEMsRUFBRSxPQUFPO1lBQ3JELHFDQUFxQyxFQUFFLE9BQU8sRUFBRSx5R0FBeUc7WUFDekosMENBQTBDLEVBQUUsT0FBTztZQUNuRCw0Q0FBNEMsRUFBRSxPQUFPO1lBQ3JELHNEQUFzRCxFQUFFLE9BQU87WUFDL0Qsb0NBQW9DLEVBQUUsT0FBTztZQUM3Qyx5Q0FBeUMsRUFBRSxPQUFPO1lBQ2xELCtDQUErQyxFQUFFLE9BQU87WUFDeEQsNkNBQTZDLEVBQUUsT0FBTztZQUN0RCwwQ0FBMEMsRUFBRSxPQUFPO1lBQ25ELG9DQUFvQyxFQUFFLE9BQU87WUFDN0MsNENBQTRDLEVBQUUsT0FBTztZQUNyRCwyQ0FBMkMsRUFBRTtnQkFDM0MsT0FBTztnQkFDUDtvQkFDRSxtQkFBbUI7b0JBQ25CLFlBQVksRUFBRSxLQUFLO29CQUNuQixZQUFZLEVBQUUsS0FBSztvQkFDbkIsb0JBQW9CLEVBQUUsS0FBSztvQkFDM0IsV0FBVyxFQUFFLEtBQUs7b0JBQ2xCLHVCQUF1QixFQUFFLEtBQUs7aUJBQy9CO2FBQ0Y7WUFDRCxrREFBa0QsRUFBRTtnQkFDbEQsT0FBTztnQkFDUDtvQkFDRSxLQUFLLEVBQUUsRUFBRTtvQkFDVCxtQkFBbUI7b0JBQ25CLFlBQVksRUFBRSxLQUFLO29CQUNuQixVQUFVLEVBQUUsS0FBSztvQkFDakIsWUFBWSxFQUFFLEtBQUs7b0JBQ25CLFdBQVcsRUFBRSxLQUFLO29CQUNsQixXQUFXLEVBQUUsS0FBSztpQkFDbkI7YUFDRjtZQUNELGdEQUFnRCxFQUFFLE9BQU87WUFDekQsaUNBQWlDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDO1lBQ3RELGdEQUFnRCxFQUFFO2dCQUNoRCxPQUFPO2dCQUNQLEVBQUUseUJBQXlCLEVBQUUsSUFBSSxFQUFFO2FBQ3BDO1lBQ0QsbUNBQW1DLEVBQUUsT0FBTztZQUM1Qyx1Q0FBdUMsRUFBRSxPQUFPO1NBQ2pEO0tBQ08sQ0FBQztBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmZW5nZVRzUGx1Z2luIGZyb20gXCJAZmVuZ2UvZXNsaW50LXBsdWdpbi10c1wiO1xuaW1wb3J0IHRzUGFyc2VyIGZyb20gXCJAdHlwZXNjcmlwdC1lc2xpbnQvcGFyc2VyXCI7XG5pbXBvcnQgeyBnZXRKc0Jhc2UgfSBmcm9tIFwiLi4vanMvYmFzZS5qc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VHNCYXNlKCkge1xuICBjb25zdCBqc0Jhc2UgPSBnZXRKc0Jhc2UoKTtcblxuICBjb25zdCBnZXRUc0V4dGVuc2lvblJ1bGVzID0gKCkgPT4ge1xuICAgIC8vIEtleSBpcyBqcyBydWxlLCB2YWx1ZSBpcyB0cyBydWxlXG4gICAgLy8gaHR0cHM6Ly90eXBlc2NyaXB0LWVzbGludC5pby9ydWxlcy8/PWV4dGVuc2lvblxuICAgIGNvbnN0IGV4dGVuc2lvblJ1bGVNYXAgPSB7XG4gICAgICBcImNsYXNzLW1ldGhvZHMtdXNlLXRoaXNcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvY2xhc3MtbWV0aG9kcy11c2UtdGhpc1wiLFxuICAgICAgXCJjb25zaXN0ZW50LXJldHVyblwiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9jb25zaXN0ZW50LXJldHVyblwiLFxuICAgICAgXCJkZWZhdWx0LXBhcmFtLWxhc3RcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvZGVmYXVsdC1wYXJhbS1sYXN0XCIsXG4gICAgICBcImRvdC1ub3RhdGlvblwiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9kb3Qtbm90YXRpb25cIixcbiAgICAgIFwiaW5pdC1kZWNsYXJhdGlvbnNcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvaW5pdC1kZWNsYXJhdGlvbnNcIixcbiAgICAgIFwibWF4LXBhcmFtc1wiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9tYXgtcGFyYW1zXCIsXG4gICAgICBcIm5vLWFycmF5LWNvbnN0cnVjdG9yXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWFycmF5LWNvbnN0cnVjdG9yXCIsXG4gICAgICBcIm5vLWR1cGUtY2xhc3MtbWVtYmVyc1wiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1kdXBlLWNsYXNzLW1lbWJlcnNcIixcbiAgICAgIFwibm8tZW1wdHktZnVuY3Rpb25cIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cIixcbiAgICAgIFwibm8taW1wbGllZC1ldmFsXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWltcGxpZWQtZXZhbFwiLFxuICAgICAgXCJuby1pbnZhbGlkLXRoaXNcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8taW52YWxpZC10aGlzXCIsXG4gICAgICBcIm5vLWxvb3AtZnVuY1wiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1sb29wLWZ1bmNcIixcbiAgICAgIC8vIFwibm8tbG9zcy1vZi1wcmVjaXNpb25cIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbG9zcy1vZi1wcmVjaXNpb25cIiwgLy8gVGhpcyBydWxlIGhhcyBiZWVuIGRlcHJlY2F0ZWRcbiAgICAgIFwibm8tbWFnaWMtbnVtYmVyc1wiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1tYWdpYy1udW1iZXJzXCIsXG4gICAgICBcIm5vLXJlZGVjbGFyZVwiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1yZWRlY2xhcmVcIixcbiAgICAgIFwibm8tcmVzdHJpY3RlZC1pbXBvcnRzXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlc3RyaWN0ZWQtaW1wb3J0c1wiLFxuICAgICAgXCJuby1zaGFkb3dcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tc2hhZG93XCIsXG4gICAgICBcIm5vLXVudXNlZC1leHByZXNzaW9uc1wiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtZXhwcmVzc2lvbnNcIixcbiAgICAgIFwibm8tdW51c2VkLXZhcnNcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcIixcbiAgICAgIFwibm8tdXNlLWJlZm9yZS1kZWZpbmVcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdXNlLWJlZm9yZS1kZWZpbmVcIixcbiAgICAgIFwibm8tdXNlbGVzcy1jb25zdHJ1Y3RvclwiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9uby11c2VsZXNzLWNvbnN0cnVjdG9yXCIsXG4gICAgICBcIm5vLXRocm93LWxpdGVyYWxcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvb25seS10aHJvdy1lcnJvclwiLFxuICAgICAgXCJwcmVmZXItZGVzdHJ1Y3R1cmluZ1wiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9wcmVmZXItZGVzdHJ1Y3R1cmluZ1wiLFxuICAgICAgXCJwcmVmZXItcHJvbWlzZS1yZWplY3QtZXJyb3JzXCI6XG4gICAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3ByZWZlci1wcm9taXNlLXJlamVjdC1lcnJvcnNcIixcbiAgICAgIFwicmVxdWlyZS1hd2FpdFwiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9yZXF1aXJlLWF3YWl0XCIsXG4gICAgICBcIm5vLXJldHVybi1hd2FpdFwiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9yZXR1cm4tYXdhaXRcIiwgLy8gbm8tcmV0dXJuLWF3YWl0IGhhcyBiZWVuIGRlcHJlY2F0ZWRcbiAgICB9IGFzIGNvbnN0O1xuXG4gICAgdHlwZSBKczJUc1J1bGVNYXAgPSB0eXBlb2YgZXh0ZW5zaW9uUnVsZU1hcDtcbiAgICB0eXBlIFRzMkpzUnVsZU1hcCA9IHtcbiAgICAgIFtLIGluIGtleW9mIEpzMlRzUnVsZU1hcCBhcyBKczJUc1J1bGVNYXBbS11dOiBLOyAvLyByZXZlcnNlXG4gICAgfTtcblxuICAgIHR5cGUgSnNFeHRlbnNpb25LZXkgPSBFeHRyYWN0PFxuICAgICAga2V5b2YgSnMyVHNSdWxlTWFwLFxuICAgICAga2V5b2YgdHlwZW9mIGpzQmFzZS5ydWxlc1xuICAgID47IC8vIEV4dHJhY3RcbiAgICB0eXBlIFRzRXh0ZW5zaW9uS2V5ID0gSnMyVHNSdWxlTWFwW0pzRXh0ZW5zaW9uS2V5XTtcblxuICAgIHR5cGUgSnNSZXN1bHQgPSBSZWNvcmQ8SnNFeHRlbnNpb25LZXksIFwib2ZmXCI+O1xuICAgIHR5cGUgVHNSZXN1bHQgPSB7XG4gICAgICBbS2V5IGluIFRzRXh0ZW5zaW9uS2V5XTogKHR5cGVvZiBqc0Jhc2UucnVsZXMpW1RzMkpzUnVsZU1hcFtLZXldXTtcbiAgICB9O1xuICAgIHR5cGUgUmVzdWx0ID0gSnNSZXN1bHQgJiBUc1Jlc3VsdDtcblxuICAgIGNvbnN0IGlzSW5FeHRlbnNpb25SdWxlTWFwID0gKFxuICAgICAga2V5OiBzdHJpbmcsXG4gICAgKToga2V5IGlzIGtleW9mIHR5cGVvZiBleHRlbnNpb25SdWxlTWFwID0+IGtleSBpbiBleHRlbnNpb25SdWxlTWFwO1xuICAgIHJldHVybiBPYmplY3QuZW50cmllcyhqc0Jhc2UucnVsZXMpLnJlZHVjZShcbiAgICAgIChyZXN1bHQsIFtqc1J1bGVLZXksIGpzUnVsZVZhbHVlXSkgPT5cbiAgICAgICAgaXNJbkV4dGVuc2lvblJ1bGVNYXAoanNSdWxlS2V5KVxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAuLi5yZXN1bHQsXG4gICAgICAgICAgICAgIFtqc1J1bGVLZXldOiBcIm9mZlwiLFxuICAgICAgICAgICAgICBbZXh0ZW5zaW9uUnVsZU1hcFtqc1J1bGVLZXldXToganNSdWxlVmFsdWUsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiByZXN1bHQsXG4gICAgICB7fSBhcyBSZXN1bHQsXG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4ge1xuICAgIC4uLmpzQmFzZSxcbiAgICBuYW1lOiBcImZlbmdlL3R5cGVzY3JpcHRcIixcbiAgICBmaWxlczogW1wiKiovKi57dHMsY3RzLG10cyx0c3h9XCJdLFxuICAgIGxhbmd1YWdlT3B0aW9uczoge1xuICAgICAgLi4uanNCYXNlLmxhbmd1YWdlT3B0aW9ucyxcbiAgICAgIHBhcnNlcjogdHNQYXJzZXIsIC8vIFVuZm9ydHVuYXRlbHkgcGFyc2VyIGNhbm5vdCBiZSBhIHN0cmluZy4gRXNsaW50IHNob3VsZCBzdXBwb3J0IGl0LiBodHRwczovL2VzbGludC5vcmcvZG9jcy9sYXRlc3QvdXNlL2NvbmZpZ3VyZS9jb25maWd1cmF0aW9uLWZpbGVzLW5ldyNjb25maWd1cmluZy1hLWN1c3RvbS1wYXJzZXItYW5kLWl0cy1vcHRpb25zXG4gICAgICBwYXJzZXJPcHRpb25zOiB7XG4gICAgICAgIC4uLmpzQmFzZS5sYW5ndWFnZU9wdGlvbnMucGFyc2VyT3B0aW9ucyxcbiAgICAgICAgLy8gU2V0dGluZyBgcHJvamVjdFNlcnZpY2U6IHRydWVgIG9yIGBwcm9qZWN0OiB0cnVlYCBpcyBwcmV0dHkgc2xvdyB3aGVuIGxpbnQgYSBtb25vcmVwbyB3aXRoIG1hbnkgdHNjb25maWcuanNvbiBmaWxlcyBpbiBlYWNoIHN1Yi1hcHAuXG4gICAgICAgIC8vIEJ1dCBzZXR0aW5nIGBwcm9qZWN0OiBcInRzY29uZmlnLmpzb25cImAgd2lsbCBjYXVzZSBwYXJzZXIgZXJyb3Igd2hlbiB0aGUgcHJvamVjdCByb290IHRzY29uZmlnLmpzb24gaXMgYHsgZXh0ZW5kczogXCJmZW5nZS90c2NvbmZpZ1wiIH1gXG4gICAgICAgIHByb2plY3RTZXJ2aWNlOiB0cnVlLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHBsdWdpbnM6IHtcbiAgICAgIC4uLmpzQmFzZS5wbHVnaW5zLFxuICAgICAgXCJAZmVuZ2UtdHNcIjogZmVuZ2VUc1BsdWdpbixcbiAgICB9LFxuICAgIHJ1bGVzOiB7XG4gICAgICAuLi5qc0Jhc2UucnVsZXMsXG4gICAgICAuLi5nZXRUc0V4dGVuc2lvblJ1bGVzKCksXG5cbiAgICAgIC8vIGZlbmdlXG4gICAgICBcIkBmZW5nZS10cy9leGFjdC1tYXAtc2V0LXR5cGVcIjogXCJlcnJvclwiLFxuICAgICAgXCJAZmVuZ2UtdHMvbm8tY29uc3QtZW51bVwiOiBcImVycm9yXCIsXG4gICAgICBcIkBmZW5nZS10cy9uby1kZWNsYXJlc1wiOiBcImVycm9yXCIsXG4gICAgICBcIkBmZW5nZS10cy9uby1leHBvcnQtYXNzaWdubWVudFwiOiBcImVycm9yXCIsXG4gICAgICBcIkBmZW5nZS10cy9uby1wcm9wZXJ0eS1kZWNvcmF0b3JcIjogXCJlcnJvclwiLFxuICAgICAgXCJAZmVuZ2UtdHMvbm8tdW50eXBlZC1lbXB0eS1hcnJheVwiOiBcImVycm9yXCIsXG4gICAgICAvLyB0eXBlc2NyaXB0XG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9hZGphY2VudC1vdmVybG9hZC1zaWduYXR1cmVzXCI6IFwiZXJyb3JcIixcbiAgICAgIC8vIFwiQHR5cGVzY3JpcHQtZXNsaW50L2FycmF5LXR5cGVcIjogW1wiZXJyb3JcIiwgJ2FycmF5LXNpbXBsZSddLCAvLyBUaGUgZGVmYXVsdCBvcHRpb24gaXMgJ2FycmF5Jy4gTm90IHZlcnkgc3VyZSBpZiB3ZSBuZWVkIHRvIGNoYW5nZSB0aGUgb3B0aW9uLiBTbyBkaXNhYmxlZCBpdC5cbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L2F3YWl0LXRoZW5hYmxlXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtZ2VuZXJpYy1jb25zdHJ1Y3RvcnNcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvY29uc2lzdGVudC1pbmRleGVkLW9iamVjdC1zdHlsZVwiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9jb25zaXN0ZW50LXR5cGUtYXNzZXJ0aW9uc1wiOiBbXG4gICAgICAgIFwiZXJyb3JcIixcbiAgICAgICAge1xuICAgICAgICAgIGFzc2VydGlvblN0eWxlOiBcImFzXCIsXG4gICAgICAgICAgb2JqZWN0TGl0ZXJhbFR5cGVBc3NlcnRpb25zOiBcImFsbG93LWFzLXBhcmFtZXRlclwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtdHlwZS1kZWZpbml0aW9uc1wiOiBbXCJlcnJvclwiLCBcImludGVyZmFjZVwiXSwgLy8gVE9ETyBzaG91bGQgd2UgY2hhbmdlIHRvICd0eXBlJz9cbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtdHlwZS1leHBvcnRzXCI6IFwiZXJyb3JcIixcbiAgICAgIC8vIFwiQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtdHlwZS1pbXBvcnRzXCI6IFwiZXJyb3IsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9kb3Qtbm90YXRpb25cIjogW1wiZXJyb3JcIiwgeyBhbGxvd0tleXdvcmRzOiB0cnVlIH1dLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbWV0aG9kLXNpZ25hdHVyZS1zdHlsZVwiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblwiOiBbXG4gICAgICAgIFwiZXJyb3JcIixcbiAgICAgICAge1xuICAgICAgICAgIHNlbGVjdG9yOiBcImZ1bmN0aW9uXCIsXG4gICAgICAgICAgZm9ybWF0OiBbXCJjYW1lbENhc2VcIiwgXCJQYXNjYWxDYXNlXCJdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgc2VsZWN0b3I6IFwidmFyaWFibGVcIixcbiAgICAgICAgICB0eXBlczogW1wiZnVuY3Rpb25cIl0sXG4gICAgICAgICAgZm9ybWF0OiBbXCJjYW1lbENhc2VcIiwgXCJQYXNjYWxDYXNlXCJdLCAvLyBkZWNvcmF0b3JzIG5lZWQgUGFzY2FsQ2FzZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgc2VsZWN0b3I6IFwiY2xhc3NcIixcbiAgICAgICAgICBmb3JtYXQ6IFtcIlBhc2NhbENhc2VcIl0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBzZWxlY3RvcjogXCJpbnRlcmZhY2VcIixcbiAgICAgICAgICBmb3JtYXQ6IFtcIlBhc2NhbENhc2VcIl0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBzZWxlY3RvcjogXCJ0eXBlQWxpYXNcIixcbiAgICAgICAgICBmb3JtYXQ6IFtcIlBhc2NhbENhc2VcIl0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBzZWxlY3RvcjogXCJ0eXBlUGFyYW1ldGVyXCIsXG4gICAgICAgICAgZm9ybWF0OiBbXCJVUFBFUl9DQVNFXCIsIFwiUGFzY2FsQ2FzZVwiXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1hcnJheS1kZWxldGVcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tYmFzZS10by1zdHJpbmdcIjogW1xuICAgICAgICBcImVycm9yXCIsXG4gICAgICAgIHsgaWdub3JlZFR5cGVOYW1lczogW10gfSxcbiAgICAgIF0sXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1jb25mdXNpbmctbm9uLW51bGwtYXNzZXJ0aW9uXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWRlcHJlY2F0ZWRcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZHVwbGljYXRlLWVudW0tdmFsdWVzXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWR1cGxpY2F0ZS10eXBlLWNvbnN0aXR1ZW50c1wiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1vYmplY3QtdHlwZVwiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1leHRyYS1ub24tbnVsbC1hc3NlcnRpb25cIjogXCJlcnJvclwiLFxuICAgICAgLy8gXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXh0cmFuZW91cy1jbGFzc1wiOiBcImVycm9yXCIsIC8vIENsYXNzZXMgaGF2ZSBvbmx5IHN0YXRpYyBtZW1iZXIgaXMgcmVhc29uYWJsZSBzb21ldGltZXMuIE5lc3RqcyBtb2R1bGVzIHVzZSBpdCBhIGxvdC5cbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWZsb2F0aW5nLXByb21pc2VzXCI6IFtcbiAgICAgICAgXCJlcnJvclwiLFxuICAgICAgICB7XG4gICAgICAgICAgaWdub3JlVm9pZDogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZm9yLWluLWFycmF5XCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWltcG9ydC10eXBlLXNpZGUtZWZmZWN0c1wiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1pbmZlcnJhYmxlLXR5cGVzXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWludmFsaWQtdm9pZC10eXBlXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLW1pc3VzZWQtbmV3XCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLW1pc3VzZWQtcHJvbWlzZXNcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbWl4ZWQtZW51bXNcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbmFtZXNwYWNlXCI6IFwiZXJyb3JcIiwgLy8gY29uc2lkZXIgdG8gYWRkIG9wdGlvbiBge1wiYWxsb3dEZWZpbml0aW9uRmlsZXNcIjogZmFsc2V9YCB0byBzdHJpY3RseSBmb3JiaWQgYG5hbWVzcGFjZWAga2V5d29yZFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0ZWQtbnVsbGlzaC1jb2FsZXNjaW5nXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGVkLW9wdGlvbmFsLWNoYWluXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblwiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1yZWR1bmRhbnQtdHlwZS1jb25zdGl0dWVudHNcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXCI6IFwiZXJyb3JcIixcbiAgICAgIC8vIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWJvb2xlYW4tbGl0ZXJhbC1jb21wYXJlXCI6IFwiZXJyb3JcIiwgLy8gdW5zYWZlIHdoZW4gYHN0cmljdE51bGxDaGVja3NgIGluIHRzY29uZmlnLmpzb24gaXMgZGlzYWJsZWRcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWNvbmRpdGlvblwiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1wYXJhbWV0ZXItcHJvcGVydHktYXNzaWdubWVudFwiOlxuICAgICAgICBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS10ZW1wbGF0ZS1leHByZXNzaW9uXCI6IFwiZXJyb3JcIiwgLy8ganMgYWxzbyBuZWVkIHRoaXMgcnVsZVxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1hcmd1bWVudHNcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1hc3NlcnRpb25cIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1jb25zdHJhaW50XCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1kZWNsYXJhdGlvbi1tZXJnaW5nXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1lbnVtLWNvbXBhcmlzb25cIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWZ1bmN0aW9uLXR5cGVcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXJldHVyblwiOiBcImVycm9yXCIsIC8vIFRoaXMgcnVsZSBpcyBub3QgdmVyeSBwZXJmZWN0LiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R5cGVzY3JpcHQtZXNsaW50L3R5cGVzY3JpcHQtZXNsaW50L2lzc3Vlcy8xMDQzOVxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXVuYXJ5LW1pbnVzXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXdyYXBwZXItb2JqZWN0LXR5cGVzXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vbi1udWxsYWJsZS10eXBlLWFzc2VydGlvbi1zdHlsZVwiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9wcmVmZXItYXMtY29uc3RcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvcHJlZmVyLWZ1bmN0aW9uLXR5cGVcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvcHJlZmVyLWxpdGVyYWwtZW51bS1tZW1iZXJcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvcHJlZmVyLW5hbWVzcGFjZS1rZXl3b3JkXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3ByZWZlci1vcHRpb25hbC1jaGFpblwiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9wcmVmZXItcmVhZG9ubHlcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvcHJlZmVyLXJldHVybi10aGlzLXR5cGVcIjogXCJlcnJvclwiLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvcmVzdHJpY3QtcGx1cy1vcGVyYW5kc1wiOiBbXG4gICAgICAgIFwiZXJyb3JcIixcbiAgICAgICAge1xuICAgICAgICAgIC8vIGFsbG93QW55OiBmYWxzZSxcbiAgICAgICAgICBhbGxvd0Jvb2xlYW46IGZhbHNlLFxuICAgICAgICAgIGFsbG93TnVsbGlzaDogZmFsc2UsXG4gICAgICAgICAgYWxsb3dOdW1iZXJBbmRTdHJpbmc6IGZhbHNlLFxuICAgICAgICAgIGFsbG93UmVnRXhwOiBmYWxzZSxcbiAgICAgICAgICBza2lwQ29tcG91bmRBc3NpZ25tZW50czogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvcmVzdHJpY3QtdGVtcGxhdGUtZXhwcmVzc2lvbnNcIjogW1xuICAgICAgICBcImVycm9yXCIsXG4gICAgICAgIHtcbiAgICAgICAgICBhbGxvdzogW10sXG4gICAgICAgICAgLy8gYWxsb3dBbnk6IGZhbHNlLFxuICAgICAgICAgIGFsbG93Qm9vbGVhbjogZmFsc2UsXG4gICAgICAgICAgYWxsb3dOZXZlcjogZmFsc2UsXG4gICAgICAgICAgYWxsb3dOdWxsaXNoOiBmYWxzZSxcbiAgICAgICAgICBhbGxvd051bWJlcjogZmFsc2UsXG4gICAgICAgICAgYWxsb3dSZWdFeHA6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3JlbGF0ZWQtZ2V0dGVyLXNldHRlci1wYWlyc1wiOiBcImVycm9yXCIsXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9yZXR1cm4tYXdhaXRcIjogW1wiZXJyb3JcIiwgXCJhbHdheXNcIl0sXG4gICAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9zd2l0Y2gtZXhoYXVzdGl2ZW5lc3MtY2hlY2tcIjogW1xuICAgICAgICBcImVycm9yXCIsXG4gICAgICAgIHsgcmVxdWlyZURlZmF1bHRGb3JOb25VbmlvbjogdHJ1ZSB9LFxuICAgICAgXSxcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3VuYm91bmQtbWV0aG9kXCI6IFwiZXJyb3JcIixcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3VuaWZpZWQtc2lnbmF0dXJlc1wiOiBcImVycm9yXCIsXG4gICAgfSxcbiAgfSBhcyBjb25zdDtcbn1cbiJdfQ==
@@ -4,7 +4,7 @@ export declare function typescript(): readonly [{
4
4
  readonly languageOptions: {
5
5
  readonly parser: typeof import("@typescript-eslint/parser");
6
6
  readonly parserOptions: {
7
- readonly project: "tsconfig.json";
7
+ readonly projectService: true;
8
8
  readonly ecmaVersion: "latest";
9
9
  readonly sourceType: "module";
10
10
  readonly ecmaFeatures: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fenge/eslint-config",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "A super strict eslint config for linting js/ts/package.json.",
5
5
  "keywords": [
6
6
  "opinionated",
@@ -81,9 +81,8 @@ export function getTsBase() {
81
81
  parserOptions: {
82
82
  ...jsBase.languageOptions.parserOptions,
83
83
  // Setting `projectService: true` or `project: true` is pretty slow when lint a monorepo with many tsconfig.json files in each sub-app.
84
- // For a better performance, we are recommended using one tsconfig.json file in a project.
85
- // Waiting for typescript-eslint to officially provide a better way to use `projectService`.
86
- project: "tsconfig.json",
84
+ // But setting `project: "tsconfig.json"` will cause parser error when the project root tsconfig.json is `{ extends: "fenge/tsconfig" }`
85
+ projectService: true,
87
86
  },
88
87
  },
89
88
  plugins: {