@simplysm/sd-cli 7.0.269 → 7.0.272

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.
@@ -65,7 +65,8 @@ export class SdCliElectron {
65
65
  electronTsFileContent = "require(\"dotenv\").config({ path: `${__dirname}\\\\.env` });\n" + electronTsFileContent;
66
66
  const result = ts.transpileModule(electronTsFileContent, { compilerOptions: { module: ts.ModuleKind.CommonJS } });
67
67
  await FsUtil.writeFileAsync(path.resolve(electronSrcPath, "electron.js"), result.outputText);
68
+ await SdProcess.spawnAsync("electron-rebuild", { cwd: pkgRootPath }, true);
68
69
  await SdProcess.spawnAsync(`electron ${electronSrcPath}`, { cwd: this._rootPath }, true);
69
70
  }
70
71
  }
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2RDbGlFbGVjdHJvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWlsZC10b29sL1NkQ2xpRWxlY3Ryb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFbkUsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFNUIsTUFBTSxPQUFPLGFBQWE7SUFHeEIsWUFBb0MsU0FBaUI7UUFBakIsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUZwQyxZQUFPLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBR3JGLENBQUM7SUFFTSxLQUFLLENBQUMsdUJBQXVCLENBQUMsT0FBZSxFQUFFLEdBQVcsRUFBRSxHQUFvRDtRQUNySCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sTUFBTSxHQUFHLE1BQU0sZUFBZSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLGVBQWUsQ0FBQyxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUgsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQTBDLENBQUM7UUFDcEYsSUFBSSxDQUFDLFNBQVM7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFdEQsTUFBTSxjQUFjLEdBQUcsU0FBUyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUM7UUFD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
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2RDbGlFbGVjdHJvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWlsZC10b29sL1NkQ2xpRWxlY3Ryb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFbkUsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFNUIsTUFBTSxPQUFPLGFBQWE7SUFHeEIsWUFBb0MsU0FBaUI7UUFBakIsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUZwQyxZQUFPLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBR3JGLENBQUM7SUFFTSxLQUFLLENBQUMsdUJBQXVCLENBQUMsT0FBZSxFQUFFLEdBQVcsRUFBRSxHQUFvRDtRQUNySCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sTUFBTSxHQUFHLE1BQU0sZUFBZSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLGVBQWUsQ0FBQyxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUgsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQTBDLENBQUM7UUFDcEYsSUFBSSxDQUFDLFNBQVM7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFdEQsTUFBTSxjQUFjLEdBQUcsU0FBUyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUM7UUFD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
@@ -21,5 +21,6 @@ export declare class SdCliClientBuilder extends EventEmitter {
21
21
  buildAsync(): Promise<ISdCliPackageBuildResult[]>;
22
22
  private _getInternalModuleCachePaths;
23
23
  private _getWebpackConfig;
24
+ private _getExternalModules;
24
25
  private _getNpmConfig;
25
26
  }
@@ -25,6 +25,7 @@ import { SdCliCordova } from "../build-tool/SdCliCordova";
25
25
  import { SdCliNpmConfigUtil } from "../utils/SdCliNpmConfigUtil";
26
26
  import electronBuilder from "electron-builder";
27
27
  import { fileURLToPath } from "url";
