@sveltejs/kit 1.0.0-next.3 → 1.0.0-next.301

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 (68) hide show
  1. package/README.md +12 -9
  2. package/assets/app/env.js +20 -0
  3. package/assets/app/navigation.js +24 -0
  4. package/assets/app/paths.js +1 -0
  5. package/assets/app/stores.js +97 -0
  6. package/assets/client/singletons.js +13 -0
  7. package/assets/client/start.js +1650 -0
  8. package/assets/components/error.svelte +19 -3
  9. package/assets/env.js +8 -0
  10. package/assets/paths.js +13 -0
  11. package/assets/server/index.js +2845 -0
  12. package/dist/chunks/amp_hook.js +56 -0
  13. package/dist/chunks/cert.js +28154 -0
  14. package/dist/chunks/constants.js +663 -0
  15. package/dist/chunks/filesystem.js +110 -0
  16. package/dist/chunks/index.js +520 -0
  17. package/dist/chunks/index2.js +1325 -0
  18. package/dist/chunks/index3.js +118 -0
  19. package/dist/chunks/index4.js +185 -0
  20. package/dist/chunks/index5.js +251 -0
  21. package/dist/chunks/index6.js +15585 -0
  22. package/dist/chunks/index7.js +4207 -0
  23. package/dist/chunks/misc.js +77 -0
  24. package/dist/chunks/multipart-parser.js +449 -0
  25. package/dist/chunks/object.js +83 -0
  26. package/dist/chunks/sync.js +930 -0
  27. package/dist/chunks/url.js +56 -0
  28. package/dist/cli.js +1026 -67
  29. package/dist/hooks.js +28 -0
  30. package/dist/install-fetch.js +6518 -0
  31. package/dist/node.js +94 -0
  32. package/package.json +92 -52
  33. package/svelte-kit.js +2 -0
  34. package/types/ambient.d.ts +298 -0
  35. package/types/index.d.ts +262 -0
  36. package/types/internal.d.ts +317 -0
  37. package/types/private.d.ts +273 -0
  38. package/CHANGELOG.md +0 -165
  39. package/assets/renderer/index.js +0 -2492
  40. package/assets/renderer/index.js.map +0 -1
  41. package/assets/runtime/app/navigation.js +0 -47
  42. package/assets/runtime/app/navigation.js.map +0 -1
  43. package/assets/runtime/app/stores.js +0 -78
  44. package/assets/runtime/app/stores.js.map +0 -1
  45. package/assets/runtime/internal/singletons.js +0 -10
  46. package/assets/runtime/internal/singletons.js.map +0 -1
  47. package/assets/runtime/internal/start.js +0 -517
  48. package/assets/runtime/internal/start.js.map +0 -1
  49. package/dist/api.js +0 -38
  50. package/dist/api.js.map +0 -1
  51. package/dist/cli.js.map +0 -1
  52. package/dist/create_app.js +0 -550
  53. package/dist/create_app.js.map +0 -1
  54. package/dist/index.js +0 -10708
  55. package/dist/index.js.map +0 -1
  56. package/dist/index2.js +0 -509
  57. package/dist/index2.js.map +0 -1
  58. package/dist/index3.js +0 -62
  59. package/dist/index3.js.map +0 -1
  60. package/dist/index4.js +0 -563
  61. package/dist/index4.js.map +0 -1
  62. package/dist/index5.js +0 -276
  63. package/dist/index5.js.map +0 -1
  64. package/dist/package.js +0 -235
  65. package/dist/package.js.map +0 -1
  66. package/dist/utils.js +0 -58
  67. package/dist/utils.js.map +0 -1
  68. package/svelte-kit +0 -3
