@builder.io/mitosis-cli 0.0.17-9 → 0.0.17-90

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.
Files changed (27) hide show
  1. package/dist/build/build.js +219 -254
  2. package/dist/build/helpers/context.js +85 -0
  3. package/dist/build/helpers/extensions.js +20 -6
  4. package/dist/build/helpers/transpile-solid-file.js +10 -25
  5. package/dist/build/helpers/transpile.js +11 -24
  6. package/dist/commands/compile.js +1 -1
  7. package/dist/commands/new.js +1 -1
  8. package/dist/helpers/fast-clone.js +6 -0
  9. package/dist/templates/component.lite.tsx.ejs +2 -2
  10. package/dist/templates/library-simple/src/components/my-component.lite.jsx +2 -4
  11. package/dist/templates/library-simple/src/components/my-component.lite.tsx +2 -4
  12. package/dist/templates/library-simple/src/global.d.ts +2 -0
  13. package/dist/types/build/helpers/context.d.ts +6 -0
  14. package/dist/types/build/helpers/extensions.d.ts +1 -1
  15. package/dist/types/build/helpers/transpile.d.ts +3 -0
  16. package/dist/types/helpers/fast-clone.d.ts +1 -0
  17. package/dist/types/templates/library-simple/src/components/my-component.lite.d.ts +1 -2
  18. package/package.json +6 -5
  19. package/readme.md +0 -14
  20. package/dist/build/helpers/compile-vue-file.js +0 -250
  21. package/dist/build/helpers/compile-vue-v2-file.js +0 -255
  22. package/dist/build/helpers/transpile-optional-chaining.js +0 -20
  23. package/dist/build/helpers/transpile-vue-binding-expression.js +0 -42
  24. package/dist/types/build/helpers/compile-vue-file.d.ts +0 -18
  25. package/dist/types/build/helpers/compile-vue-v2-file.d.ts +0 -9
  26. package/dist/types/build/helpers/transpile-optional-chaining.d.ts +0 -1
  27. package/dist/types/build/helpers/transpile-vue-binding-expression.d.ts +0 -1
@@ -1,8 +1,4 @@
1
1
  "use strict";
2
- var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
- return cooked;
5
- };
6
2
  var __assign = (this && this.__assign) || function () {
7
3
  __assign = Object.assign || function(t) {
8
4
  for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -14,29 +10,6 @@ var __assign = (this && this.__assign) || function () {
14
10
  };
15
11
  return __assign.apply(this, arguments);
16
12
  };
17
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
- if (k2 === undefined) k2 = k;
19
- var desc = Object.getOwnPropertyDescriptor(m, k);
20
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
21
- desc = { enumerable: true, get: function() { return m[k]; } };
22
- }
23
- Object.defineProperty(o, k2, desc);
24
- }) : (function(o, m, k, k2) {
25
- if (k2 === undefined) k2 = k;
26
- o[k2] = m[k];
27
- }));
28
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
29
- Object.defineProperty(o, "default", { enumerable: true, value: v });
30
- }) : function(o, v) {
31
- o["default"] = v;
32
- });
33
- var __importStar = (this && this.__importStar) || function (mod) {
34
- if (mod && mod.__esModule) return mod;
35
- var result = {};
36
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
37
- __setModuleDefault(result, mod);
38
- return result;
39
- };
40
13
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
41
14
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
42
15
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -89,16 +62,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
89
62
  exports.build = void 0;
90
63
  var mitosis_1 = require("@builder.io/mitosis");
91
64
  var debug_1 = __importDefault(require("debug"));
92
- var dedent_1 = __importDefault(require("dedent"));
93
65
  var fast_glob_1 = __importDefault(require("fast-glob"));
94
66
  var fs_extra_1 = require("fs-extra");
95
- var json5 = __importStar(require("json5"));
96
67
  var lodash_1 = require("lodash");
97
68
  var micromatch_1 = __importDefault(require("micromatch"));
69
+ var fast_clone_1 = require("../helpers/fast-clone");
70
+ var context_1 = require("./helpers/context");
98
71
  var extensions_1 = require("./helpers/extensions");
99
- var get_simple_id_1 = require("./helpers/get-simple-id");
100
72
  var transpile_1 = require("./helpers/transpile");
101
- var transpile_optional_chaining_1 = require("./helpers/transpile-optional-chaining");
102
73
  var transpile_solid_file_1 = require("./helpers/transpile-solid-file");
103
74
  var cwd = process.cwd();