28
+ import { StringUtil } from "@simplysm/sd-core-common";
28
29
  export class SdCliClientBuilder extends EventEmitter {
29
30
  constructor(_rootPath, _config, _projRootPath) {
30
31
  super();
@@ -99,17 +100,18 @@ export class SdCliClientBuilder extends EventEmitter {
99
100
  await this._cordova.initializeAsync();
100
101
  }
101
102
  // 빌드 준비
103
+ const extModules = this._config.builder?.electron ? this._getExternalModules() : [];
102
104
  const webpackConfigs = Object.keys(this._config.builder ?? { web: {} })
103
- .map((builderType) => this._getWebpackConfig(true, builderType));
105
+ .map((builderType) => this._getWebpackConfig(true, builderType, extModules));
104
106
  const multiCompiler = webpack(webpackConfigs);
105
107
  await new Promise((resolve, reject) => {
106
- const invalidFiles = [];
108
+ // const invalidFiles: string[] = [];
107
109
  multiCompiler.hooks.invalid.tap(this.constructor.name, (fileName) => {
108
110
  if (fileName != null) {
109
111
  this._logger.debug("파일변경 감지", fileName);
110
112
  // NgModule 캐시 삭제
111
113
  this._ngModuleGenerator.removeCaches([path.resolve(fileName)]);
112
- invalidFiles.push(fileName);
114
+ // invalidFiles.push(fileName);
113
115
  }
114
116
  });
115
117
  multiCompiler.hooks.watchRun.tapAsync(this.constructor.name, async (args, callback) => {
@@ -167,8 +169,9 @@ export class SdCliClientBuilder extends EventEmitter {
167
169
  }
168
170
  // 빌드
169
171
  this._logger.debug("Webpack 빌드 수행...");
172
+ const extModules = this._config.builder?.electron ? this._getExternalModules() : [];
170
173
  const builderTypes = Object.keys(this._config.builder ?? { web: {} });
171
- const webpackConfigs = builderTypes.map((builderType) => this._getWebpackConfig(false, builderType));
174
+ const webpackConfigs = builderTypes.map((builderType) => this._getWebpackConfig(false, builderType, extModules));
172
175
  const multipleCompiler = webpack(webpackConfigs);
173
176
  const buildResults = await new Promise((resolve, reject) => {
174
177
  multipleCompiler.run((err, multiStats) => {
@@ -222,7 +225,9 @@ export class SdCliClientBuilder extends EventEmitter {
222
225
  "dotenv": dotenvVersion,
223
226
  ...remoteVersion !== undefined ? {
224
227
  "@electron/remote": remoteVersion
225
- } : {}
228
+ } : {},
229
+ ...extModules.filter((item) => item.exists).map((item) => item.name)
230
+ .toObject((item) => item, () => "*")
226
231
  }
227
232
  }, { space: 2 });
228
233
  await FsUtil.writeFileAsync(path.resolve(electronSrcPath, "package-lock.json"), "");
@@ -269,7 +274,7 @@ export class SdCliClientBuilder extends EventEmitter {
269
274
  ...FsUtil.findAllParentChildDirPaths(`node_modules/!(@simplysm|@${projName})/*/package.json`, this._rootPath, this._projRootPath),
270
275
  ].map((p) => path.dirname(p));
271
276
  }
272
- _getWebpackConfig(watch, builderType) {
277
+ _getWebpackConfig(watch, builderType, extModules) {
273
278
  const projNpmConfig = this._getNpmConfig(this._projRootPath);
274
279
  const projName = projNpmConfig.name;
275
280
  const internalModuleCachePaths = watch ? this._getInternalModuleCachePaths(projName) : undefined;
@@ -351,6 +356,7 @@ export class SdCliClientBuilder extends EventEmitter {
351
356
  experiments: { backCompat: false, syncWebAssembly: true, asyncWebAssembly: true },
352
357
  infrastructureLogging: { level: "error" },
353
358
  stats: "errors-warnings",
359
+ externals: extModules.toObject((item) => item.name, (item) => "commonjs2 " + item.name),
354
360
  cache: {
355
361
  type: "filesystem",
356
362
  profile: undefined,
@@ -690,6 +696,51 @@ export class SdCliClientBuilder extends EventEmitter {
690
696
  ]
691
697
  };
692
698
  }
699
+ _getExternalModules() {
700
+ const loadedModuleNames = [];
701
+ const results = [];
702
+ const fn = (currPath) => {
703
+ const npmConfig = this._getNpmConfig(currPath);
704
+ if (!npmConfig)
705
+ return;
706
+ const deps = SdCliNpmConfigUtil.getDependencies(npmConfig);
707
+ for (const moduleName of deps.defaults) {
708
+ if (loadedModuleNames.includes(moduleName))
709
+ continue;
710
+ loadedModuleNames.push(moduleName);
711
+ const modulePath = FsUtil.findAllParentChildDirPaths("node_modules/" + moduleName, currPath, this._projRootPath).first();
712
+ if (StringUtil.isNullOrEmpty(modulePath)) {
713
+ continue;
714
+ }
715
+ if (FsUtil.glob(path.resolve(modulePath, "**/binding.gyp")).length > 0) {
716
+ results.push({ name: moduleName, exists: true });
717
+ }
718
+ if (this._config.builder?.electron?.externalNodeModules?.includes(moduleName)) {
719
+ results.push({ name: moduleName, exists: true });
720
+ }
721
+ fn(modulePath);
722
+ }
723
+ for (const optModuleName of deps.optionals) {
724
+ if (loadedModuleNames.includes(optModuleName))
725
+ continue;
726
+ loadedModuleNames.push(optModuleName);
727
+ const optModulePath = FsUtil.findAllParentChildDirPaths("node_modules/" + optModuleName, currPath, this._projRootPath).first();
728
+ if (StringUtil.isNullOrEmpty(optModulePath)) {
729
+ results.push({ name: optModuleName, exists: false });
730
+ continue;
731
+ }
732
+ if (FsUtil.glob(path.resolve(optModulePath, "**/binding.gyp")).length > 0) {
733
+ results.push({ name: optModuleName, exists: true });
734
+ }
735
+ if (this._config.builder?.electron?.externalNodeModules?.includes(optModuleName)) {
736
+ results.push({ name: optModuleName, exists: true });
737
+ }
738
+ fn(optModulePath);
739
+ }
740
+ };
741
+ fn(this._rootPath);
742
+ return results;
743
+ }
693
744
  _getNpmConfig(pkgPath) {
694
745
  if (!this._npmConfigMap.has(pkgPath)) {
695
746
  this._npmConfigMap.set(pkgPath, FsUtil.readJson(path.resolve(pkgPath, "package.json")));
@@ -697,4 +748,4 @@ export class SdCliClientBuilder extends EventEmitter {
697
748
  return this._npmConfigMap.get(pkgPath);
698
749
  }
699
750
  }
700
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2RDbGlDbGllbnRCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2J1aWxkZXIvU2RDbGlDbGllbnRCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDdEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbEUsT0FBTyxPQUFPLE1BQU0sU0FBUyxDQUFDO0FBQzlCLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUN4QixPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDNUIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUVBQXVFLENBQUM7QUFDMUcsT0FBTyxFQUNMLHlCQUF5QixFQUN6Qix5QkFBeUIsRUFDekIsd0NBQXdDLEVBQ3pDLE1BQU0sbURBQW1ELENBQUM7QUFDM0QsT0FBTyxpQkFBaUIsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLG9CQUFvQixNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZFQUE2RSxDQUFDO0FBQ3JILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sa0JBQWtCLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNwQyxPQUFPLG1CQUFtQixNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUVwQixPQUFPLEVB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
751
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2RDbGlDbGllbnRCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2J1aWxkZXIvU2RDbGlDbGllbnRCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDdEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbEUsT0FBTyxPQUFPLE1BQU0sU0FBUyxDQUFDO0FBQzlCLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUN4QixPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDNUIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUVBQXVFLENBQUM7QUFDMUcsT0FBTyxFQUNMLHlCQUF5QixFQUN6Qix5QkFBeUIsRUFDekIsd0NBQXdDLEVBQ3pDLE1BQU0sbURBQW1ELENBQUM7QUFDM0QsT0FBTyxpQkFBaUIsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLG9CQUFvQixNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZFQUE2RSxDQUFDO0FBQ3JILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sa0JBQWtCLE1BQU0sOEJBQThCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNwQyxPQUFPLG1CQUFtQixNQUFNLHVCQUF1QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUVwQixPQUFPLEVB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
package/dist/commons.d.ts CHANGED
@@ -128,8 +128,9 @@ export interface ISdCliClientBuilderCordovaConfig {
128
128
  };
129
129
  }
130
130
  export interface ISdCliClientBuilderElectronConfig {
131
+ env?: Record<string, string>;
132
+ externalNodeModules?: string[];
131
133
  appId: string;
132
134
  icon?: string;
133
135
  installerIcon?: string;
134
- env?: Record<string, string>;
135
136
  }
@@ -376,6 +376,9 @@ export class SdCliBbFileMetadata {
376
376
  else if (isClassDeclaration(rawMeta)) {
377
377
  return new SdCliBbClassMetadata(this, rawMeta);
378
378
  }
379
+ else if (isFunctionDeclaration(rawMeta)) {
380
+ return new SdCliBbFunctionMetadata(this, rawMeta);
381
+ }
379
382
  else if (isArrayExpression(rawMeta)) {
380
383
  return new SdCliBbArrayMetadata(this, rawMeta);
381
384
  }
@@ -479,4 +482,4 @@ export class SdCliBbFileMetadata {
479
482
  throw new NeverEntryError();
480
483
  }
481
484
  }
482
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2RDbGlCYkZpbGVNZXRhZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9uZy10b29scy9iYWJlbC9TZENsaUJiRmlsZU1ldGFkYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFJTCxpQkFBaUIsRUFDakIsc0JBQXNCLEVBQ3RCLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsbUJBQW1CLEVBQ25CLDBCQUEwQixFQUMxQix3QkFBd0IsRUFDeEIsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUNyQixxQkFBcUIsRUFDckIsWUFBWSxFQUNaLG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQixrQkFBa0IsRUFDbEIsZUFBZSxFQUNmLGVBQWUsRUFDZixxQkFBcUIsRUFJckIsWUFBWSxFQUNiLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sV0FBNEIsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2hELE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUV4QixPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLG9CQUFvQixFQUNwQix1QkFBdUIsRUFDdkIscUJBQXFCLEVBQ3JCLHVCQUF1QixFQUN4QixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE1BQU0sT0FBTyxtQkFBbUI7SUFJOUIsWUFBbUMsUUFBZ0I7UUFBaEIsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQW1JbEMsOEJBQXlCLEdBQUcsSUFBSSxHQUFHLEVBQTRCLENBQUM7UUFtR2hFLDZCQUF3QixHQUFHLElBQUksR0FBRyxFQUE0QixDQUFDO1FBdUsvRCx1QkFBa0IsR0FBRyxJQUFJLEdBQUcsRUFBNkMsQ0FBQztRQTVZekYsSUFBSSxZQUFnQyxDQUFDO1FBQ3JDLEtBQUssTUFBTSxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUEsNkNBQTZDLENBQUMsRUFBRTtZQUMxRixJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7Z0JBQy9FLFlBQVksR0FBRyxRQUFRLEdBQUcsR0FBRyxDQUFDO2dCQUM5QixNQUFNO2FBQ1A7U0FDRjtRQUNELElBQUksWUFBWSxLQUFLLFNBQVMsRUFBRTtZQUM5QixNQUFNLFdBQVcsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDckQ7UUFFRCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxHQUFHLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztJQUN4QyxDQUFDO0lBSUQsSUFBVyxPQUFPO1FBQ2hCLElBQUksSUFBSSxDQUFDLGFBQWE7WUFBRSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7UUFFbEQsTUFBTSxNQUFNLEdBQXlELEVBQUUsQ0FBQztRQUN4RSxLQUFLLE1BQU0sT0FBTyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbkMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQztnQkFBRSxTQUFTO1lBRTVDLElBQUksd0JBQXdCLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ3JDLElBQUksT0FBTyxDQUFDLFdBQVcsRUFBRTtvQkFDdkIsSUFBSSxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUU7d0JBQzlDLEtBQUssTUFBTSxJQUFJLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUU7NEJBQ25ELElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRTtnQ0FDekIsTUFBTSxDQUFDLElBQUksQ0FBQztvQ0FDVixZQUFZLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJO29DQUMxQixNQUFNLEVBQUUsSUFBSSx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDO2lDQUNoRCxDQUFDLENBQUM7NkJBQ0o7aUNBQ0k7Z0NBQ0gsTUFBTSxXQUFXLENBQUMsS0FBSyxDQUFDLHlCQUF5QixFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7NkJBQzVFO3lCQUNGO3FCQUNGO3lCQUNJLElBQUksa0JBQWtCLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFO3dCQUNoRCxNQUFNLENBQUMsSUFBSSxDQUFDOzRCQUNWLFlBQVksRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxJQUFJOzRCQUN6QyxNQUFNLEVBQUUsSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQzt5QkFDNUQsQ0FBQyxDQUFDO3FCQUNKO3lCQUNJLElBQUkscUJBQXFCLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFO3dCQUNuRCxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFFOzRCQUMxQixNQUFNLENBQUMsSUFBSSxDQUFDO2dDQUNWLFlBQVksRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxJQUFJO2dDQUN6QyxNQUFNLEVBQUUsSUFBSSx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQzs2QkFDL0QsQ0FBQyxDQUFDO3lCQUNKOzZCQUNJOzRCQUNILE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO3lCQUM1RTtxQkFDRjt5QkFDSTt3QkFDSCxNQUFNLFdBQVcsQ0FBQyxLQUFLLENBQUMseUJBQXlCLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztxQkFDNUU7aUJBQ0Y7cUJBQ0k7b0JBQ0gsS0FBSyxNQUFNLFNBQVMsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFO3dCQUMxQyxJQUFJLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxFQUFFOzRCQUNoQyxNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDOzRCQUM1RixJQUFJLFlBQVksS0FBSyxTQUFTLEVBQUU7Z0NBQzlCLE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDOzZCQUM1RTs0QkFFRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7Z0NBQ2xCLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO29DQUN0QyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7b0NBQ3ZGLE1BQU0sQ0FBQyxJQUFJLENBQUM7d0NBQ1YsWUFBWTt3Q0FDWixNQUFNLEVBQUU7NENBQ04sUUFBUSxFQUFFLGNBQWM7NENBQ3hCLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUk7NENBQzFCLGlCQUFpQixFQUFFLG1CQUFtQjt5Q0FDdkM7cUNBQ0YsQ0FBQyxDQUFDO2lDQUNKO3FDQUNJO29DQUNILE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO29DQUN4QyxNQUFNLENBQUMsSUFBSSxDQUFDO3dDQUNWLFlBQVk7d0NBQ1osTUFBTSxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRTtxQ0FDM0YsQ0FBQyxDQUFDO2lDQUNKOzZCQUNGO2lDQUNJO2dDQUNILE1BQU0sQ0FBQyxJQUFJLENBQUM7b0NBQ1YsWUFBWTtvQ0FDWixNQUFNLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO2lDQUN2RCxDQUFDLENBQUM7NkJBQ0o7eUJBQ0Y7NkJBQ0k7NEJBQ0gsTUFBTSxXQUFXLENBQUMsS0FBSyxDQUFDLHlCQUF5QixFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7eUJBQzVFO3FCQUNGO2lCQUNGO2FBQ0Y7aUJBQ0ksSUFBSSwwQkFBMEIsQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDNUMsTUFBTSxDQUFDLElBQUksQ0FBQztvQkFDVixZQUFZLEVBQUUsU0FBUztvQkFDdkIsTUFBTSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQztpQkFDakQsQ0FBQyxDQUFDO2FBQ0o7aUJBQ0k7Z0JBQ0gsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ3RDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDdkYsTUFBTSxDQUFDLElBQUksQ0FBQzt3QkFDVixZQUFZLEVBQUUsR0FBRzt3QkFDakIsTUFBTSxFQUFFOzRCQUNOLFFBQVEsRUFBRSxjQUFjOzRCQUN4QixJQUFJLEVBQUUsR0FBRzs0QkFDVCxpQkFBaUIsRUFBRSxtQkFBbUI7eUJBQ3ZDO3FCQUNGLENBQUMsQ0FBQztpQkFDSjtxQkFDSTtvQkFDSCxNQUFNLFdBQVcsQ0FBQyxLQUFLLENBQUMseUJBQXlCLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztpQkFDNUU7YUFDRjtTQUNGO1FBRUQsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUM7UUFDNUIsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUlNLG1CQUFtQixDQUFDLElBQVk7UUFDckMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2RCxJQUFJLEtBQUssS0FBSyxTQUFTO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFFdEMsS0FBSyxNQUFNLE9BQU8sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ25DLElBQUksd0JBQXdCLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ3JDLElBQUksT0FBTyxDQUFDLFdBQVcsRUFBRTtvQkFDdkIsSUFBSSxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUU7d0JBQzlDLEtBQUssTUFBTSxJQUFJLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUU7NEJBQ25ELElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRTtnQ0FDekIsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxJQUFJLEVBQUU7b0NBQ3pCLE1BQU0sTUFBTSxHQUFHLElBQUksdUJBQXVCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO29DQUN2RCxJQUFJLENBQUMseUJBQXlCLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztvQ0FDakQsT0FBTyxNQUFNLENBQUM7aUNBQ2Y7NkJBQ0Y7aUNBQ0k7Z0NBQ0gsTUFBTSxXQUFXLENBQUMsS0FBSyxDQUFDLHlCQUF5QixFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7NkJBQzVFO3lCQUNGO3FCQUNGO3lCQUNJLElBQUksa0JBQWtCLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFO3dCQUNoRCxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxJQUFJLEVBQUU7NEJBQ3hDLE1BQU0sTUFBTSxHQUFHLElBQUksb0JBQW9CLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQzs0QkFDbkUsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7NEJBQ2pELE9BQU8sTUFBTSxDQUFDO3lCQUNmO3FCQUNGO3lCQUNJLElBQUkscUJBQXFCLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFO3dCQUNuRCxJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFFOzRCQUMxQixJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxJQUFJLEVBQUU7Z0NBQ3hDLE1BQU0sTUFBTSxHQUFHLElBQUksdUJBQXVCLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztnQ0FDdEUsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0NBQ2pELE9BQU8sTUFBTSxDQUFDOzZCQUNmO3lCQUNGOzZCQUNJOzRCQUNILE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO3lCQUM1RTtxQkFDRjt5QkFDSTt3QkFDSCxNQUFNLFdBQVcsQ0FBQyxLQUFLLENBQUMseUJBQXlCLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztxQkFDNUU7aUJBQ0Y7cUJBQ0k7b0JBQ0gsS0FBSyxNQUFNLFNBQVMsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFO3dCQUMxQyxJQUFJLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxFQUFFOzRCQUNoQyxNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDOzRCQUM1RixJQUFJLFlBQVksS0FBSyxTQUFTLEVBQUU7Z0NBQzlCLE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDOzZCQUM1RTtpQ0FDSSxJQUFJLFlBQVksS0FBSyxJQUFJLEVBQUU7Z0NBQzlCLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtvQ0FDbEIsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7d0NBQ3RDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQzt3Q0FDdkYsTUFBTSxNQUFNLEdBQUc7NENBQ2IsUUFBUSxFQUFFLGNBQWM7NENBQ3hCLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUk7NENBQzFCLGlCQUFpQixFQUFFLG1CQUE0Qjt5Q0FDaEQsQ0FBQzt3Q0FDRixJQUFJLENBQUMseUJBQXlCLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQzt3Q0FDakQsT0FBTyxNQUFNLENBQUM7cUNBQ2Y7eUNBQ0k7d0NBQ0gsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7d0NBQ3hDLE1BQU0sTUFBTSxHQUFHOzRDQUNiLFVBQVU7NENBQ1YsSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSTs0Q0FDMUIsaUJBQWlCLEVBQUUsbUJBQTRCO3lDQUNoRCxDQUFDO3dDQUNGLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO3dDQUNqRCxPQUFPLE1BQU0sQ0FBQztxQ0FDZjtpQ0FDRjtxQ0FDSTtvQ0FDSCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztvQ0FDOUQsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7b0NBQ2pELE9BQU8sTUFBTSxDQUFDO2lDQUNmOzZCQUNGO3lCQUNGO3FCQUNGO2lCQUNGO2FBQ0Y7aUJBQ0ksSUFBSSwwQkFBMEIsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFO2dCQUNsRSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDeEQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO29CQUN6QixNQUFNLFdBQVcsQ0FBQyxLQUFLLENBQUMseUJBQXlCLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztpQkFDNUU7Z0JBQ0QsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ2pELE9BQU8sTUFBTSxDQUFDO2FBQ2Y7U0FDRjtRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFJTyxtQkFBbUIsQ0FBQyxTQUFpQjtRQUMzQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNELElBQUksS0FBSyxLQUFLLFNBQVM7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUV0QyxLQUFLLE1BQU0sT0FBTyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbkMsSUFBSSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7Z0JBQ2hFLE9BQU8sSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7YUFDaEQ7aUJBQ0ksSUFBSSx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDMUMsS0FBSyxNQUFNLFNBQVMsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFO29CQUMxQyxJQUFJLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxFQUFFO3dCQUNoQyxNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO3dCQUM1RixJQUFJLFlBQVksS0FBSyxTQUFTLEVBQUU7NEJBQzlCLE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO3lCQUM1RTs2QkFDSSxJQUFJLFlBQVksS0FBSyxTQUFTLEVBQUU7NEJBQ25DLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtnQ0FDbEIsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7b0NBQ3RDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztvQ0FDdkYsTUFBTSxNQUFNLEdBQUc7d0NBQ2IsUUFBUSxFQUFFLGNBQWM7d0NBQ3hCLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUk7d0NBQzFCLGlCQUFpQixFQUFFLG1CQUE0QjtxQ0FDaEQsQ0FBQztvQ0FDRixJQUFJLENBQUMsd0JBQXdCLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztvQ0FDckQsT0FBTyxNQUFNLENBQUM7aUNBQ2Y7cUNBQ0k7b0NBQ0gsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7b0NBQ3hDLE1BQU0sTUFBTSxHQUFHO3dDQUNiLFVBQVU7d0NBQ1YsSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSTt3Q0FDMUIsaUJBQWlCLEVBQUUsbUJBQTRCO3FDQUNoRCxDQUFDO29DQUNGLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO29DQUNyRCxPQUFPLE1BQU0sQ0FBQztpQ0FDZjs2QkFDRjt5QkFDRjtxQkFDRjtpQkFDRjthQUNGO1lBQ0Q7Ozs7Ozs7ZUFPRztpQkFDRSxJQUFJLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNyQyxLQUFLLE1BQU0sU0FBUyxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUU7b0JBQzFDLElBQUksaUJBQWlCLENBQUMsU0FBUyxDQUFDLEVBQUU7d0JBQ2hDLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7d0JBQ3RGLElBQUksWUFBWSxLQUFLLFNBQVMsRUFBRTs0QkFDOUIsTUFBTSxXQUFXLENBQUMsS0FBSyxDQUFDLHlCQUF5QixFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7eUJBQzVFOzZCQUNJLElBQUksWUFBWSxLQUFLLFNBQVMsRUFBRTs0QkFDbkMsSUFBSSxZQUFZLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dDQUNwQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtvQ0FDdEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO29DQUN2RixNQUFNLE1BQU0sR0FBRzt3Q0FDYixRQUFRLEVBQUUsY0FBYzt3Q0FDeEIsSUFBSSxFQUFFLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSTt3Q0FDN0IsaUJBQWlCLEVBQUUsbUJBQTRCO3FDQUNoRCxDQUFDO29DQUNGLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO29DQUNyRCxPQUFPLE1BQU0sQ0FBQztpQ0FDZjtxQ0FDSTtvQ0FDSCxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztvQ0FDeEMsTUFBTSxNQUFNLEdBQUc7d0NBQ2IsVUFBVTt3Q0FDVixJQUFJLEVBQUUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJO3dDQUM3QixpQkFBaUIsRUFBRSxtQkFBNEI7cUNBQ2hELENBQUM7b0NBQ0YsSUFBSSxDQUFDLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7b0NBQ3JELE9BQU8sTUFBTSxDQUFDO2lDQUNmOzZCQUNGO2lDQUNJO2dDQUNILE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDOzZCQUM1RTt5QkFDRjtxQkFDRjt5QkFDSSxJQUFJLHdCQUF3QixDQUFDLFNBQVMsQ0FBQyxFQUFFO3dCQUM1QyxJQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRTs0QkFDdEMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0NBQ3RDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQ0FDdkYsTUFBTSxNQUFNLEdBQUc7b0NBQ2IsUUFBUSxFQUFFLGNBQWM7b0NBQ3hCLElBQUksRUFBRSxTQUFTO29DQUNmLGlCQUFpQixFQUFFLG1CQUE0QjtpQ0FDaEQsQ0FBQztnQ0FDRixJQUFJLENBQUMsd0JBQXdCLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztnQ0FDckQsT0FBTyxNQUFNLENBQUM7NkJBQ2Y7aUNBQ0k7Z0NBQ0gsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7Z0NBQ3hDLE1BQU0sTUFBTSxHQUFHO29DQUNiLFVBQVU7b0NBQ1YsSUFBSSxFQUFFLFNBQVM7b0NBQ2YsaUJBQWlCLEVBQUUsbUJBQTRCO2lDQUNoRCxDQUFDO2dDQUNGLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2dDQUNyRCxPQUFPLE1BQU0sQ0FBQzs2QkFDZjt5QkFDRjtxQkFDRjtpQkFDRjthQUNGO2lCQUNJLElBQUkscUJBQXFCLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ3ZDLEtBQUssTUFBTSxJQUFJLElBQUksT0FBTyxDQUFDLFlBQVksRUFBRTtvQkFDdkMsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFO3dCQUN6QixJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRTs0QkFDOUIsTUFBTSxNQUFNLEdBQUcsSUFBSSx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7NEJBQ3ZELElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDOzRCQUNyRCxPQUFPLE1BQU0sQ0FBQzt5QkFDZjtxQkFDRjt5QkFDSTt3QkFDSCxNQUFNLFdBQVcsQ0FBQyxLQUFLLENBQUMseUJBQXlCLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztxQkFDNUU7aUJBQ0Y7YUFDRjtpQkFDSSxJQUFJLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUN2QyxJQUFJLE9BQU8sQ0FBQyxFQUFFLEVBQUU7b0JBQ2QsSUFBSSxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUU7d0JBQ2pDLE1BQU0sTUFBTSxHQUFHLElBQUksdUJBQXVCLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO3dCQUMxRCxJQUFJLENBQUMsd0JBQXdCLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQzt3QkFDckQsT0FBTyxNQUFNLENBQUM7cUJBQ2Y7aUJBQ0Y7cUJBQ0k7b0JBQ0gsTUFBTSxXQUFXLENBQUMsS0FBSyxDQUFDLHlCQUF5QixFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7aUJBQzVFO2FBQ0Y7U0FDRjtRQUVELE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLFNBQVMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFTSxjQUFjLENBQUMsT0FBK0Q7UUFDbkYsSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDekIsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQy9DO2FBQ0ksSUFBSSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNwQyxPQUFPLElBQUksb0JBQW9CLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ2hEO2FBQ0ksSUFBSSxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNuQyxPQUFPLElBQUksb0JBQW9CLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ2hEO2FBQ0ksSUFBSSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNwQyxPQUFPLElBQUkscUJBQXFCLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ2pEO2FBQ0ksSUFBSSxlQUFlLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDakMsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDO1NBQ3RCO2FBQ0ksSUFBSSxlQUFlLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDakMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUM5QztRQUVELE1BQU0sV0FBVyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFJTSxZQUFZLENBQUMsU0FBaUI7UUFDbkMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQzFDLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUUsQ0FBQztTQUNoRDtRQUVELEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNoQyxnQ0FBZ0M7WUFDaEMsSUFDRSxxQkFBcUIsQ0FBQyxJQUFJLENBQUM7Z0JBQzNCLGdCQUFnQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7Z0JBQ2pDLENBQ0UsQ0FDRSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQztvQkFDMUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztvQkFDN0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSywwQkFBMEIsQ0FDcEU7b0JBQ0QsQ0FDRSxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7d0JBQ3BDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyx3QkFBd0IsQ0FDekQsQ0FDRjtnQkFDRCxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNoRDtnQkFDQSxNQUFNLE9BQU8sR0FBRyxJQUFJLHFCQUFxQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM5RSxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNqRCxJQUNFLFdBQVcsWUFBWSxvQkFBb0I7b0JBQzNDLFdBQVcsQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUM5QjtvQkFDQSxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO29CQUNqRCxJQUNFLEtBQUssWUFBWSxvQkFBb0I7d0JBQ3JDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFlBQVkscUJBQXFCLEVBQy9DO3dCQUNBLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUNqRCxJQUNFLElBQUksWUFBWSxvQkFBb0I7NEJBQ3BDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFlBQVkscUJBQXFCLEVBQzlDOzRCQUNBLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs0QkFDdEQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO3lCQUN0QjtxQkFDRjt5QkFDSTt3QkFDSCxNQUFNLElBQUksZUFBZSxFQUFFLENBQUM7cUJBQzdCO2lCQUNGO2FBQ0Y7U0FDRjtRQUVELDZCQUE2QjtRQUM3QixJQUFJLE1BQXlDLENBQUM7UUFDOUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUM5QixJQUNFLGdCQUFnQixDQUFDLElBQUksQ0FBQztnQkFDdEIsQ0FDRSxDQUNFLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7b0JBQy9CLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztvQkFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLG1CQUFtQixDQUNsRDtvQkFDRCxDQUNFLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO3dCQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxrQkFBa0IsQ0FDeEMsQ0FDRjtnQkFDRCxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDL0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssU0FBUztnQkFDcEMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNwQztnQkFDQSxNQUFNLEtBQUssR0FBRyxJQUFJLG9CQUFvQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hFLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsWUFBWSxxQkFBcUIsRUFBRTtvQkFDbkQsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ2pELElBQ0UsSUFBSSxZQUFZLG9CQUFvQjt3QkFDcEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsWUFBWSxxQkFBcUIsRUFDOUM7d0JBQ0EsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7cUJBQ3hCO2lCQUNGO3FCQUNJO29CQUNILE1BQU0sSUFBSSxlQUFlLEVBQUUsQ0FBQztpQkFDN0I7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsOEJBQThCO1FBQzlCLGdFQUFnRTtRQUNoRSxJQUFJO1FBRUosSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDL0MsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVNLGtCQUFrQixDQUFDLFNBQWlCLEVBQUUsUUFBZ0IsRUFBRSxRQUFnQjtRQUM3RSxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDaEMsSUFDRSxxQkFBcUIsQ0FBQyxJQUFJLENBQUM7Z0JBQzNCLHNCQUFzQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7Z0JBQ3ZDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO2dCQUN4QyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO2dCQUN6QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLFNBQVM7Z0JBQzlDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFDM0M7Z0JBQ0EsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtvQkFDbkQsSUFDRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQzt3QkFDdkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDO3dCQUMxQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDdEQ7d0JBQ0EsTUFBTSxVQUFVLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBQ3ZGLE9BQU8sVUFBVSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztxQkFDMUM7eUJBQ0k7d0JBQ0gsTUFBTSxJQUFJLGVBQWUsRUFBRSxDQUFDO3FCQUM3QjtpQkFDRjthQUNGO1NBQ0Y7UUFFRCxNQUFNLElBQUksZUFBZSxFQUFFLENBQUM7SUFDOUIsQ0FBQztDQUNGIn0=
485
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2RDbGlCYkZpbGVNZXRhZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9uZy10b29scy9iYWJlbC9TZENsaUJiRmlsZU1ldGFkYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFJTCxpQkFBaUIsRUFDakIsc0JBQXNCLEVBQ3RCLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsbUJBQW1CLEVBQ25CLDBCQUEwQixFQUMxQix3QkFBd0IsRUFDeEIsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUNyQixxQkFBcUIsRUFDckIsWUFBWSxFQUNaLG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQixrQkFBa0IsRUFDbEIsZUFBZSxFQUNmLGVBQWUsRUFDZixxQkFBcUIsRUFJckIsWUFBWSxFQUNiLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sV0FBNEIsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2hELE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUV4QixPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLG9CQUFvQixFQUNwQix1QkFBdUIsRUFDdkIscUJBQXFCLEVBQ3JCLHVCQUF1QixFQUN4QixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE1BQU0sT0FBTyxtQkFBbUI7SUFJOUIsWUFBbUMsUUFBZ0I7UUFBaEIsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQW1JbEMsOEJBQXlCLEdBQUcsSUFBSSxHQUFHLEVBQTRCLENBQUM7UUFtR2hFLDZCQUF3QixHQUFHLElBQUksR0FBRyxFQUE0QixDQUFDO1FBMEsvRCx1QkFBa0IsR0FBRyxJQUFJLEdBQUcsRUFBNkMsQ0FB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simplysm/sd-cli",
3
- "version": "7.0.269",
3
+ "version": "7.0.272",
4
4
  "description": "심플리즘 패키지 - CLI",
5
5
  "author": "김석래",
6
6
  "repository": {
@@ -23,11 +23,11 @@
23
23
  "@babel/parser": "^7.17.0",
24
24
  "@babel/types": "^7.17.0",
25
25
  "@ngtools/webpack": "^13.2.2",
26
- "@simplysm/sd-core-common": "7.0.269",
27
- "@simplysm/sd-core-node": "7.0.269",
28
- "@simplysm/sd-service-common": "7.0.269",
29
- "@simplysm/sd-service-server": "7.0.269",
30
- "@simplysm/sd-storage": "7.0.269",
26
+ "@simplysm/sd-core-common": "7.0.272",
27
+ "@simplysm/sd-core-node": "7.0.272",
28
+ "@simplysm/sd-service-common": "7.0.272",
29
+ "@simplysm/sd-service-server": "7.0.272",
30
+ "@simplysm/sd-storage": "7.0.272",
31
31
  "browserslist": "^4.19.1",
32
32
  "chokidar": "^3.5.3",
33
33
  "connect": "^3.7.0",
@@ -36,6 +36,7 @@
36
36
  "css-loader": "^6.6.0",
37
37
  "electron": "^18.0.1",
38
38
  "electron-builder": "^23.0.3",
39
+ "electron-rebuild": "^3.2.7",
39
40
  "eslint": "^8.7.0",
40
41
  "eslint-webpack-plugin": "^3.1.1",
41
42
  "jsdom": "^19.0.0",
@@ -77,6 +77,8 @@ export class SdCliElectron {
77
77
  const result = ts.transpileModule(electronTsFileContent, { compilerOptions: { module: ts.ModuleKind.CommonJS } });
78
78
  await FsUtil.writeFileAsync(path.resolve(electronSrcPath, "electron.js"), result.outputText);
79
79
 
80
+ await SdProcess.spawnAsync("electron-rebuild", { cwd: pkgRootPath }, true);
81
+
80
82
  await SdProcess.spawnAsync(`electron ${electronSrcPath}`, { cwd: this._rootPath }, true);
81
83
  }
82
84
  }
@@ -32,6 +32,7 @@ import { SdCliNpmConfigUtil } from "../utils/SdCliNpmConfigUtil";
32
32
  import electronBuilder from "electron-builder";
33
33
  import { fileURLToPath } from "url";
34
34
  import { Entrypoint } from "@angular-devkit/build-angular/src/utils/index-file/augment-index-html";
35
+ import { StringUtil } from "@simplysm/sd-core-common";
35
36
  import LintResult = ESLint.LintResult;
36
37
 
37
38
  export class SdCliClientBuilder extends EventEmitter {
@@ -137,11 +138,12 @@ export class SdCliClientBuilder extends EventEmitter {
137
138
  }
138
139
 
139
140
  // 빌드 준비
141
+ const extModules = this._config.builder?.electron ? this._getExternalModules() : [];
140
142
  const webpackConfigs = (Object.keys(this._config.builder ?? { web: {} }) as ("web" | "cordova" | "electron")[])
141
- .map((builderType) => this._getWebpackConfig(true, builderType));
143
+ .map((builderType) => this._getWebpackConfig(true, builderType, extModules));
142
144
  const multiCompiler = webpack(webpackConfigs);
143
145
  await new Promise<void>((resolve, reject) => {
144
- const invalidFiles: string[] = [];
146
+ // const invalidFiles: string[] = [];
145
147
  multiCompiler.hooks.invalid.tap(this.constructor.name, (fileName) => {
146
148
  if (fileName != null) {
147
149
  this._logger.debug("파일변경 감지", fileName);
@@ -149,7 +151,7 @@ export class SdCliClientBuilder extends EventEmitter {
149
151
  // NgModule 캐시 삭제
150
152
  this._ngModuleGenerator.removeCaches([path.resolve(fileName)]);
151
153
 
152
- invalidFiles.push(fileName);
154
+ // invalidFiles.push(fileName);
153
155
  }
154
156
  });
155
157
 
@@ -222,8 +224,9 @@ export class SdCliClientBuilder extends EventEmitter {
222
224
 
223
225
  // 빌드
224
226
  this._logger.debug("Webpack 빌드 수행...");
227
+ const extModules = this._config.builder?.electron ? this._getExternalModules() : [];
225
228
  const builderTypes = (Object.keys(this._config.builder ?? { web: {} }) as ("web" | "cordova" | "electron")[]);
226
- const webpackConfigs = builderTypes.map((builderType) => this._getWebpackConfig(false, builderType));
229
+ const webpackConfigs = builderTypes.map((builderType) => this._getWebpackConfig(false, builderType, extModules));
227
230
  const multipleCompiler = webpack(webpackConfigs);
228
231
  const buildResults = await new Promise<ISdCliPackageBuildResult[]>((resolve, reject) => {
229
232
  multipleCompiler.run((err, multiStats) => {
@@ -293,7 +296,9 @@ export class SdCliClientBuilder extends EventEmitter {
293
296
  "dotenv": dotenvVersion,
294
297
  ...remoteVersion !== undefined ? {
295
298
  "@electron/remote": remoteVersion
296
- } : {}
299
+ } : {},
300
+ ...extModules.filter((item) => item.exists).map((item) => item.name)
301
+ .toObject((item) => item, () => "*")
297
302
  }
298
303
  }, { space: 2 });
299
304
  await FsUtil.writeFileAsync(path.resolve(electronSrcPath, "package-lock.json"), "");
@@ -354,7 +359,7 @@ export class SdCliClientBuilder extends EventEmitter {
354
359
  ].map((p) => path.dirname(p));
355
360
  }
356
361
 
357
- private _getWebpackConfig(watch: boolean, builderType: "web" | "cordova" | "electron"): webpack.Configuration {
362
+ private _getWebpackConfig(watch: boolean, builderType: "web" | "cordova" | "electron", extModules: { name: string; exists: boolean }[]): webpack.Configuration {
358
363
  const projNpmConfig = this._getNpmConfig(this._projRootPath)!;
359
364
  const projName = projNpmConfig.name;
360
365
 
@@ -448,6 +453,7 @@ export class SdCliClientBuilder extends EventEmitter {
448
453
  experiments: { backCompat: false, syncWebAssembly: true, asyncWebAssembly: true },
449
454
  infrastructureLogging: { level: "error" },
450
455
  stats: "errors-warnings",
456
+ externals: extModules.toObject((item) => item.name, (item) => "commonjs2 " + item.name),
451
457
  cache: {
452
458
  type: "filesystem",
453
459
  profile: undefined,
@@ -788,6 +794,63 @@ export class SdCliClientBuilder extends EventEmitter {
788
794
  };
789
795
  }
790
796
 
797
+ private _getExternalModules(): { name: string; exists: boolean }[] {
798
+ const loadedModuleNames: string[] = [];
799
+ const results: { name: string; exists: boolean }[] = [];
800
+
801
+ const fn = (currPath: string): void => {
802
+ const npmConfig = this._getNpmConfig(currPath);
803
+ if (!npmConfig) return;
804
+
805
+ const deps = SdCliNpmConfigUtil.getDependencies(npmConfig);
806
+
807
+ for (const moduleName of deps.defaults) {
808
+ if (loadedModuleNames.includes(moduleName)) continue;
809
+ loadedModuleNames.push(moduleName);
810
+
811
+ const modulePath = FsUtil.findAllParentChildDirPaths("node_modules/" + moduleName, currPath, this._projRootPath).first();
812
+ if (StringUtil.isNullOrEmpty(modulePath)) {
813
+ continue;
814
+ }
815
+
816
+ if (FsUtil.glob(path.resolve(modulePath, "**/binding.gyp")).length > 0) {
817
+ results.push({ name: moduleName, exists: true });
818
+ }
819
+
820
+ if (this._config.builder?.electron?.externalNodeModules?.includes(moduleName)) {
821
+ results.push({ name: moduleName, exists: true });
822
+ }
823
+
824
+ fn(modulePath);
825
+ }
826
+
827
+ for (const optModuleName of deps.optionals) {
828
+ if (loadedModuleNames.includes(optModuleName)) continue;
829
+ loadedModuleNames.push(optModuleName);
830
+
831
+ const optModulePath = FsUtil.findAllParentChildDirPaths("node_modules/" + optModuleName, currPath, this._projRootPath).first();
832
+ if (StringUtil.isNullOrEmpty(optModulePath)) {
833
+ results.push({ name: optModuleName, exists: false });
834
+ continue;
835
+ }
836
+
837
+ if (FsUtil.glob(path.resolve(optModulePath, "**/binding.gyp")).length > 0) {
838
+ results.push({ name: optModuleName, exists: true });
839
+ }
840
+
841
+ if (this._config.builder?.electron?.externalNodeModules?.includes(optModuleName)) {
842
+ results.push({ name: optModuleName, exists: true });
843
+ }
844
+
845
+ fn(optModulePath);
846
+ }
847
+ };
848
+
849
+ fn(this._rootPath);
850
+
851
+ return results;
852
+ }
853
+
791
854
  private _getNpmConfig(pkgPath: string): INpmConfig | undefined {
792
855
  if (!this._npmConfigMap.has(pkgPath)) {
793
856
  this._npmConfigMap.set(pkgPath, FsUtil.readJson(path.resolve(pkgPath, "package.json")));
package/src/commons.ts CHANGED
@@ -137,8 +137,9 @@ export interface ISdCliClientBuilderCordovaConfig {
137
137
  }
138
138
 
139
139
  export interface ISdCliClientBuilderElectronConfig {
140
+ env?: Record<string, string>;
141
+ externalNodeModules?: string[];
140
142
  appId: string;
141
143
  icon?: string;
142
144
  installerIcon?: string;
143
- env?: Record<string, string>;
144
145
  }
@@ -425,6 +425,9 @@ export class SdCliBbFileMetadata {
425
425
  else if (isClassDeclaration(rawMeta)) {
426
426
  return new SdCliBbClassMetadata(this, rawMeta);
427
427
  }
428
+ else if (isFunctionDeclaration(rawMeta)) {
429
+ return new SdCliBbFunctionMetadata(this, rawMeta);
430
+ }
428
431
  else if (isArrayExpression(rawMeta)) {
429
432
  return new SdCliBbArrayMetadata(this, rawMeta);
430
433
  }