package/dist/index2.js DELETED
@@ -1,509 +0,0 @@
1
- 'use strict';
2
-
3
- require('./package.js');
4
- var path = require('path');
5
- require('module');
6
- var fs = require('fs');
7
- var child_process = require('child_process');
8
- var utils = require('./utils.js');
9
- var create_app = require('./create_app.js');
10
- var util = require('util');
11
- var rollup = require('rollup');
12
- var rollupPluginTerser = require('rollup-plugin-terser');
13
- var css_chunks = require('rollup-plugin-css-chunks');
14
-
15
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
16
-
17
- var path__default = /*#__PURE__*/_interopDefaultLegacy(path);
18
- var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
19
- var child_process__default = /*#__PURE__*/_interopDefaultLegacy(child_process);
20
- var css_chunks__default = /*#__PURE__*/_interopDefaultLegacy(css_chunks);
21
-
22
- let FORCE_COLOR, NODE_DISABLE_COLORS, NO_COLOR, TERM, isTTY=true;
23
- if (typeof process !== 'undefined') {
24
- ({ FORCE_COLOR, NODE_DISABLE_COLORS, NO_COLOR, TERM } = process.env);
25
- isTTY = process.stdout && process.stdout.isTTY;
26
- }
27
-
28
- const $ = {
29
- enabled: !NODE_DISABLE_COLORS && NO_COLOR == null && TERM !== 'dumb' && (
30
- FORCE_COLOR != null && FORCE_COLOR !== '0' || isTTY
31
- )
32
- };
33
-
34
- function init(x, y) {
35
- let rgx = new RegExp(`\\x1b\\[${y}m`, 'g');
36
- let open = `\x1b[${x}m`, close = `\x1b[${y}m`;
37
-
38
- return function (txt) {
39
- if (!$.enabled || txt == null) return txt;
40
- return open + ((''+txt).includes(close) ? txt.replace(rgx, close + open) : txt) + close;
41
- };
42
- }
43
- const bold = init(1, 22);
44
- const green = init(32, 39);
45
- const cyan = init(36, 39);
46
- const gray = init(90, 39);
47
-
48
- const inject_styles = `
49
- export default function(files) {
50
- return Promise.all(files.map(function(file) { return new Promise(function(fulfil, reject) {
51
- var href = new URL(file, import.meta.url);
52
- var baseURI = document.baseURI;
53
- if (!baseURI) {
54
- var baseTags = document.getElementsByTagName('base');
55
- baseURI = baseTags.length ? baseTags[0].href : document.URL;
56
- }
57
- var relative = ('' + href).substring(baseURI.length);
58
- var link = document.querySelector('link[rel=stylesheet][href="' + relative + '"]')
59
- || document.querySelector('link[rel=stylesheet][href="' + href + '"]');
60
- if (!link) {
61
- link = document.createElement('link');
62
- link.rel = 'stylesheet';
63
- link.href = href;
64
- document.head.appendChild(link);
65
- }
66
- if (link.sheet) {
67
- fulfil();
68
- } else {
69
- link.onload = function() { return fulfil() };
70
- link.onerror = reject;
71
- }
72
- })}));
73
- };`.trim();
74
-
75
- const INJECT_STYLES_NAME = 'inject_styles';
76
- const INJECT_STYLES_ID = 'inject_styles.js';
77
-
78
- const find_css = (chunk, bundle) => {
79
- const css_files = new Set();
80
- const visited = new Set();
81
-
82
- const recurse = (c) => {
83
- if (visited.has(c)) return;
84
- visited.add(c);
85
-
86
- if (c.imports) {
87
- c.imports.forEach((file) => {
88
- if (file.endsWith('.css')) {
89
- css_files.add(file);
90
- } else {
91
- const imported_chunk = bundle[file];
92
- if (imported_chunk) {
93
- recurse(imported_chunk);
94
- }
95
- }
96
- });
97
- }
98
- };
99
-
100
- recurse(chunk);
101
- return Array.from(css_files);
102
- };
103
-
104
- const css_injection = {
105
- name: 'svelte-css-injection',
106
- buildStart() {
107
- this.emitFile({
108
- type: 'chunk',
109
- id: INJECT_STYLES_ID,
110
- name: INJECT_STYLES_NAME,
111
- preserveSignature: 'allow-extension'
112
- });
113
- },
114
- load(id) {
115
- return id === INJECT_STYLES_ID ? inject_styles : null;
116
- },
117
- resolveId(importee) {
118
- return importee === INJECT_STYLES_ID ? INJECT_STYLES_ID : null;
119
- },
120
- renderDynamicImport({ targetModuleId }) {
121
- if (targetModuleId) {
122
- const t = Buffer.from(targetModuleId).toString('hex');
123
- return {
124
- left: 'Promise.all([import(',
125
- right: `), ___SVELTE_CSS_INJECTION___${t}___]).then(function(x) { return x[0]; })`
126
- };
127
- } else {
128
- return {
129
- left: 'import(',
130
- right: ')'
131
- };
132
- }
133
- },
134
- async generateBundle(
135
-
136
- _options,
137
- bundle
138
- ) {
139
- const inject_styles_file = Object.keys(bundle).find((f) => f.startsWith('inject_styles'));
140
-
141
- let has_css = false;
142
- for (const name in bundle) {
143
- const chunk = bundle[name];
144
-
145
- let chunk_has_css = false;
146
-
147
- if (chunk.code) {
148
- chunk.code = chunk.code.replace(/___SVELTE_CSS_INJECTION___([0-9a-f]+)___/g, (_m, id) => {
149
- id = Buffer.from(id, 'hex').toString();
150
- const target = (
151
- Object.values(bundle).find(
152
- (c) => (c).modules && (c).modules[id]
153
- )
154
- );
155
-
156
- if (target) {
157
- const css_files = find_css(target, bundle);
158
- if (css_files.length > 0) {
159
- chunk_has_css = true;
160
- return `__inject_styles(${JSON.stringify(css_files)})`;
161
- }
162
- }
163
-
164
- return '';
165
- });
166
-
167
- if (chunk_has_css) {
168
- has_css = true;
169
- chunk.code += `\nimport __inject_styles from './${inject_styles_file}';`;
170
- }
171
- }
172
- }
173
-
174
- if (!has_css) {
175
- delete bundle[inject_styles_file];
176
- }
177
-
178
- // console.log(bundle);
179
- }
180
- };
181
-
182
- const exec = util.promisify(child_process__default['default'].exec);
183
-
184
- const snowpack_main = require.resolve('snowpack');
185
- const snowpack_pkg_file = path__default['default'].join(snowpack_main, '../../package.json');
186
- const snowpack_pkg = require(snowpack_pkg_file); // eslint-disable-line
187
- const snowpack_bin = path__default['default'].resolve(path__default['default'].dirname(snowpack_pkg_file), snowpack_pkg.bin.snowpack);
188
-
189
- const ignorable_warnings = new Set(['EMPTY_BUNDLE', 'MISSING_EXPORT']);
190
- const onwarn = (warning, handler) => {
191
- // TODO would be nice to just eliminate the circular dependencies instead of
192
- // squelching these warnings (it happens when e.g. the root layout imports
193
- // from $app/navigation)
194
- if (ignorable_warnings.has(warning.code)) return;
195
- handler(warning);
196
- };
197
-
198
- const DIR = '.svelte';
199
- const ASSETS = `${DIR}/assets`;
200
- const UNOPTIMIZED = `${DIR}/build/unoptimized`;
201
- const OPTIMIZED = `${DIR}/build/optimized`;
202
-
203
- const s = JSON.stringify;
204
-
205
- async function build(config) {
206
- const manifest = create_app.create_manifest_data(config.paths.routes);
207
-
208
- utils.mkdirp(ASSETS);
209
- await rimraf(UNOPTIMIZED);
210
- await rimraf(OPTIMIZED);
211
-
212
- create_app.create_app({
213
- manifest_data: manifest,
214
- output: '.svelte/assets'
215
- });
216
-
217
- utils.copy_assets();
218
-
219
- const progress = {
220
- transformed_client: false,
221
- transformed_server: false,
222
- optimized_client: false,
223
- optimized_server: false
224
- };
225
-
226
- process.stdout.write('\x1b[s');
227
-
228
- const tick = bold(green('✔'));
229
- const render = () => process.stdout.write('\x1b[u' + `
230
- ${bold(cyan('Transforming...'))}
231
- ${progress.transformed_client ? `${tick} client` : gray('⧗ client')}
232
- ${progress.transformed_server ? `${tick} server` : gray('⧗ server')}
233
- ${bold(cyan('Optimizing...'))}
234
- ${progress.optimized_client ? `${tick} client ` : gray('⧗ client')}
235
- ${progress.optimized_server ? `${tick} server ` : gray('⧗ server')}
236
- `.replace(/^\t/gm, '').trimStart());
237
-
238
- render();
239
-
240
- const mount = `--mount.${config.paths.routes}=/_app/routes --mount.${config.paths.setup}=/_app/setup`;
241
-
242
- const promises = {
243
- transform_client: exec(`node ${snowpack_bin} build ${mount} --out=${UNOPTIMIZED}/client`).then(() => {
244
- progress.transformed_client = true;
245
- render();
246
- }),
247
- transform_server: exec(`node ${snowpack_bin} build ${mount} --out=${UNOPTIMIZED}/server --ssr`).then(() => {
248
- progress.transformed_server = true;
249
- render();
250
- })
251
- };
252
-
253
- // we await this promise because we can't start optimizing the server
254
- // until client optimization is complete
255
- await promises.transform_client;
256
-
257
- const client = {
258
- entry: null,
259
- deps: {}
260
- };
261
-
262
- const entry = path__default['default'].resolve(`${UNOPTIMIZED}/client/_app/assets/runtime/internal/start.js`);
263
-
264
- const client_chunks = await rollup.rollup({
265
- input: {
266
- entry
267
- },
268
- plugins: [
269
- {
270
- name: 'deproxy-css',
271
- async resolveId(importee, importer) {
272
- if (/\.css\.proxy\.js$/.test(importee)) {
273
- const deproxied = importee.replace(/\.css\.proxy\.js$/, '.css');
274
- const resolved = await this.resolve(deproxied, importer);
275
- return resolved.id;
276
- }
277
- }
278
- },
279
- css_chunks__default['default']({
280
- injectImports: true,
281
- sourcemap: true
282
- }),
283
- css_injection,
284
- {
285
- name: 'generate-client-manifest',
286
- generateBundle(_options, bundle) {
287
- const reverse_lookup = new Map();
288
-
289
- const routes = path__default['default'].resolve(`${UNOPTIMIZED}/client/_app/routes`);
290
-
291
- let inject_styles;
292
-
293
- for (const key in bundle) {
294
- const chunk = bundle[key];
295
-
296
- if (chunk.facadeModuleId === entry) {
297
- client.entry = key;
298
- } else if (chunk.facadeModuleId === 'inject_styles.js') {
299
- inject_styles = key;
300
- } else if (chunk.modules) {
301
- for (const id in chunk.modules) {
302
- if (id.startsWith(routes) && id.endsWith('.js')) {
303
- const file = id.slice(routes.length + 1);
304
- reverse_lookup.set(file, key);
305
- }
306
- }
307
- }
308
- }
309
-
310
- const find_deps = (key, js, css) => {
311
- if (js.has(key)) return;
312
-
313
- js.add(key);
314
-
315
- const chunk = bundle[key];
316
-
317
- if (chunk) {
318
- const imports = chunk.imports;
319
-
320
- if (imports) {
321
- imports.forEach((key) => {
322
- if (key.endsWith('.css')) {
323
- js.add(inject_styles);
324
- css.add(key);
325
- } else {
326
- find_deps(key, js, css);
327
- }
328
- });
329
- }
330
- } else {
331
- this.error(`'${key}' is imported but could not be bundled`);
332
- }
333
-
334
- return { js, css };
335
- };
336
-
337
- const get_deps = (key) => {
338
- const js = new Set();
339
- const css = new Set();
340
-
341
- find_deps(key, js, css);
342
-
343
- return {
344
- js: Array.from(js),
345
- css: Array.from(css)
346
- };
347
- };
348
-
349
- client.deps.__entry__ = get_deps(client.entry);
350
-
351
- manifest.components.forEach((component) => {
352
- const file = path__default['default'].normalize(component.file.replace(/\.svelte$/, '.js'));
353
- const key = reverse_lookup.get(file);
354
-
355
- client.deps[component.name] = get_deps(key);
356
- });
357
- }
358
- },
359
- rollupPluginTerser.terser()
360
- ],
361
-
362
- onwarn,
363
-
364
- // TODO ensure this works with external node modules (on server)
365
- external: (id) => id[0] !== '.' && !path__default['default'].isAbsolute(id)
366
- });
367
-
368
- await client_chunks.write({
369
- dir: `${OPTIMIZED}/client/_app`,
370
- entryFileNames: '[name]-[hash].js',
371
- chunkFileNames: '[name]-[hash].js',
372
- assetFileNames: '[name]-[hash].js', // TODO CSS filenames aren't hashed?
373
- format: 'esm',
374
- sourcemap: true
375
- });
376
-
377
- progress.optimized_client = true;
378
- render();
379
-
380
- // just in case the server is still transforming...
381
- await promises.transform_server;
382
-
383
- const setup_file = `${UNOPTIMIZED}/server/_app/setup/index.js`;
384
- if (!fs__default['default'].existsSync(setup_file)) {
385
- utils.mkdirp(path__default['default'].dirname(setup_file));
386
- fs__default['default'].writeFileSync(setup_file, '');
387
- }
388
-
389
- // TODO do we need component file names in build?
390
- const stringify_component = (c) => `{ name: ${s(c.name)}, file: ${s(c.file)}, url: ${s(c.url)} }`;
391
-
392
- const stringified_manifest = `
393
- {
394
- layout: ${stringify_component(manifest.layout)},
395
- error: ${stringify_component(manifest.error)},
396
- components: [
397
- ${manifest.components.map(c => stringify_component(c)).join(',\n\t\t\t\t')}
398
- ],
399
- pages: [
400
- ${manifest.pages
401
- .map(({ path, pattern, parts }) => {
402
- return `{ path: ${s(path)}, pattern: ${pattern}, parts: ${s(parts)} }`;
403
- })
404
- .join(',\n\t\t\t\t')}
405
- ],
406
- endpoints: [
407
- ${manifest.endpoints
408
- .map(({ name, pattern, file, params }) => {
409
- return `{ name: ${s(name)}, pattern: ${pattern}, file: ${s(file)}, params: ${s(params)} }`;
410
- })
411
- .join(',\n\t\t\t\t')}
412
- ]
413
- }
414
- `.replace(/^\t{2}/gm, '').trim();
415
-
416
- fs__default['default'].writeFileSync('.svelte/build/manifest.js', `export default ${stringified_manifest};`);
417
- fs__default['default'].writeFileSync('.svelte/build/manifest.cjs', `module.exports = ${stringified_manifest};`);
418
-
419
- fs__default['default'].writeFileSync(`${UNOPTIMIZED}/server/app.js`, `
420
- import * as renderer from '@sveltejs/kit/assets/renderer';
421
- import root from './_app/assets/generated/root.js';
422
- import * as setup from './_app/setup/index.js';
423
- import manifest from '../../manifest.js';
424
-
425
- const template = ({ head, body }) => ${s(fs__default['default'].readFileSync(config.paths.template, 'utf-8'))
426
- .replace('%svelte.head%', '" + head + "')
427
- .replace('%svelte.body%', '" + body + "')};
428
-
429
- const client = ${s(client)};
430
-
431
- export const paths = {
432
- static: ${s(config.paths.static)}
433
- };
434
-
435
- export function render(request, { only_prerender = false } = {}) {
436
- return renderer.render(request, {
437
- static_dir: paths.static,
438
- template,
439
- manifest,
440
- target: ${s(config.target)},${config.startGlobal ? `\n\t\t\t\t\tstart_global: ${s(config.startGlobal)},` : ''}
441
- client,
442
- root,
443
- setup,
444
- load: (route) => require(\`./routes/\${route.name}.js\`),
445
- dev: false,
446
- only_prerender
447
- });
448
- }
449
- `.replace(/^\t{3}/gm, '').trim());
450
-
451
- const server_input = {
452
- app: `${UNOPTIMIZED}/server/app.js`
453
- };
454
-
455
- [
456
- manifest.layout,
457
- manifest.error,
458
- ...manifest.components,
459
- ...manifest.endpoints
460
- ].forEach((item) => {
461
- server_input[`routes/${item.name}`] = `${UNOPTIMIZED}/server${item.url.replace(
462
- /\.\w+$/,
463
- '.js'
464
- )}`;
465
- });
466
-
467
- const server_chunks = await rollup.rollup({
468
- input: server_input,
469
- plugins: [
470
- {
471
- name: 'remove-css',
472
- load(id) {
473
- if (/\.css\.proxy\.js$/.test(id)) return '';
474
- }
475
- },
476
- // TODO add server manifest generation so we can prune
477
- // imports before zipping for cloud functions
478
- rollupPluginTerser.terser()
479
- ],
480
-
481
- onwarn,
482
-
483
- // TODO ensure this works with external node modules (on server)
484
- external: (id) => id[0] !== '.' && !path__default['default'].isAbsolute(id)
485
- });
486
-
487
- await server_chunks.write({
488
- dir: `${OPTIMIZED}/server`,
489
- format: 'cjs', // TODO some adapters might want ESM?
490
- exports: 'named',
491
- entryFileNames: '[name].js',
492
- chunkFileNames: 'chunks/[name].js',
493
- assetFileNames: 'assets/[name].js',
494
- sourcemap: true
495
- });
496
-
497
- progress.optimized_server = true;
498
- render();
499
- console.log();
500
- }
501
-
502
- async function rimraf(path) {
503
- return new Promise((resolve) => {
504
- (fs__default['default'].rm || fs__default['default'].rmdir)(path, { recursive: true, force: true }, () => resolve());
505
- });
506
- }
507
-
508
- exports.build = build;
509
- //# sourceMappingURL=index2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index2.js","sources":["../../../node_modules/.pnpm/kleur@4.1.3/node_modules/kleur/colors.mjs","../src/api/build/css_injection.js","../src/api/build/index.js"],"sourcesContent":["let FORCE_COLOR, NODE_DISABLE_COLORS, NO_COLOR, TERM, isTTY=true;\nif (typeof process !== 'undefined') {\n\t({ FORCE_COLOR, NODE_DISABLE_COLORS, NO_COLOR, TERM } = process.env);\n\tisTTY = process.stdout && process.stdout.isTTY;\n}\n\nexport const $ = {\n\tenabled: !NODE_DISABLE_COLORS && NO_COLOR == null && TERM !== 'dumb' && (\n\t\tFORCE_COLOR != null && FORCE_COLOR !== '0' || isTTY\n\t)\n}\n\nfunction init(x, y) {\n\tlet rgx = new RegExp(`\\\\x1b\\\\[${y}m`, 'g');\n\tlet open = `\\x1b[${x}m`, close = `\\x1b[${y}m`;\n\n\treturn function (txt) {\n\t\tif (!$.enabled || txt == null) return txt;\n\t\treturn open + ((''+txt).includes(close) ? txt.replace(rgx, close + open) : txt) + close;\n\t};\n}\n\n// modifiers\nexport const reset = init(0, 0);\nexport const bold = init(1, 22);\nexport const dim = init(2, 22);\nexport const italic = init(3, 23);\nexport const underline = init(4, 24);\nexport const inverse = init(7, 27);\nexport const hidden = init(8, 28);\nexport const strikethrough = init(9, 29);\n\n// colors\nexport const black = init(30, 39);\nexport const red = init(31, 39);\nexport const green = init(32, 39);\nexport const yellow = init(33, 39);\nexport const blue = init(34, 39);\nexport const magenta = init(35, 39);\nexport const cyan = init(36, 39);\nexport const white = init(37, 39);\nexport const gray = init(90, 39);\nexport const grey = init(90, 39);\n\n// background colors\nexport const bgBlack = init(40, 49);\nexport const bgRed = init(41, 49);\nexport const bgGreen = init(42, 49);\nexport const bgYellow = init(43, 49);\nexport const bgBlue = init(44, 49);\nexport const bgMagenta = init(45, 49);\nexport const bgCyan = init(46, 49);\nexport const bgWhite = init(47, 49);\n","\n\n\n\n\n\n\n\n\nconst inject_styles = `\nexport default function(files) {\n\treturn Promise.all(files.map(function(file) { return new Promise(function(fulfil, reject) {\n\t\tvar href = new URL(file, import.meta.url);\n\t\tvar baseURI = document.baseURI;\n\t\tif (!baseURI) {\n\t\t\tvar baseTags = document.getElementsByTagName('base');\n\t\t\tbaseURI = baseTags.length ? baseTags[0].href : document.URL;\n\t\t}\n\t\tvar relative = ('' + href).substring(baseURI.length);\n\t\tvar link = document.querySelector('link[rel=stylesheet][href=\"' + relative + '\"]')\n\t\t\t|| document.querySelector('link[rel=stylesheet][href=\"' + href + '\"]');\n\t\tif (!link) {\n\t\t\tlink = document.createElement('link');\n\t\t\tlink.rel = 'stylesheet';\n\t\t\tlink.href = href;\n\t\t\tdocument.head.appendChild(link);\n\t\t}\n\t\tif (link.sheet) {\n\t\t\tfulfil();\n\t\t} else {\n\t\t\tlink.onload = function() { return fulfil() };\n\t\t\tlink.onerror = reject;\n\t\t}\n\t})}));\n};`.trim();\n\nconst INJECT_STYLES_NAME = 'inject_styles';\nconst INJECT_STYLES_ID = 'inject_styles.js';\n\nconst find_css = (chunk, bundle) => {\n\tconst css_files = new Set();\n\tconst visited = new Set();\n\n\tconst recurse = (c) => {\n\t\tif (visited.has(c)) return;\n\t\tvisited.add(c);\n\n\t\tif (c.imports) {\n\t\t\tc.imports.forEach((file) => {\n\t\t\t\tif (file.endsWith('.css')) {\n\t\t\t\t\tcss_files.add(file);\n\t\t\t\t} else {\n\t\t\t\t\tconst imported_chunk = bundle[file];\n\t\t\t\t\tif (imported_chunk) {\n\t\t\t\t\t\trecurse(imported_chunk);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n\n\trecurse(chunk);\n\treturn Array.from(css_files);\n};\n\nexport const css_injection = {\n\tname: 'svelte-css-injection',\n\tbuildStart() {\n\t\tthis.emitFile({\n\t\t\ttype: 'chunk',\n\t\t\tid: INJECT_STYLES_ID,\n\t\t\tname: INJECT_STYLES_NAME,\n\t\t\tpreserveSignature: 'allow-extension'\n\t\t});\n\t},\n\tload(id) {\n\t\treturn id === INJECT_STYLES_ID ? inject_styles : null;\n\t},\n\tresolveId(importee) {\n\t\treturn importee === INJECT_STYLES_ID ? INJECT_STYLES_ID : null;\n\t},\n\trenderDynamicImport({ targetModuleId }) {\n\t\tif (targetModuleId) {\n\t\t\tconst t = Buffer.from(targetModuleId).toString('hex');\n\t\t\treturn {\n\t\t\t\tleft: 'Promise.all([import(',\n\t\t\t\tright: `), ___SVELTE_CSS_INJECTION___${t}___]).then(function(x) { return x[0]; })`\n\t\t\t};\n\t\t} else {\n\t\t\treturn {\n\t\t\t\tleft: 'import(',\n\t\t\t\tright: ')'\n\t\t\t};\n\t\t}\n\t},\n\tasync generateBundle(\n\t\t\n\t\t_options,\n\t\tbundle\n\t) {\n\t\tconst inject_styles_file = Object.keys(bundle).find((f) => f.startsWith('inject_styles'));\n\n\t\tlet has_css = false;\n\t\tfor (const name in bundle) {\n\t\t\tconst chunk = bundle[name];\n\n\t\t\tlet chunk_has_css = false;\n\n\t\t\tif (chunk.code) {\n\t\t\t\tchunk.code = chunk.code.replace(/___SVELTE_CSS_INJECTION___([0-9a-f]+)___/g, (_m, id) => {\n\t\t\t\t\tid = Buffer.from(id, 'hex').toString();\n\t\t\t\t\tconst target = (\n\t\t\t\t\t\tObject.values(bundle).find(\n\t\t\t\t\t\t\t(c) => (c).modules && (c).modules[id]\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\n\t\t\t\t\tif (target) {\n\t\t\t\t\t\tconst css_files = find_css(target, bundle);\n\t\t\t\t\t\tif (css_files.length > 0) {\n\t\t\t\t\t\t\tchunk_has_css = true;\n\t\t\t\t\t\t\treturn `__inject_styles(${JSON.stringify(css_files)})`;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn '';\n\t\t\t\t});\n\n\t\t\t\tif (chunk_has_css) {\n\t\t\t\t\thas_css = true;\n\t\t\t\t\tchunk.code += `\\nimport __inject_styles from './${inject_styles_file}';`;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (!has_css) {\n\t\t\tdelete bundle[inject_styles_file];\n\t\t}\n\n\t\t// console.log(bundle);\n\t}\n};\n","import fs from 'fs';\nimport path from 'path';\nimport child_process from 'child_process';\nimport { promisify } from 'util';\nimport { green, gray, bold, cyan } from 'kleur/colors';\nimport { mkdirp } from '@sveltejs/app-utils/files';\nimport create_manifest_data from '../../core/create_manifest_data';\nimport { rollup } from 'rollup';\nimport { terser } from 'rollup-plugin-terser';\nimport css_chunks from 'rollup-plugin-css-chunks';\nimport { copy_assets } from '../utils';\nimport { create_app } from '../../core/create_app';\nimport { css_injection } from './css_injection';\n\nconst exec = promisify(child_process.exec);\n\nconst snowpack_main = require.resolve('snowpack');\nconst snowpack_pkg_file = path.join(snowpack_main, '../../package.json');\nconst snowpack_pkg = require(snowpack_pkg_file); // eslint-disable-line\nconst snowpack_bin = path.resolve(path.dirname(snowpack_pkg_file), snowpack_pkg.bin.snowpack);\n\nconst ignorable_warnings = new Set(['EMPTY_BUNDLE', 'MISSING_EXPORT']);\nconst onwarn = (warning, handler) => {\n\t// TODO would be nice to just eliminate the circular dependencies instead of\n\t// squelching these warnings (it happens when e.g. the root layout imports\n\t// from $app/navigation)\n\tif (ignorable_warnings.has(warning.code)) return;\n\thandler(warning);\n};\n\nconst DIR = '.svelte';\nconst ASSETS = `${DIR}/assets`;\nconst UNOPTIMIZED = `${DIR}/build/unoptimized`;\nconst OPTIMIZED = `${DIR}/build/optimized`;\n\nconst s = JSON.stringify;\n\nexport async function build(config) {\n\tconst manifest = create_manifest_data(config.paths.routes);\n\n\tmkdirp(ASSETS);\n\tawait rimraf(UNOPTIMIZED);\n\tawait rimraf(OPTIMIZED);\n\n\tcreate_app({\n\t\tmanifest_data: manifest,\n\t\toutput: '.svelte/assets'\n\t});\n\n\tcopy_assets();\n\n\tconst progress = {\n\t\ttransformed_client: false,\n\t\ttransformed_server: false,\n\t\toptimized_client: false,\n\t\toptimized_server: false\n\t};\n\n\tprocess.stdout.write('\\x1b[s');\n\n\tconst tick = bold(green('✔'));\n\tconst render = () => process.stdout.write('\\x1b[u' + `\n\t${bold(cyan('Transforming...'))}\n\t ${progress.transformed_client ? `${tick} client` : gray('⧗ client')}\n\t ${progress.transformed_server ? `${tick} server` : gray('⧗ server')}\n\t${bold(cyan('Optimizing...'))}\n\t ${progress.optimized_client ? `${tick} client ` : gray('⧗ client')}\n\t ${progress.optimized_server ? `${tick} server ` : gray('⧗ server')}\n\t`.replace(/^\\t/gm, '').trimStart());\n\n\trender();\n\n\tconst mount = `--mount.${config.paths.routes}=/_app/routes --mount.${config.paths.setup}=/_app/setup`;\n\n\tconst promises = {\n\t\ttransform_client: exec(`node ${snowpack_bin} build ${mount} --out=${UNOPTIMIZED}/client`).then(() => {\n\t\t\tprogress.transformed_client = true;\n\t\t\trender();\n\t\t}),\n\t\ttransform_server: exec(`node ${snowpack_bin} build ${mount} --out=${UNOPTIMIZED}/server --ssr`).then(() => {\n\t\t\tprogress.transformed_server = true;\n\t\t\trender();\n\t\t})\n\t};\n\n\t// we await this promise because we can't start optimizing the server\n\t// until client optimization is complete\n\tawait promises.transform_client;\n\n\tconst client = {\n\t\tentry: null,\n\t\tdeps: {}\n\t};\n\n\tconst entry = path.resolve(`${UNOPTIMIZED}/client/_app/assets/runtime/internal/start.js`);\n\n\tconst client_chunks = await rollup({\n\t\tinput: {\n\t\t\tentry\n\t\t},\n\t\tplugins: [\n\t\t\t{\n\t\t\t\tname: 'deproxy-css',\n\t\t\t\tasync resolveId(importee, importer) {\n\t\t\t\t\tif (/\\.css\\.proxy\\.js$/.test(importee)) {\n\t\t\t\t\t\tconst deproxied = importee.replace(/\\.css\\.proxy\\.js$/, '.css');\n\t\t\t\t\t\tconst resolved = await this.resolve(deproxied, importer);\n\t\t\t\t\t\treturn resolved.id;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tcss_chunks({\n\t\t\t\tinjectImports: true,\n\t\t\t\tsourcemap: true\n\t\t\t}),\n\t\t\tcss_injection,\n\t\t\t{\n\t\t\t\tname: 'generate-client-manifest',\n\t\t\t\tgenerateBundle(_options, bundle) {\n\t\t\t\t\tconst reverse_lookup = new Map();\n\n\t\t\t\t\tconst routes = path.resolve(`${UNOPTIMIZED}/client/_app/routes`);\n\n\t\t\t\t\tlet inject_styles;\n\n\t\t\t\t\tfor (const key in bundle) {\n\t\t\t\t\t\tconst chunk = bundle[key];\n\n\t\t\t\t\t\tif (chunk.facadeModuleId === entry) {\n\t\t\t\t\t\t\tclient.entry = key;\n\t\t\t\t\t\t} else if (chunk.facadeModuleId === 'inject_styles.js') {\n\t\t\t\t\t\t\tinject_styles = key;\n\t\t\t\t\t\t} else if (chunk.modules) {\n\t\t\t\t\t\t\tfor (const id in chunk.modules) {\n\t\t\t\t\t\t\t\tif (id.startsWith(routes) && id.endsWith('.js')) {\n\t\t\t\t\t\t\t\t\tconst file = id.slice(routes.length + 1);\n\t\t\t\t\t\t\t\t\treverse_lookup.set(file, key);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tconst find_deps = (key, js, css) => {\n\t\t\t\t\t\tif (js.has(key)) return;\n\n\t\t\t\t\t\tjs.add(key);\n\n\t\t\t\t\t\tconst chunk = bundle[key];\n\n\t\t\t\t\t\tif (chunk) {\n\t\t\t\t\t\t\tconst imports = chunk.imports;\n\n\t\t\t\t\t\t\tif (imports) {\n\t\t\t\t\t\t\t\timports.forEach((key) => {\n\t\t\t\t\t\t\t\t\tif (key.endsWith('.css')) {\n\t\t\t\t\t\t\t\t\t\tjs.add(inject_styles);\n\t\t\t\t\t\t\t\t\t\tcss.add(key);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tfind_deps(key, js, css);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.error(`'${key}' is imported but could not be bundled`);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn { js, css };\n\t\t\t\t\t};\n\n\t\t\t\t\tconst get_deps = (key) => {\n\t\t\t\t\t\tconst js = new Set();\n\t\t\t\t\t\tconst css = new Set();\n\n\t\t\t\t\t\tfind_deps(key, js, css);\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tjs: Array.from(js),\n\t\t\t\t\t\t\tcss: Array.from(css)\n\t\t\t\t\t\t};\n\t\t\t\t\t};\n\n\t\t\t\t\tclient.deps.__entry__ = get_deps(client.entry);\n\n\t\t\t\t\tmanifest.components.forEach((component) => {\n\t\t\t\t\t\tconst file = path.normalize(component.file.replace(/\\.svelte$/, '.js'));\n\t\t\t\t\t\tconst key = reverse_lookup.get(file);\n\n\t\t\t\t\t\tclient.deps[component.name] = get_deps(key);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tterser()\n\t\t],\n\n\t\tonwarn,\n\n\t\t// TODO ensure this works with external node modules (on server)\n\t\texternal: (id) => id[0] !== '.' && !path.isAbsolute(id)\n\t});\n\n\tawait client_chunks.write({\n\t\tdir: `${OPTIMIZED}/client/_app`,\n\t\tentryFileNames: '[name]-[hash].js',\n\t\tchunkFileNames: '[name]-[hash].js',\n\t\tassetFileNames: '[name]-[hash].js', // TODO CSS filenames aren't hashed?\n\t\tformat: 'esm',\n\t\tsourcemap: true\n\t});\n\n\tprogress.optimized_client = true;\n\trender();\n\n\t// just in case the server is still transforming...\n\tawait promises.transform_server;\n\n\tconst setup_file = `${UNOPTIMIZED}/server/_app/setup/index.js`;\n\tif (!fs.existsSync(setup_file)) {\n\t\tmkdirp(path.dirname(setup_file));\n\t\tfs.writeFileSync(setup_file, '');\n\t}\n\n\t// TODO do we need component file names in build?\n\tconst stringify_component = (c) => `{ name: ${s(c.name)}, file: ${s(c.file)}, url: ${s(c.url)} }`;\n\n\tconst stringified_manifest = `\n\t\t{\n\t\t\tlayout: ${stringify_component(manifest.layout)},\n\t\t\terror: ${stringify_component(manifest.error)},\n\t\t\tcomponents: [\n\t\t\t\t${manifest.components.map(c => stringify_component(c)).join(',\\n\\t\\t\\t\\t')}\n\t\t\t],\n\t\t\tpages: [\n\t\t\t\t${manifest.pages\n\t\t\t\t\t.map(({ path, pattern, parts }) => {\n\t\t\t\t\t\treturn `{ path: ${s(path)}, pattern: ${pattern}, parts: ${s(parts)} }`;\n\t\t\t\t\t})\n\t\t\t\t\t.join(',\\n\\t\\t\\t\\t')}\n\t\t\t],\n\t\t\tendpoints: [\n\t\t\t\t${manifest.endpoints\n\t\t\t\t\t.map(({ name, pattern, file, params }) => {\n\t\t\t\t\t\treturn `{ name: ${s(name)}, pattern: ${pattern}, file: ${s(file)}, params: ${s(params)} }`;\n\t\t\t\t\t})\n\t\t\t\t\t.join(',\\n\\t\\t\\t\\t')}\n\t\t\t]\n\t\t}\n\t`.replace(/^\\t{2}/gm, '').trim();\n\n\tfs.writeFileSync('.svelte/build/manifest.js', `export default ${stringified_manifest};`);\n\tfs.writeFileSync('.svelte/build/manifest.cjs', `module.exports = ${stringified_manifest};`);\n\n\tfs.writeFileSync(`${UNOPTIMIZED}/server/app.js`, `\n\t\timport * as renderer from '@sveltejs/kit/assets/renderer';\n\t\timport root from './_app/assets/generated/root.js';\n\t\timport * as setup from './_app/setup/index.js';\n\t\timport manifest from '../../manifest.js';\n\n\t\tconst template = ({ head, body }) => ${s(fs.readFileSync(config.paths.template, 'utf-8'))\n\t\t\t.replace('%svelte.head%', '\" + head + \"')\n\t\t\t.replace('%svelte.body%', '\" + body + \"')};\n\n\t\tconst client = ${s(client)};\n\n\t\texport const paths = {\n\t\t\tstatic: ${s(config.paths.static)}\n\t\t};\n\n\t\texport function render(request, { only_prerender = false } = {}) {\n\t\t\treturn renderer.render(request, {\n\t\t\t\tstatic_dir: paths.static,\n\t\t\t\ttemplate,\n\t\t\t\tmanifest,\n\t\t\t\ttarget: ${s(config.target)},${config.startGlobal ? `\\n\\t\\t\\t\\t\\tstart_global: ${s(config.startGlobal)},` : ''}\n\t\t\t\tclient,\n\t\t\t\troot,\n\t\t\t\tsetup,\n\t\t\t\tload: (route) => require(\\`./routes/\\${route.name}.js\\`),\n\t\t\t\tdev: false,\n\t\t\t\tonly_prerender\n\t\t\t});\n\t\t}\n\t`.replace(/^\\t{3}/gm, '').trim());\n\n\tconst server_input = {\n\t\tapp: `${UNOPTIMIZED}/server/app.js`\n\t};\n\n\t[\n\t\tmanifest.layout,\n\t\tmanifest.error,\n\t\t...manifest.components,\n\t\t...manifest.endpoints\n\t].forEach((item) => {\n\t\tserver_input[`routes/${item.name}`] = `${UNOPTIMIZED}/server${item.url.replace(\n\t\t\t/\\.\\w+$/,\n\t\t\t'.js'\n\t\t)}`;\n\t});\n\n\tconst server_chunks = await rollup({\n\t\tinput: server_input,\n\t\tplugins: [\n\t\t\t{\n\t\t\t\tname: 'remove-css',\n\t\t\t\tload(id) {\n\t\t\t\t\tif (/\\.css\\.proxy\\.js$/.test(id)) return '';\n\t\t\t\t}\n\t\t\t},\n\t\t\t// TODO add server manifest generation so we can prune\n\t\t\t// imports before zipping for cloud functions\n\t\t\tterser()\n\t\t],\n\n\t\tonwarn,\n\n\t\t// TODO ensure this works with external node modules (on server)\n\t\texternal: (id) => id[0] !== '.' && !path.isAbsolute(id)\n\t});\n\n\tawait server_chunks.write({\n\t\tdir: `${OPTIMIZED}/server`,\n\t\tformat: 'cjs', // TODO some adapters might want ESM?\n\t\texports: 'named',\n\t\tentryFileNames: '[name].js',\n\t\tchunkFileNames: 'chunks/[name].js',\n\t\tassetFileNames: 'assets/[name].js',\n\t\tsourcemap: true\n\t});\n\n\tprogress.optimized_server = true;\n\trender();\n\tconsole.log();\n}\n\nasync function rimraf(path) {\n\treturn new Promise((resolve) => {\n\t\t(fs.rm || fs.rmdir)(path, { recursive: true, force: true }, () => resolve());\n\t});\n}\n"],"names":["promisify","child_process","path","create_manifest_data","mkdirp","create_app","copy_assets","rollup","css_chunks","terser","fs"],"mappings":"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"}
package/dist/index3.js DELETED
@@ -1,62 +0,0 @@
1
- 'use strict';
2
-
3
- var _package = require('./package.js');
4
- require('path');
5
- require('module');
6
- var fs = require('fs');
7
- var Url = require('url');
8
- var index = require('./index4.js');
9
- var http = require('http');
10
-
11
- const mutable = (dir) =>
12
- index.sirv(dir, {
13
- etag: true,
14
- maxAge: 0
15
- });
16
-
17
- function start({ port }) {
18
- return new Promise((fulfil) => {
19
- const app = _package.requireRelative_1('./.svelte/build/optimized/server/app.js');
20
-
21
- const static_handler = fs.existsSync(app.paths.static)
22
- ? mutable(app.paths.static)
23
- : (_req, _res, next) => next();
24
-
25
- const assets_handler = index.sirv('.svelte/build/optimized/client', {
26
- maxAge: 31536000,
27
- immutable: true
28
- });
29
-
30
- const server = http.createServer((req, res) => {
31
- const parsed = Url.parse(req.url || '');
32
-
33
- assets_handler(req, res, () => {
34
- static_handler(req, res, async () => {
35
- const rendered = await app.render({
36
- host: null, // TODO
37
- method: req.method,
38
- headers: req.headers, // TODO: what about repeated headers, i.e. string[]
39
- path: parsed.pathname,
40
- body: await index.get_body(req),
41
- query: new Url.URLSearchParams(parsed.query || '')
42
- });
43
-
44
- if (rendered) {
45
- res.writeHead(rendered.status, rendered.headers);
46
- res.end(rendered.body);
47
- } else {
48
- res.statusCode = 404;
49
- res.end('Not found');
50
- }
51
- });
52
- });
53
- });
54
-
55
- server.listen(port, () => {
56
- fulfil(server);
57
- });
58
- });
59
- }
60
-
61
- exports.start = start;
62
- //# sourceMappingURL=index3.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index3.js","sources":["../src/api/start/index.js"],"sourcesContent":["import * as fs from 'fs';\nimport * as http from 'http';\nimport relative from 'require-relative';\nimport { parse, URLSearchParams } from 'url';\nimport sirv from 'sirv';\nimport { get_body } from '@sveltejs/app-utils/http';\n\nconst mutable = (dir) =>\n\tsirv(dir, {\n\t\tetag: true,\n\t\tmaxAge: 0\n\t});\n\nexport function start({ port }) {\n\treturn new Promise((fulfil) => {\n\t\tconst app = relative('./.svelte/build/optimized/server/app.js');\n\n\t\tconst static_handler = fs.existsSync(app.paths.static)\n\t\t\t? mutable(app.paths.static)\n\t\t\t: (_req, _res, next) => next();\n\n\t\tconst assets_handler = sirv('.svelte/build/optimized/client', {\n\t\t\tmaxAge: 31536000,\n\t\t\timmutable: true\n\t\t});\n\n\t\tconst server = http.createServer((req, res) => {\n\t\t\tconst parsed = parse(req.url || '');\n\n\t\t\tassets_handler(req, res, () => {\n\t\t\t\tstatic_handler(req, res, async () => {\n\t\t\t\t\tconst rendered = await app.render({\n\t\t\t\t\t\thost: null, // TODO\n\t\t\t\t\t\tmethod: req.method,\n\t\t\t\t\t\theaders: req.headers, // TODO: what about repeated headers, i.e. string[]\n\t\t\t\t\t\tpath: parsed.pathname,\n\t\t\t\t\t\tbody: await get_body(req),\n\t\t\t\t\t\tquery: new URLSearchParams(parsed.query || '')\n\t\t\t\t\t});\n\n\t\t\t\t\tif (rendered) {\n\t\t\t\t\t\tres.writeHead(rendered.status, rendered.headers);\n\t\t\t\t\t\tres.end(rendered.body);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tres.statusCode = 404;\n\t\t\t\t\t\tres.end('Not found');\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\n\t\tserver.listen(port, () => {\n\t\t\tfulfil(server);\n\t\t});\n\t});\n}\n"],"names":["sirv","relative","fs.existsSync","http.createServer","parse","get_body","URLSearchParams"],"mappings":";;;;;;;;;;AAOA,MAAM,OAAO,GAAG,CAAC,GAAG;AACpB,CAACA,UAAI,CAAC,GAAG,EAAE;AACX,EAAE,IAAI,EAAE,IAAI;AACZ,EAAE,MAAM,EAAE,CAAC;AACX,EAAE,CAAC,CAAC;AACJ;AACO,SAAS,KAAK,CAAC,EAAE,IAAI,EAAE,EAAE;AAChC,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK;AAChC,EAAE,MAAM,GAAG,GAAGC,0BAAQ,CAAC,yCAAyC,CAAC,CAAC;AAClE;AACA,EAAE,MAAM,cAAc,GAAGC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;AACxD,KAAK,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;AAC9B,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,EAAE,CAAC;AAClC;AACA,EAAE,MAAM,cAAc,GAAGF,UAAI,CAAC,gCAAgC,EAAE;AAChE,GAAG,MAAM,EAAE,QAAQ;AACnB,GAAG,SAAS,EAAE,IAAI;AAClB,GAAG,CAAC,CAAC;AACL;AACA,EAAE,MAAM,MAAM,GAAGG,iBAAiB,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK;AACjD,GAAG,MAAM,MAAM,GAAGC,SAAK,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;AACvC;AACA,GAAG,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM;AAClC,IAAI,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,YAAY;AACzC,KAAK,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC;AACvC,MAAM,IAAI,EAAE,IAAI;AAChB,MAAM,MAAM,EAAE,GAAG,CAAC,MAAM;AACxB,MAAM,OAAO,EAAE,GAAG,CAAC,OAAO;AAC1B,MAAM,IAAI,EAAE,MAAM,CAAC,QAAQ;AAC3B,MAAM,IAAI,EAAE,MAAMC,cAAQ,CAAC,GAAG,CAAC;AAC/B,MAAM,KAAK,EAAE,IAAIC,mBAAe,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;AACpD,MAAM,CAAC,CAAC;AACR;AACA,KAAK,IAAI,QAAQ,EAAE;AACnB,MAAM,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;AACvD,MAAM,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC7B,MAAM,MAAM;AACZ,MAAM,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;AAC3B,MAAM,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC3B,MAAM;AACN,KAAK,CAAC,CAAC;AACP,IAAI,CAAC,CAAC;AACN,GAAG,CAAC,CAAC;AACL;AACA,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM;AAC5B,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAClB,GAAG,CAAC,CAAC;AACL,EAAE,CAAC,CAAC;AACJ;;;;"}