104
75
  var DEFAULT_CONFIG = {
@@ -107,144 +78,169 @@ var DEFAULT_CONFIG = {
107
78
  files: 'src/*',
108
79
  overridesDir: 'overrides',
109
80
  };
110
- var DEFAULT_OPTIONS = {
111
- vue: {
112
- cssNamespace: function () { return (0, get_simple_id_1.getSimpleId)(); },
113
- namePrefix: function (path) { return (path.includes('/blocks/') ? 'builder' : undefined); },
114
- builderRegister: true,
115
- },
116
- };
117
- function build(config) {
118
- var _a;
81
+ var getOptions = function (config) { return (__assign(__assign(__assign({}, DEFAULT_CONFIG), config), { options: __assign(__assign({}, DEFAULT_CONFIG.options), config === null || config === void 0 ? void 0 : config.options) })); };
82
+ function clean(options) {
119
83
  return __awaiter(this, void 0, void 0, function () {
120
- var options, tsLiteFiles, _b, _c, _d;
84
+ var files;
121
85
  var _this = this;
122
- return __generator(this, function (_e) {
123
- switch (_e.label) {
124
- case 0:
125
- options = __assign(__assign(__assign({}, DEFAULT_CONFIG), config), { options: __assign(__assign(__assign({}, DEFAULT_OPTIONS), config === null || config === void 0 ? void 0 : config.options), { vue: __assign(__assign({}, DEFAULT_OPTIONS.vue), (_a = config === null || config === void 0 ? void 0 : config.options) === null || _a === void 0 ? void 0 : _a.vue) }) });
126
- return [4 /*yield*/, clean(options)];
86
+ return __generator(this, function (_a) {
87
+ switch (_a.label) {
88
+ case 0: return [4 /*yield*/, (0, fast_glob_1.default)("".concat(options.dest, "/**/*/").concat(options.files))];
127
89
  case 1:
128
- _e.sent();
129
- _c = (_b = Promise).all;
130
- _d = micromatch_1.default;
131
- return [4 /*yield*/, (0, fast_glob_1.default)(options.files, { cwd: cwd })];
132
- case 2: return [4 /*yield*/, _c.apply(_b, [_d.apply(void 0, [_e.sent(), "**/*.lite.tsx"]).map(function (path) { return __awaiter(_this, void 0, void 0, function () {
133
- var parsed, _a, err_1;
134
- return __generator(this, function (_b) {
135
- switch (_b.label) {
136
- case 0:
137
- _b.trys.push([0, 2, , 3]);
138
- _a = mitosis_1.parseJsx;
139
- return [4 /*yield*/, (0, fs_extra_1.readFile)(path, 'utf8')];
140
- case 1:
141
- parsed = _a.apply(void 0, [_b.sent(), {
142
- jsonHookNames: ['registerComponent'],
143
- }]);
144
- return [2 /*return*/, {
145
- path: path,
146
- mitosisJson: parsed,
147
- }];
148
- case 2:
149
- err_1 = _b.sent();
150
- console.error('Could not parse file:', path);
151
- throw err_1;
152
- case 3: return [2 /*return*/];
153
- }
154
- });
155
- }); })])];
156
- case 3:
157
- tsLiteFiles = _e.sent();
158
- return [4 /*yield*/, Promise.all(options.targets.map(function (target) { return __awaiter(_this, void 0, void 0, function () {
159
- var jsFiles;
90
+ files = _a.sent();
91
+ return [4 /*yield*/, Promise.all(files.map(function (file) { return __awaiter(_this, void 0, void 0, function () {
160
92
  return __generator(this, function (_a) {
161
93
  switch (_a.label) {
162
- case 0: return [4 /*yield*/, buildTsFiles({ target: target, options: options })];
94
+ case 0: return [4 /*yield*/, (0, fs_extra_1.remove)(file)];
163
95
  case 1:
164
- jsFiles = _a.sent();
165
- return [4 /*yield*/, Promise.all([
166
- outputTsFiles(target, jsFiles, options),
167
- outputTsxLiteFiles(target, tsLiteFiles, options),
168
- ])];
169
- case 2:
170
- _a.sent();
171
- return [4 /*yield*/, outputOverrides(target, options)];
172
- case 3:
173
96
  _a.sent();
174
97
  return [2 /*return*/];
175
98
  }
176
99
  });
177
100
  }); }))];
178
- case 4:
179
- _e.sent();
180
- console.info('Done!');
101
+ case 2:
102
+ _a.sent();
181
103
  return [2 /*return*/];
182
104
  }
183
105
  });
184
106
  });
185
107
  }
186
- exports.build = build;
187
- function clean(options) {
108
+ var getMitosisComponentJSONs = function (options) { return __awaiter(void 0, void 0, void 0, function () {
109
+ var _a, _b, _c;
110
+ return __generator(this, function (_d) {
111
+ switch (_d.label) {
112
+ case 0:
113
+ _b = (_a = Promise).all;
114
+ _c = micromatch_1.default;
115
+ return [4 /*yield*/, (0, fast_glob_1.default)(options.files, { cwd: cwd })];
116
+ case 1: return [2 /*return*/, _b.apply(_a, [_c.apply(void 0, [_d.sent(), "**/*.lite.tsx"]).map(function (path) { return __awaiter(void 0, void 0, void 0, function () {
117
+ var parsed, _a, err_1;
118
+ return __generator(this, function (_b) {
119
+ switch (_b.label) {
120
+ case 0:
121
+ _b.trys.push([0, 2, , 3]);
122
+ _a = mitosis_1.parseJsx;
123
+ return [4 /*yield*/, (0, fs_extra_1.readFile)(path, 'utf8')];
124
+ case 1:
125
+ parsed = _a.apply(void 0, [_b.sent()]);
126
+ return [2 /*return*/, {
127
+ path: path,
128
+ mitosisJson: parsed,
129
+ }];
130
+ case 2:
131
+ err_1 = _b.sent();
132
+ console.error('Could not parse file:', path);
133
+ throw err_1;
134
+ case 3: return [2 /*return*/];
135
+ }
136
+ });
137
+ }); })])];
138
+ }
139
+ });
140
+ }); };
141
+ var getTargetContexts = function (options) {
142
+ return options.targets.map(function (target) { return ({
143
+ target: target,
144
+ generator: getGeneratorForTarget({ target: target, options: options }),
145
+ outputPath: getTargetPath({ target: target }),
146
+ }); });
147
+ };
148
+ var buildAndOutputNonComponentFiles = function (targetContext) { return __awaiter(void 0, void 0, void 0, function () {
149
+ var jsFiles;
150
+ return __generator(this, function (_a) {
151
+ switch (_a.label) {
152
+ case 0: return [4 /*yield*/, buildNonComponentFiles(targetContext)];
153
+ case 1:
154
+ jsFiles = _a.sent();
155
+ return [4 /*yield*/, outputNonComponentFiles(__assign(__assign({}, targetContext), { files: jsFiles }))];
156
+ case 2:
157
+ _a.sent();
158
+ return [2 /*return*/];
159
+ }
160
+ });
161
+ }); };
162
+ function build(config) {
188
163
  return __awaiter(this, void 0, void 0, function () {
189
- var files;
164
+ var options, mitosisComponents, targetContexts;
190
165
  var _this = this;
191
166
  return __generator(this, function (_a) {
192
167
  switch (_a.label) {
193
- case 0: return [4 /*yield*/, (0, fast_glob_1.default)("".concat(options.dest, "/**/*/").concat(options.files))];
168
+ case 0:
169
+ options = getOptions(config);
170
+ // clean output directory
171
+ return [4 /*yield*/, clean(options)];
194
172
  case 1:
195
- files = _a.sent();
196
- return [4 /*yield*/, Promise.all(files.map(function (file) { return __awaiter(_this, void 0, void 0, function () {
173
+ // clean output directory
174
+ _a.sent();
175
+ return [4 /*yield*/, getMitosisComponentJSONs(options)];
176
+ case 2:
177
+ mitosisComponents = _a.sent();
178
+ targetContexts = getTargetContexts(options);
179
+ return [4 /*yield*/, Promise.all(targetContexts.map(function (targetContext) { return __awaiter(_this, void 0, void 0, function () {
180
+ var files, targetContextWithConfig;
197
181
  return __generator(this, function (_a) {
198
182
  switch (_a.label) {
199
- case 0: return [4 /*yield*/, (0, fs_extra_1.remove)(file)];
183
+ case 0:
184
+ files = (0, fast_clone_1.fastClone)(mitosisComponents);
185
+ targetContextWithConfig = __assign(__assign({}, targetContext), { options: options });
186
+ return [4 /*yield*/, Promise.all([
187
+ buildAndOutputNonComponentFiles(targetContextWithConfig),
188
+ buildAndOutputComponentFiles(__assign(__assign({}, targetContextWithConfig), { files: files })),
189
+ ])];
200
190
  case 1:
191
+ _a.sent();
192
+ return [4 /*yield*/, outputOverrides(targetContextWithConfig)];
193
+ case 2:
201
194
  _a.sent();
202
195
  return [2 /*return*/];
203
196
  }
204
197
  });
205
198
  }); }))];
206
- case 2:
199
+ case 3:
207
200
  _a.sent();
201
+ console.info('Done!');
208
202
  return [2 /*return*/];
209
203
  }
210
204
  });
211
205
  });
212
206
  }
213
- function outputOverrides(target, options) {
207
+ exports.build = build;
208
+ function outputOverrides(_a) {
209
+ var target = _a.target, options = _a.options, outputPath = _a.outputPath;
214
210
  return __awaiter(this, void 0, void 0, function () {
215
- var kebabTarget, outputDirPath, files;
211
+ var targetOverrides, overrideFileNames;
216
212
  var _this = this;
217
- return __generator(this, function (_a) {
218
- switch (_a.label) {
213
+ return __generator(this, function (_b) {
214
+ switch (_b.label) {
219
215
  case 0:
220
- kebabTarget = (0, lodash_1.kebabCase)(target);
221
- outputDirPath = "".concat(options.overridesDir, "/").concat(kebabTarget);
216
+ targetOverrides = "".concat(options.overridesDir, "/").concat(outputPath);
222
217
  return [4 /*yield*/, (0, fast_glob_1.default)([
223
- "".concat(outputDirPath, "/**/*"),
224
- "!".concat(outputDirPath, "/node_modules/**/*"),
218
+ "".concat(targetOverrides, "/**/*"),
219
+ "!".concat(targetOverrides, "/node_modules/**/*"),
225
220
  ])];
226
221
  case 1:
227
- files = _a.sent();
228
- return [4 /*yield*/, Promise.all(files.map(function (file) { return __awaiter(_this, void 0, void 0, function () {
229
- var contents, esbuildTranspile, targetPaths;
222
+ overrideFileNames = _b.sent();
223
+ return [4 /*yield*/, Promise.all(overrideFileNames.map(function (overrideFileName) { return __awaiter(_this, void 0, void 0, function () {
224
+ var contents, esbuildTranspile, newFile;
230
225
  return __generator(this, function (_a) {
231
226
  switch (_a.label) {
232
- case 0: return [4 /*yield*/, (0, fs_extra_1.readFile)(file, 'utf8')];
227
+ case 0: return [4 /*yield*/, (0, fs_extra_1.readFile)(overrideFileName, 'utf8')];
233
228
  case 1:
234
229
  contents = _a.sent();
235
- esbuildTranspile = file.match(/\.tsx?$/);
230
+ esbuildTranspile = overrideFileName.match(/\.tsx?$/);
236
231
  if (!esbuildTranspile) return [3 /*break*/, 3];
237
- return [4 /*yield*/, (0, transpile_1.transpile)({ path: file, target: target, options: options })];
232
+ return [4 /*yield*/, (0, transpile_1.transpile)({ path: overrideFileName, target: target, options: options })];
238
233
  case 2:
239
234
  contents = _a.sent();
240
235
  _a.label = 3;
241
236
  case 3:
242
- targetPaths = getTargetPaths(target);
243
- return [4 /*yield*/, Promise.all(targetPaths.map(function (targetPath) {
244
- return (0, fs_extra_1.outputFile)(file
245
- .replace("".concat(outputDirPath), "".concat(options.dest, "/").concat(targetPath))
246
- .replace(/\.tsx?$/, '.js'), contents);
247
- }))];
237
+ newFile = overrideFileName
238
+ // replace any reference to the overrides directory with the target directory
239
+ // e.g. `overrides/react/components/Button.tsx` -> `output/react/components/Button.tsx`
240
+ .replace("".concat(targetOverrides), "".concat(options.dest, "/").concat(outputPath))
241
+ // replace `.tsx` references with `.js`
242
+ .replace(/\.tsx?$/, '.js');
243
+ return [4 /*yield*/, (0, fs_extra_1.outputFile)(newFile, contents)];
248
244
  case 4:
249
245
  _a.sent();
250
246
  return [2 /*return*/];
@@ -252,13 +248,13 @@ function outputOverrides(target, options) {
252
248
  });
253
249
  }); }))];
254
250
  case 2:
255
- _a.sent();
251
+ _b.sent();
256
252
  return [2 /*return*/];
257
253
  }
258
254
  });
259
255
  });
260
256
  }
261
- var getTranspilerForTarget = function (_a) {
257
+ var getGeneratorForTarget = function (_a) {
262
258
  var target = _a.target, options = _a.options;
263
259
  switch (target) {
264
260
  case 'customElement':
@@ -267,8 +263,12 @@ var getTranspilerForTarget = function (_a) {
267
263
  return (0, mitosis_1.componentToHtml)(options.options.html);
268
264
  case 'reactNative':
269
265
  return (0, mitosis_1.componentToReactNative)({ stateType: 'useState' });
266
+ case 'vue2':
267
+ return (0, mitosis_1.componentToVue2)(options.options.vue2);
270
268
  case 'vue':
271
- return (0, mitosis_1.componentToVue)(options.options.vue);
269
+ console.log('Targeting Vue: defaulting to vue v3');
270
+ case 'vue3':
271
+ return (0, mitosis_1.componentToVue3)(options.options.vue3);
272
272
  case 'angular':
273
273
  return (0, mitosis_1.componentToAngular)(options.options.angular);
274
274
  case 'react':
@@ -281,9 +281,30 @@ var getTranspilerForTarget = function (_a) {
281
281
  return (0, mitosis_1.componentToCustomElement)(options.options.webcomponent);
282
282
  case 'svelte':
283
283
  return (0, mitosis_1.componentToSvelte)(options.options.svelte);
284
+ case 'qwik':
285
+ return (0, mitosis_1.componentToQwik)(options.options.qwik);
286
+ case 'marko':
287
+ return (0, mitosis_1.componentToMarko)(options.options.marko);
288
+ case 'preact':
289
+ return (0, mitosis_1.componentToPreact)(options.options.preact);
290
+ case 'lit':
291
+ return (0, mitosis_1.componentToLit)(options.options.lit);
284
292
  default:
285
- // TO-DO: throw instead of `never`
286
- return null;
293
+ throw new Error('CLI does not yet support target: ' + target);
294
+ }
295
+ };
296
+ /**
297
+ * Output generated component file, before it is minified and transpiled into JS.
298
+ */
299
+ var shouldOutputOriginalGeneratedFile = function (_a) {
300
+ var _b, _c;
301
+ var target = _a.target, options = _a.options;
302
+ var languages = (_c = (_b = options.options[target]) === null || _b === void 0 ? void 0 : _b.transpiler) === null || _c === void 0 ? void 0 : _c.languages;
303
+ if (languages === null || languages === void 0 ? void 0 : languages.includes('ts')) {
304
+ return true;
305
+ }
306
+ else {
307
+ return false;
287
308
  }
288
309
  };
289
310
  var replaceFileExtensionForTarget = function (_a) {
@@ -293,38 +314,34 @@ var replaceFileExtensionForTarget = function (_a) {
293
314
  /**
294
315
  * Transpiles and outputs Mitosis component files.
295
316
  */
296
- function outputTsxLiteFiles(target, files, options) {
317
+ function buildAndOutputComponentFiles(_a) {
318
+ var target = _a.target, files = _a.files, options = _a.options, generator = _a.generator, outputPath = _a.outputPath;
297
319
  return __awaiter(this, void 0, void 0, function () {
298
- var kebabTarget, debugTarget, transpiler, output;
320
+ var debugTarget, output;
299
321
  var _this = this;
300
- return __generator(this, function (_a) {
301
- switch (_a.label) {
322
+ return __generator(this, function (_b) {
323
+ switch (_b.label) {
302
324
  case 0:
303
- kebabTarget = (0, lodash_1.kebabCase)(target);
304
325
  debugTarget = (0, debug_1.default)("mitosis:".concat(target));
305
- transpiler = getTranspilerForTarget({ options: options, target: target });
306
326
  output = files.map(function (_a) {
307
327
  var path = _a.path, mitosisJson = _a.mitosisJson;
308
328
  return __awaiter(_this, void 0, void 0, function () {
309
- var outputFilePath, overrideFilePath, overrideFile, _b, transpiled, original, _c, registerComponentHook, outputDir, _d;
310
- return __generator(this, function (_e) {
311
- switch (_e.label) {
329
+ var outputFilePath, overrideFilePath, overrideFile, _b, transpiled, original, _c, outputDir;
330
+ return __generator(this, function (_d) {
331
+ switch (_d.label) {
312
332
  case 0:
313
- outputFilePath = replaceFileExtensionForTarget({
314
- target: target,
315
- path: path,
316
- });
317
- overrideFilePath = "".concat(options.overridesDir, "/").concat(kebabTarget, "/").concat(outputFilePath);
333
+ outputFilePath = replaceFileExtensionForTarget({ target: target, path: path });
334
+ overrideFilePath = "".concat(options.overridesDir, "/").concat(outputPath, "/").concat(outputFilePath);
318
335
  return [4 /*yield*/, (0, fs_extra_1.pathExists)(overrideFilePath)];
319
336
  case 1:
320
- if (!(_e.sent())) return [3 /*break*/, 3];
337
+ if (!(_d.sent())) return [3 /*break*/, 3];
321
338
  return [4 /*yield*/, (0, fs_extra_1.readFile)(overrideFilePath, 'utf8')];
322
339
  case 2:
323
- _b = _e.sent();
340
+ _b = _d.sent();
324
341
  return [3 /*break*/, 4];
325
342
  case 3:
326
343
  _b = null;
327
- _e.label = 4;
344
+ _d.label = 4;
328
345
  case 4:
329
346
  overrideFile = _b;
330
347
  debugTarget("transpiling ".concat(path, "..."));
@@ -333,7 +350,7 @@ function outputTsxLiteFiles(target, files, options) {
333
350
  debugTarget("override exists for ".concat(path, ": ").concat(!!overrideFile));
334
351
  }
335
352
  try {
336
- transpiled = overrideFile !== null && overrideFile !== void 0 ? overrideFile : transpiler({ path: path, component: mitosisJson });
353
+ transpiled = overrideFile !== null && overrideFile !== void 0 ? overrideFile : generator({ path: path, component: mitosisJson });
337
354
  debugTarget("Success: transpiled ".concat(path, ". Output length: ").concat(transpiled.length));
338
355
  }
339
356
  catch (error) {
@@ -346,8 +363,11 @@ function outputTsxLiteFiles(target, files, options) {
346
363
  switch (_c) {
347
364
  case 'solid': return [3 /*break*/, 5];
348
365
  case 'reactNative': return [3 /*break*/, 7];
366
+ case 'preact': return [3 /*break*/, 7];
349
367
  case 'react': return [3 /*break*/, 7];
350
368
  case 'vue': return [3 /*break*/, 9];
369
+ case 'vue2': return [3 /*break*/, 9];
370
+ case 'vue3': return [3 /*break*/, 9];
351
371
  }
352
372
  return [3 /*break*/, 10];
353
373
  case 5: return [4 /*yield*/, (0, transpile_solid_file_1.transpileSolidFile)({
@@ -356,7 +376,7 @@ function outputTsxLiteFiles(target, files, options) {
356
376
  mitosisComponent: mitosisJson,
357
377
  })];
358
378
  case 6:
359
- transpiled = _e.sent();
379
+ transpiled = _d.sent();
360
380
  return [3 /*break*/, 10];
361
381
  case 7: return [4 /*yield*/, (0, transpile_1.transpile)({
362
382
  path: path,
@@ -365,161 +385,107 @@ function outputTsxLiteFiles(target, files, options) {
365
385
  options: options,
366
386
  })];
367
387
  case 8:
368
- transpiled = _e.sent();
369
- registerComponentHook = mitosisJson.meta.registerComponent;
370
- if (registerComponentHook) {
371
- transpiled = (0, dedent_1.default)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n import { registerComponent } from '../functions/register-component';\n \n ", "\n \n registerComponent(", ", ", ");\n "], ["\n import { registerComponent } from '../functions/register-component';\n \n ", "\n \n registerComponent(", ", ", ");\n "])), transpiled, mitosisJson.name, json5.stringify(registerComponentHook));
372
- }
388
+ transpiled = _d.sent();
373
389
  return [3 /*break*/, 10];
374
- case 9:
375
- // TODO: transform to CJS (?)
376
- transpiled = (0, transpile_optional_chaining_1.transpileOptionalChaining)(transpiled).replace(/\.lite(['"];)/g, '$1');
377
- _e.label = 10;
390
+ case 9: return [3 /*break*/, 10];
378
391
  case 10:
379
- outputDir = "".concat(options.dest, "/").concat(kebabTarget);
380
- _d = target;
381
- switch (_d) {
382
- case 'vue': return [3 /*break*/, 11];
383
- }
384
- return [3 /*break*/, 13];
385
- case 11:
386
- // Nuxt
387
- return [4 /*yield*/, (0, fs_extra_1.outputFile)("".concat(outputDir, "/nuxt2/").concat(outputFilePath), transpiled)];
388
- case 12:
389
- // Nuxt
390
- _e.sent();
391
- return [3 /*break*/, 15];
392
- case 13: return [4 /*yield*/, Promise.all(__spreadArray([
393
- // this is the default output
394
- (0, fs_extra_1.outputFile)("".concat(outputDir, "/").concat(outputFilePath), transpiled)
395
- ], (target === 'swift' || target === 'svelte'
396
- ? []
397
- : [(0, fs_extra_1.outputFile)("".concat(outputDir, "/").concat(path), original)]), true))];
398
- case 14:
399
- _e.sent();
400
- return [3 /*break*/, 15];
401
- case 15: return [2 /*return*/];
392
+ outputDir = "".concat(options.dest, "/").concat(outputPath);
393
+ return [4 /*yield*/, Promise.all(__spreadArray([
394
+ // this is the default output
395
+ (0, fs_extra_1.outputFile)("".concat(outputDir, "/").concat(outputFilePath), transpiled)
396
+ ], (shouldOutputOriginalGeneratedFile({ target: target, options: options })
397
+ ? [(0, fs_extra_1.outputFile)("".concat(outputDir, "/").concat(path), original)]
398
+ : []), true))];
399
+ case 11:
400
+ _d.sent();
401
+ return [2 /*return*/];
402
402
  }
403
403
  });
404
404
  });
405
405
  });
406
406
  return [4 /*yield*/, Promise.all(output)];
407
407
  case 1:
408
- _a.sent();
408
+ _b.sent();
409
409
  return [2 /*return*/];
410
410
  }
411
411
  });
412
412
  });
413
413
  }
414
- function getTargetPaths(target) {
415
- var kebabTarget = (0, lodash_1.kebabCase)(target);
416
- var targetPaths = target === 'vue' ? ['vue/nuxt2', 'vue/vue2', 'vue/vue3'] : [kebabTarget];
417
- return targetPaths;
418
- }
414
+ var getTargetPath = function (_a) {
415
+ var target = _a.target;
416
+ switch (target) {
417
+ case 'vue2':
418
+ return 'vue/vue2';
419
+ case 'vue':
420
+ case 'vue3':
421
+ return 'vue/vue3';
422
+ default:
423
+ return (0, lodash_1.kebabCase)(target);
424
+ }
425
+ };
419
426
  /**
420
427
  * Outputs non-component files to the destination directory, without modifying them.
421
428
  */
422
- function outputTsFiles(target, files, options) {
429
+ function outputNonComponentFiles(_a) {
430
+ var files = _a.files, options = _a.options, outputPath = _a.outputPath;
423
431
  return __awaiter(this, void 0, void 0, function () {
424
- var targetPaths, output, _loop_1, _i, targetPaths_1, targetPath;
425
- return __generator(this, function (_a) {
426
- switch (_a.label) {
427
- case 0:
428
- targetPaths = getTargetPaths(target);
429
- output = [];
430
- _loop_1 = function (targetPath) {
431
- output.push.apply(output, files.map(function (_a) {
432
- var path = _a.path, output = _a.output;
433
- return (0, fs_extra_1.outputFile)("".concat(options.dest, "/").concat(targetPath, "/").concat(path.replace(/\.tsx?$/, '.js')), output);
434
- }));
435
- };
436
- for (_i = 0, targetPaths_1 = targetPaths; _i < targetPaths_1.length; _i++) {
437
- targetPath = targetPaths_1[_i];
438
- _loop_1(targetPath);
439
- }
440
- return [4 /*yield*/, Promise.all(output)];
432
+ return __generator(this, function (_b) {
433
+ switch (_b.label) {
434
+ case 0: return [4 /*yield*/, Promise.all(files.map(function (_a) {
435
+ var path = _a.path, output = _a.output;
436
+ return (0, fs_extra_1.outputFile)("".concat(options.dest, "/").concat(outputPath, "/").concat(path.replace(/\.tsx?$/, '.js')), output);
437
+ }))];
441
438
  case 1:
442
- _a.sent();
439
+ _b.sent();
443
440
  return [2 /*return*/];
444
441
  }
445
442
  });
446
443
  });
447
444
  }
448
- var buildContextFile = function (_a) {
449
- var path = _a.path, options = _a.options, target = _a.target;
450
- return __awaiter(void 0, void 0, void 0, function () {
451
- var name, context, _b;
452
- return __generator(this, function (_c) {
453
- switch (_c.label) {
454
- case 0:
455
- name = (0, lodash_1.upperFirst)((0, lodash_1.camelCase)((0, lodash_1.last)(path.split('/')).split('.')[0]));
456
- _b = mitosis_1.parseContext;
457
- return [4 /*yield*/, (0, fs_extra_1.readFile)(path, 'utf8')];
458
- case 1:
459
- context = _b.apply(void 0, [_c.sent(), { name: name }]);
460
- if (!context) {
461
- console.warn('Could not parse context from file', path);
462
- }
463
- else {
464
- switch (target) {
465
- case 'svelte':
466
- return [2 /*return*/, (0, mitosis_1.contextToSvelte)(options.options.svelte)({ context: context })];
467
- case 'vue':
468
- return [2 /*return*/, (0, mitosis_1.contextToVue)(context)];
469
- case 'solid':
470
- return [2 /*return*/, (0, mitosis_1.contextToSolid)()({ context: context })];
471
- case 'react':
472
- case 'reactNative':
473
- return [2 /*return*/, (0, mitosis_1.contextToReact)()({ context: context })];
474
- default:
475
- console.warn('Context files are not supported for this target. Outputting no-op');
476
- return [2 /*return*/, (0, mitosis_1.contextToVue)(context)];
477
- }
478
- }
479
- return [2 /*return*/];
480
- }
481
- });
482
- });
483
- };
484
445
  /**
485
446
  * Transpiles all non-component files, including Context files.
486
447
  */
487
- function buildTsFiles(_a) {
448
+ function buildNonComponentFiles(_a) {
488
449
  var target = _a.target, options = _a.options;
489
450
  return __awaiter(this, void 0, void 0, function () {
490
451
  var tsFiles;
491
452
  var _this = this;
492
453
  return __generator(this, function (_b) {
493
454
  switch (_b.label) {
494
- case 0: return [4 /*yield*/, (0, fast_glob_1.default)("src/**/*.ts", {
495
- cwd: cwd,
496
- })];
455
+ case 0: return [4 /*yield*/, (0, fast_glob_1.default)(options.files, { cwd: cwd })];
497
456
  case 1:
498
- tsFiles = _b.sent();
457
+ tsFiles = (_b.sent()).filter(function (file) { return file.endsWith('.ts') || file.endsWith('.js'); });
499
458
  return [4 /*yield*/, Promise.all(tsFiles.map(function (path) { return __awaiter(_this, void 0, void 0, function () {
500
459
  var output;
501
460
  return __generator(this, function (_a) {
502
461
  switch (_a.label) {
503
462
  case 0:
504
463
  if (!path.endsWith('.context.lite.ts')) return [3 /*break*/, 2];
505
- return [4 /*yield*/, buildContextFile({ path: path, options: options, target: target })];
464
+ return [4 /*yield*/, (0, context_1.buildContextFile)({ path: path, options: options, target: target })];
506
465
  case 1:
507
466
  output = _a.sent();
508
467
  // we remove the `.lite` extension from the path for Context files.
509
468
  path = path.replace('.lite.ts', '.ts');
510
469
  _a.label = 2;
511
- case 2: return [4 /*yield*/, (0, transpile_1.transpile)({
512
- path: path,
513
- target: target,
514
- content: output,
515
- options: options,
516
- })];
470
+ case 2:
471
+ if (!!shouldOutputOriginalGeneratedFile({ target: target, options: options })) return [3 /*break*/, 4];
472
+ return [4 /*yield*/, (0, transpile_1.transpile)({
473
+ path: path,
474
+ target: target,
475
+ content: output,
476
+ options: options,
477
+ })];
517
478
  case 3:
518
479
  output = _a.sent();
519
- return [2 /*return*/, {
520
- path: path,
521
- output: output,
522
- }];
480
+ return [3 /*break*/, 6];
481
+ case 4: return [4 /*yield*/, (0, fs_extra_1.readFile)(path, 'utf8')];
482
+ case 5:
483
+ output = _a.sent();
484
+ _a.label = 6;
485
+ case 6: return [2 /*return*/, {
486
+ path: path,
487
+ output: output,
488
+ }];
523
489
  }
524
490
  });
525
491
  }); }))];
@@ -531,5 +497,4 @@ function buildTsFiles(_a) {
531
497
  if (require.main === module) {
532
498
  build().catch(console.error);
533
499
  }
534
- var templateObject_1;
535
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbGQvYnVpbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FvQjZCO0FBQzdCLGdEQUEwQjtBQUMxQixrREFBNEI7QUFDNUIsd0RBQTZCO0FBQzdCLHFDQUFvRTtBQUNwRSwyQ0FBK0I7QUFDL0IsaUNBQWdFO0FBQ2hFLDBEQUFvQztBQUNwQyxtREFBaUU7QUFDakUseURBQXNEO0FBQ3RELGlEQUFnRDtBQUNoRCxxRkFBa0Y7QUFDbEYsdUVBQW9FO0FBRXBFLElBQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUUxQixJQUFNLGNBQWMsR0FBMkI7SUFDN0MsT0FBTyxFQUFFLEVBQUU7SUFDWCxJQUFJLEVBQUUsUUFBUTtJQUNkLEtBQUssRUFBRSxPQUFPO0lBQ2QsWUFBWSxFQUFFLFdBQVc7Q0FDMUIsQ0FBQztBQUVGLElBQU0sZUFBZSxHQUE2QjtJQUNoRCxHQUFHLEVBQUU7UUFDSCxZQUFZLEVBQUUsY0FBTSxPQUFBLElBQUEsMkJBQVcsR0FBRSxFQUFiLENBQWE7UUFDakMsVUFBVSxFQUFFLFVBQUMsSUFBSSxJQUFLLE9BQUEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFuRCxDQUFtRDtRQUN6RSxlQUFlLEVBQUUsSUFBSTtLQUN0QjtDQUNGLENBQUM7QUFFRixTQUFzQixLQUFLLENBQUMsTUFBc0I7Ozs7Ozs7O29CQUMxQyxPQUFPLGtDQUNSLGNBQWMsR0FDZCxNQUFNLEtBQ1QsT0FBTyxpQ0FDRixlQUFlLEdBQ2YsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxD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
500
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbGQvYnVpbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FvQjZCO0FBQzdCLGdEQUEwQjtBQUMxQix3REFBNkI7QUFDN0IscUNBQW9FO0FBQ3BFLGlDQUFtQztBQUNuQywwREFBb0M7QUFDcEMsb0RBQWtEO0FBQ2xELDZDQUFxRDtBQUNyRCxtREFBaUU7QUFDakUsaURBQWdEO0FBQ2hELHVFQUFvRTtBQUVwRSxJQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7QUFFMUIsSUFBTSxjQUFjLEdBQTJCO0lBQzdDLE9BQU8sRUFBRSxFQUFFO0lBQ1gsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVBQUUsT0FBTztJQUNkLFlBQVksRUFBRSxXQUFXO0NBQzFCLENBQUM7QUFFRixJQUFNLFVBQVUsR0FBRyxVQUFDLE1BQXNCLElBQW9CLE9BQUEsZ0NBQ3pELGNBQWMsR0FDZCxNQUFNLEtBQ1QsT0FBTyx3QkFDRixjQUFjLENBQUMsT0FBTyxHQUN0QixNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsT0FBTyxLQUVwQixFQVA0RCxDQU81RCxDQUFDO0FBRUgsU0FBZSxLQUFLLENBQUMsT0FBc0I7Ozs7Ozt3QkFDM0IscUJBQU0sSUFBQSxtQkFBSSxFQUFDLFVBQUcsT0FBTyxDQUFDLElBQUksbUJBQVMsT0FBTyxDQUFDLEtBQUssQ0FBRSxDQUFDLEVBQUE7O29CQUEzRCxLQUFLLEdBQUcsU0FBbUQ7b0JBQ2pFLHFCQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2YsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFPLElBQUk7Ozs0Q0FDbkIscUJBQU0sSUFBQSxpQkFBTSxFQUFDLElBQUksQ0FBQyxFQUFBOzt3Q0FBbEIsU0FBa0IsQ0FBQzs7Ozs2QkFDcEIsQ0FBQyxDQUNILEVBQUE7O29CQUpELFNBSUMsQ0FBQzs7Ozs7Q0FDSDtBQUVELElBQU0sd0JBQXdCLEdBQUcsVUFBTyxPQUFzQjs7Ozs7Z0JBQ3JELEtBQUEsQ0FBQSxLQUFBLE9BQU8sQ0FBQSxDQUFDLEdBQUcsQ0FBQTtnQkFDaEIsS0FBQSxvQkFBVSxDQUFBO2dCQUFDLHFCQUFNLElBQUEsbUJBQUksRUFBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxLQUFBLEVBQUUsQ0FBQyxFQUFBO29CQUQvQyxzQkFBTyxjQUNMLGtCQUFXLFNBQWtDLEVBQUUsZUFBZSxFQUFDLENBQUMsR0FBRyxDQUFDLFVBQU8sSUFBSTs7Ozs7O29DQUU1RCxLQUFBLGtCQUFRLENBQUE7b0NBQUMscUJBQU0sSUFBQSxtQkFBUSxFQUFDLElBQUksRUFBRSxNQUFNLENBQUMsRUFBQTs7b0NBQTlDLE1BQU0sR0FBRyxrQkFBUyxTQUE0QixFQUFDO29DQUNyRCxzQkFBTzs0Q0FDTCxJQUFJLE1BQUE7NENBQ0osV0FBVyxFQUFFLE1BQU07eUNBQ3BCLEVBQUM7OztvQ0FFRixPQUFPLENBQUMsS0FBSyxDQUFDLHVCQUF1QixFQUFFLElBQUksQ0FBQyxDQUFDO29DQUM3QyxNQUFNLEtBQUcsQ0FBQzs7Ozt5QkFFYixDQUFDLEVBQ0gsRUFBQzs7O0tBQ0gsQ0FBQztBQVlGLElBQU0saUJBQWlCLEdBQUcsVUFBQyxPQUFzQjtJQUMvQyxPQUFBLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUNqQixVQUFDLE1BQU0sSUFBb0IsT0FBQSxDQUFDO1FBQzFCLE1BQU0sUUFBQTtRQUNOLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxFQUFFLE1BQU0sUUFBQSxFQUFFLE9BQU8sU0FBQSxFQUFFLENBQUM7UUFDckQsVUFBVSxFQUFFLGFBQWEsQ0FBQyxFQUFFLE1BQU0sUUFBQSxFQUFFLENBQUM7S0FDdEMsQ0FBQyxFQUp5QixDQUl6QixDQUNIO0FBTkQsQ0FNQyxDQUFDO0FBRUosSUFBTSwrQkFBK0IsR0FBRyxVQUFPLGFBQXNDOzs7O29CQUNuRSxxQkFBTSxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsRUFBQTs7Z0JBQXJELE9BQU8sR0FBRyxTQUEyQztnQkFDM0QscUJBQU0sdUJBQXVCLHVCQUFNLGFBQWEsS0FBRSxLQUFLLEVBQUUsT0FBTyxJQUFHLEVBQUE7O2dCQUFuRSxTQUFtRSxDQUFDOzs7O0tBQ3JFLENBQUM7QUFFRixTQUFzQixLQUFLLENBQUMsTUFBc0I7Ozs7Ozs7b0JBRTFDLE9BQU8sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBRW5DLHlCQUF5QjtvQkFDekIscUJBQU0sS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFBOztvQkFEcEIseUJBQXlCO29CQUN6QixTQUFvQixDQUFDO29CQUdLLHFCQUFNLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxFQUFBOztvQkFBM0QsaUJBQWlCLEdBQUcsU0FBdUM7b0JBRTNELGNBQWMsR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFFbEQscUJBQU0sT0FBTyxDQUFDLEdBQUcsQ0FDZixjQUFjLENBQUMsR0FBRyxDQUFDLFVBQU8sYUFBYTs7Ozs7d0NBRy9CLEtBQUssR0FBRyxJQUFBLHNCQUFTLEVBQUMsaUJBQWlCLENBQUMsQ0FBQzt3Q0FFckMsdUJBQXVCLHlCQUFpQyxhQUFhLEtBQUUsT0FBTyxTQUFBLEdBQUUsQ0FBQzt3Q0FFdkYscUJBQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQztnREFDaEIsK0JBQStCLENBQUMsdUJBQXVCLENBQUM7Z0RBQ3hELDRCQUE0Qix1QkFBTSx1QkFBdUIsS0FBRSxLQUFLLE9BQUEsSUFBRzs2Q0FDcEUsQ0FBQyxFQUFBOzt3Q0FIRixTQUdFLENBQUM7d0NBQ0gscUJBQU0sZUFBZSxDQUFDLHVCQUF1QixDQUFDLEVBQUE7O3dDQUE5QyxTQUE4QyxDQUFDOzs7OzZCQUNoRCxDQUFDLENBQ0gsRUFBQTs7b0JBZEQsU0FjQyxDQUFDO29CQUVGLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7Ozs7O0NBQ3ZCO0FBN0JELHNCQTZCQztBQUVELFNBQWUsZUFBZSxDQUFDLEVBQXdEO1FBQXRELE1BQU0sWUFBQSxFQUFFLE9BQU8sYUFBQSxFQUFFLFVBQVUsZ0JBQUE7Ozs7Ozs7b0JBQ3BELGVBQWUsR0FBRyxVQUFHLE9BQU8sQ0FBQyxZQUFZLGNBQUksVUFBVSxDQUFFLENBQUM7b0JBR3RDLHFCQUFNLElBQUEsbUJBQUksRUFBQzs0QkFDbkMsVUFBRyxlQUFlLFVBQU87NEJBQ3pCLFdBQUksZUFBZSx1QkFBb0I7eUJBQ3hDLENBQUMsRUFBQTs7b0JBSEksaUJBQWlCLEdBQUcsU0FHeEI7b0JBQ0YscUJBQU0sT0FBTyxDQUFDLEdBQUcsQ0FDZixpQkFBaUIsQ0FBQyxHQUFHLENBQUMsVUFBTyxnQkFBZ0I7Ozs7NENBQzVCLHFCQUFNLElBQUEsbUJBQVEsRUFBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsRUFBQTs7d0NBQW5ELFFBQVEsR0FBRyxTQUF3Qzt3Q0FHakQsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDOzZDQUN2RCxnQkFBZ0IsRUFBaEIsd0JBQWdCO3dDQUNQLHFCQUFNLElBQUEscUJBQVMsRUFBQyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFFBQUEsRUFBRSxPQUFPLFNBQUEsRUFBRSxDQUFDLEVBQUE7O3dDQUF2RSxRQUFRLEdBQUcsU0FBNEQsQ0FBQzs7O3dDQUdwRSxPQUFPLEdBQUcsZ0JBQWdCOzRDQUM5Qiw2RUFBNkU7NENBQzdFLHVGQUF1Rjs2Q0FDdEYsT0FBTyxDQUFDLFVBQUcsZUFBZSxDQUFFLEVBQUUsVUFBRyxPQUFPLENBQUMsSUFBSSxjQUFJLFVBQVUsQ0FBRSxDQUFDOzRDQUMvRCx1Q0FBdUM7NkNBQ3RDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7d0NBRTdCLHFCQUFNLElBQUEscUJBQVUsRUFBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLEVBQUE7O3dDQUFuQyxTQUFtQyxDQUFDOzs7OzZCQUNyQyxDQUFDLENBQ0gsRUFBQTs7b0JBbkJELFNBbUJDLENBQUM7Ozs7O0NBQ0g7QUFFRCxJQUFNLHFCQUFxQixHQUFHLFVBQUMsRUFNOUI7UUFMQyxNQUFNLFlBQUEsRUFDTixPQUFPLGFBQUE7SUFLUCxRQUFRLE1BQU0sRUFBRTtRQUNkLEtBQUssZUFBZTtZQUNsQixPQUFPLElBQUEsa0NBQXdCLEVBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNqRSxLQUFLLE1BQU07WUFDVCxPQUFPLElBQUEseUJBQWUsRUFBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLEtBQUssYUFBYTtZQUNoQixPQUFPLElBQUEsZ0NBQXNCLEVBQUMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUMzRCxLQUFLLE1BQU07WUFDVCxPQUFPLElBQUEseUJBQWUsRUFBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLEtBQUssS0FBSztZQUNSLE9BQU8sQ0FBQyxHQUFHLENBQUMscUNBQXFDLENBQUMsQ0FBQztRQUNyRCxLQUFLLE1BQU07WUFDVCxPQUFPLElBQUEseUJBQWUsRUFBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLEtBQUssU0FBUztZQUNaLE9BQU8sSUFBQSw0QkFBa0IsRUFBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JELEtBQUssT0FBTztZQUNWLE9BQU8sSUFBQSwwQkFBZ0IsRUFBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pELEtBQUssT0FBTztZQUNWLE9BQU8sSUFBQSwwQkFBZ0IsRUFBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pELEtBQUssT0FBTztZQUNWLE9BQU8sSUFBQSwwQkFBZ0IsRUFBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pELEtBQUssY0FBYztZQUNqQixPQUFPLElBQUEsa0NBQXdCLEVBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNoRSxLQUFLLFFBQVE7WUFDWCxPQUFPLElBQUEsMkJBQWlCLEVBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuRCxLQUFLLE1BQU07WUFDVCxPQUFPLElBQUEseUJBQWUsRUFBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLEtBQUssT0FBTztZQUNWLE9BQU8sSUFBQSwwQkFBZ0IsRUFBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pELEtBQUssUUFBUTtZQUNYLE9BQU8sSUFBQSwyQkFBaUIsRUFBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25ELEtBQUssS0FBSztZQUNSLE9BQU8sSUFBQSx3QkFBYyxFQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0M7WUFDRSxNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxHQUFHLE1BQU0sQ0FBQyxDQUFDO0tBQ2pFO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxJQUFNLGlDQUFpQyxHQUFHLFVBQUMsRUFNMUM7O1FBTEMsTUFBTSxZQUFBLEVBQ04sT0FBTyxhQUFBO0lBS1AsSUFBTSxTQUFTLEdBQUcsTUFBQSxNQUFBLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLDBDQUFFLFVBQVUsMENBQUUsU0FBUyxDQUFDO0lBQ2pFLElBQUksU0FBUyxhQUFULFNBQVMsdUJBQVQsU0FBUyxDQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUM3QixPQUFPLElBQUksQ0FBQztLQUNiO1NBQU07UUFDTCxPQUFPLEtBQUssQ0FBQztLQUNkO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsSUFBTSw2QkFBNkIsR0FBRyxVQUFDLEVBQWtEO1FBQWhELE1BQU0sWUFBQSxFQUFFLElBQUksVUFBQTtJQUNuRCxPQUFBLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLElBQUEsc0NBQXlCLEVBQUMsTUFBTSxDQUFDLENBQUM7QUFBL0QsQ0FBK0QsQ0FBQztBQUVsRTs7R0FFRztBQUNILFNBQWUsNEJBQTRCLENBQUMsRUFRM0M7UUFQQyxNQUFNLFlBQUEsRUFDTixLQUFLLFdBQUEsRUFDTCxPQUFPLGFBQUEsRUFDUCxTQUFTLGVBQUEsRUFDVCxVQUFVLGdCQUFBOzs7Ozs7O29CQUlKLFdBQVcsR0FBRyxJQUFBLGVBQUssRUFBQyxrQkFBVyxNQUFNLENBQUUsQ0FBQyxDQUFDO29CQUN6QyxNQUFNLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFPLEVBQXFCOzRCQUFuQixJQUFJLFVBQUEsRUFBRSxXQUFXLGlCQUFBOzs7Ozs7d0NBQzNDLGNBQWMsR0FBRyw2QkFBNkIsQ0FBQyxFQUFFLE1BQU0sUUFBQSxFQUFFLElBQUksTUFBQSxFQUFFLENBQUMsQ0FBQzt3Q0FHakUsZ0JBQWdCLEdBQUcsVUFBRyxPQUFPLENBQUMsWUFBWSxjQUFJLFVBQVUsY0FBSSxjQUFjLENBQUUsQ0FBQzt3Q0FDN0QscUJBQU0sSUFBQSxxQkFBVSxFQUFDLGdCQUFnQixDQUFDLEVBQUE7OzZDQUFuQyxDQUFDLFNBQWtDLENBQUMsRUFBcEMsd0JBQW9DO3dDQUNyRCxxQkFBTSxJQUFBLG1CQUFRLEVBQUMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLEVBQUE7O3dDQUF4QyxLQUFBLFNBQXdDLENBQUE7Ozt3Q0FDeEMsS0FBQSxJQUFJLENBQUE7Ozt3Q0FGRixZQUFZLEtBRVY7d0NBRVIsV0FBVyxDQUFDLHNCQUFlLElBQUksUUFBSyxDQUFDLENBQUM7d0NBQ2xDLFVBQVUsR0FBRyxFQUFFLENBQUM7d0NBRXBCLElBQUksWUFBWSxFQUFFOzRDQUNoQixXQUFXLENBQUMsOEJBQXVCLElBQUksZUFBSyxDQUFDLENBQUMsWUFBWSxDQUFFLENBQUMsQ0FBQzt5Q0FDL0Q7d0NBQ0QsSUFBSTs0Q0FDRixVQUFVLEdBQUcsWUFBWSxhQUFaLFlBQVksY0FBWixZQUFZLEdBQUksU0FBUyxDQUFDLEVBQUUsSUFBSSxNQUFBLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7NENBQ3pFLFdBQVcsQ0FBQyw4QkFBdUIsSUFBSSw4QkFBb0IsVUFBVSxDQUFDLE1BQU0sQ0FBRSxDQUFDLENBQUM7eUNBQ2pGO3dDQUFDLE9BQU8sS0FBSyxFQUFFOzRDQUNkLFdBQVcsQ0FBQyw4QkFBdUIsSUFBSSxNQUFHLENBQUMsQ0FBQzs0Q0FDNUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDOzRDQUNuQixNQUFNLEtBQUssQ0FBQzt5Q0FDYjt3Q0FFSyxRQUFRLEdBQUcsVUFBVSxDQUFDO3dDQUlwQixLQUFBLE1BQU0sQ0FBQTs7aURBQ1AsT0FBTyxDQUFDLENBQVIsd0JBQU87aURBT1AsYUFBYSxDQUFDLENBQWQsd0JBQWE7aURBQ2IsUUFBUSxDQUFDLENBQVQsd0JBQVE7aURBQ1IsT0FBTyxDQUFDLENBQVIsd0JBQU87aURBUVAsS0FBSyxDQUFDLENBQU4sd0JBQUs7aURBQ0wsTUFBTSxDQUFDLENBQVAsd0JBQU07aURBQ04sTUFBTSxDQUFDLENBQVAsd0JBQU07Ozs0Q0FsQkkscUJBQU0sSUFBQSx5Q0FBa0IsRUFBQzs0Q0FDcEMsUUFBUSxFQUFFLFVBQVU7NENBQ3BCLElBQUksTUFBQTs0Q0FDSixnQkFBZ0IsRUFBRSxXQUFXO3lDQUM5QixDQUFDLEVBQUE7O3dDQUpGLFVBQVUsR0FBRyxTQUlYLENBQUM7d0NBQ0gseUJBQU07NENBSU8scUJBQU0sSUFBQSxxQkFBUyxFQUFDOzRDQUMzQixJQUFJLE1BQUE7NENBQ0osT0FBTyxFQUFFLFVBQVU7NENBQ25CLE1BQU0sUUFBQTs0Q0FDTixPQUFPLFNBQUE7eUNBQ1IsQ0FBQyxFQUFBOzt3Q0FMRixVQUFVLEdBQUcsU0FLWCxDQUFDO3dDQUNILHlCQUFNOzRDQUlOLHlCQUFNOzt3Q0FHSixTQUFTLEdBQUcsVUFBRyxPQUFPLENBQUMsSUFBSSxjQUFJLFVBQVUsQ0FBRSxDQUFDO3dDQUVsRCxxQkFBTSxPQUFPLENBQUMsR0FBRztnREFDZiw2QkFBNkI7Z0RBQzdCLElBQUEscUJBQVUsRUFBQyxVQUFHLFNBQVMsY0FBSSxjQUFjLENBQUUsRUFBRSxVQUFVLENBQUM7K0NBQ3JELENBQUMsaUNBQWlDLENBQUMsRUFBRSxNQUFNLFFBQUEsRUFBRSxPQUFPLFNBQUEsRUFBRSxDQUFDO2dEQUN4RCxDQUFDLENBQUMsQ0FBQyxJQUFBLHFCQUFVLEVBQUMsVUFBRyxTQUFTLGNBQUksSUFBSSxDQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0RBQ2hELENBQUMsQ0FBQyxFQUFFLENBQUMsUUFDUCxFQUFBOzt3Q0FORixTQU1FLENBQUM7Ozs7O3FCQUNKLENBQUMsQ0FBQztvQkFDSCxxQkFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFBOztvQkFBekIsU0FBeUIsQ0FBQzs7Ozs7Q0FDM0I7QUFFRCxJQUFNLGFBQWEsR0FBRyxVQUFDLEVBQThCO1FBQTVCLE1BQU0sWUFBQTtJQUM3QixRQUFRLE1BQU0sRUFBRTtRQUNkLEtBQUssTUFBTTtZQUNULE9BQU8sVUFBVSxDQUFDO1FBQ3BCLEtBQUssS0FBSyxDQUFDO1FBQ1gsS0FBSyxNQUFNO1lBQ1QsT0FBTyxVQUFVLENBQUM7UUFDcEI7WUFDRSxPQUFPLElBQUEsa0JBQVMsRUFBQyxNQUFNLENBQUMsQ0FBQztLQUM1QjtBQUNILENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsU0FBZSx1QkFBdUIsQ0FBQyxFQU90QztRQU5DLEtBQUssV0FBQSxFQUNMLE9BQU8sYUFBQSxFQUNQLFVBQVUsZ0JBQUE7Ozs7d0JBS1YscUJBQU0sT0FBTyxDQUFDLEdBQUcsQ0FDZixLQUFLLENBQUMsR0FBRyxDQUFDLFVBQUMsRUFBZ0I7NEJBQWQsSUFBSSxVQUFBLEVBQUUsTUFBTSxZQUFBO3dCQUN2QixPQUFBLElBQUEscUJBQVUsRUFBQyxVQUFHLE9BQU8sQ0FBQyxJQUFJLGNBQUksVUFBVSxjQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFFLEVBQUUsTUFBTSxDQUFDO29CQUFyRixDQUFxRixDQUN0RixDQUNGLEVBQUE7O29CQUpELFNBSUMsQ0FBQzs7Ozs7Q0FDSDtBQUVEOztHQUVHO0FBQ0gsU0FBZSxzQkFBc0IsQ0FBQyxFQUE0QztRQUExQyxNQUFNLFlBQUEsRUFBRSxPQUFPLGFBQUE7Ozs7Ozt3QkFDcEMscUJBQU0sSUFBQSxtQkFBSSxFQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLEtBQUEsRUFBRSxDQUFDLEVBQUE7O29CQUE3QyxPQUFPLEdBQUcsQ0FBQyxTQUFrQyxDQUFDLENBQUMsTUFBTSxDQUN6RCxVQUFDLElBQUksSUFBSyxPQUFBLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBNUMsQ0FBNEMsQ0FDdkQ7b0JBRU0scUJBQU0sT0FBTyxDQUFDLEdBQUcsQ0FDdEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFPLElBQUk7Ozs7OzZDQUVqQixJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLEVBQWpDLHdCQUFpQzt3Q0FDMUIscUJBQU0sSUFBQSwwQkFBZ0IsRUFBQyxFQUFFLElBQUksTUFBQSxFQUFFLE9BQU8sU0FBQSxFQUFFLE1BQU0sUUFBQSxFQUFFLENBQUMsRUFBQTs7d0NBQTFELE1BQU0sR0FBRyxTQUFpRCxDQUFDO3dDQUMzRCxtRUFBbUU7d0NBQ25FLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQzs7OzZDQUVyQyxDQUFDLGlDQUFpQyxDQUFDLEVBQUUsTUFBTSxRQUFBLEVBQUUsT0FBTyxTQUFBLEVBQUUsQ0FBQyxFQUF2RCx3QkFBdUQ7d0NBQ2hELHFCQUFNLElBQUEscUJBQVMsRUFBQztnREFDdkIsSUFBSSxNQUFBO2dEQUNKLE1BQU0sUUFBQTtnREFDTixPQUFPLEVBQUUsTUFBTTtnREFDZixPQUFPLFNBQUE7NkNBQ1IsQ0FBQyxFQUFBOzt3Q0FMRixNQUFNLEdBQUcsU0FLUCxDQUFDOzs0Q0FFTSxxQkFBTSxJQUFBLG1CQUFRLEVBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxFQUFBOzt3Q0FBckMsTUFBTSxHQUFHLFNBQTRCLENBQUM7OzRDQUd4QyxzQkFBTzs0Q0FDTCxJQUFJLE1BQUE7NENBQ0osTUFBTSxRQUFBO3lDQUNQLEVBQUM7Ozs2QkFDSCxDQUFDLENBQ0gsRUFBQTt3QkF4QkQsc0JBQU8sU0F3Qk4sRUFBQzs7OztDQUNIO0FBRUQsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRTtJQUMzQixLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0NBQzlCIn0=