@analogjs/vite-plugin-nitro 0.2.0-beta.21 → 0.2.0-beta.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/index.d.ts +1 -1
- package/src/lib/build-sitemap.d.ts +7 -0
- package/src/lib/build-sitemap.js +64 -0
- package/src/lib/build-sitemap.js.map +1 -0
- package/src/lib/options.d.ts +4 -0
- package/src/lib/vite-nitro-plugin.spec.data.d.ts +1 -0
- package/src/lib/vite-nitro-plugin.spec.data.js +4 -1
- package/src/lib/vite-nitro-plugin.spec.data.js.map +1 -1
- package/src/lib/vite-plugin-nitro.js +7 -0
- package/src/lib/vite-plugin-nitro.js.map +1 -1
package/package.json
CHANGED
package/src/index.d.ts
CHANGED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { UserConfig } from 'vite';
|
|
2
|
+
import { SitemapConfig } from './options';
|
|
3
|
+
export type PagesJson = {
|
|
4
|
+
page: string;
|
|
5
|
+
lastMod: string;
|
|
6
|
+
};
|
|
7
|
+
export declare function buildSitemap(config: UserConfig, sitemapConfig: SitemapConfig, routes: string[] | (() => Promise<(string | undefined)[]>)): Promise<void>;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildSitemap = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const fs = require("fs");
|
|
6
|
+
const xmlbuilder2_1 = require("xmlbuilder2");
|
|
7
|
+
const path = require("path");
|
|
8
|
+
function buildSitemap(config, sitemapConfig, routes) {
|
|
9
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
10
|
+
const routeList = yield optionHasRoutes(routes);
|
|
11
|
+
if (routeList.length) {
|
|
12
|
+
const slash = checkSlash(sitemapConfig.host);
|
|
13
|
+
const sitemapData = routeList.map((page) => ({
|
|
14
|
+
page: `${sitemapConfig.host}${slash}${page.replace(/^\/+/g, '')}`,
|
|
15
|
+
lastMod: new Date().toISOString().split('T')[0],
|
|
16
|
+
}));
|
|
17
|
+
const sitemap = createXml('urlset');
|
|
18
|
+
for (const item of sitemapData) {
|
|
19
|
+
const page = sitemap.ele('url');
|
|
20
|
+
page.ele('loc').txt(item.page);
|
|
21
|
+
page.ele('lastmod').txt(item.lastMod);
|
|
22
|
+
}
|
|
23
|
+
const mapPath = `${path.resolve('dist', config.root || '.', 'analog/public')}/sitemap.xml`;
|
|
24
|
+
try {
|
|
25
|
+
console.log(`Writing sitemap at ${mapPath}`);
|
|
26
|
+
fs.writeFileSync(mapPath, sitemap.end({ prettyPrint: true }));
|
|
27
|
+
}
|
|
28
|
+
catch (e) {
|
|
29
|
+
console.error(`Unable to write file at ${mapPath}`, e);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
exports.buildSitemap = buildSitemap;
|
|
35
|
+
function createXml(elementName) {
|
|
36
|
+
return (0, xmlbuilder2_1.create)({ version: '1.0', encoding: 'UTF-8' })
|
|
37
|
+
.ele(elementName, {
|
|
38
|
+
xmlns: 'https://www.sitemaps.org/schemas/sitemap/0.9',
|
|
39
|
+
})
|
|
40
|
+
.com(`This file was automatically generated by Analog.`);
|
|
41
|
+
}
|
|
42
|
+
function checkSlash(host) {
|
|
43
|
+
const finalChar = host.slice(-1);
|
|
44
|
+
return finalChar === '/' ? '' : '/';
|
|
45
|
+
}
|
|
46
|
+
function optionHasRoutes(routes) {
|
|
47
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
48
|
+
let routeList;
|
|
49
|
+
if (typeof routes === 'function') {
|
|
50
|
+
// returns an array or undefined
|
|
51
|
+
routeList = yield routes();
|
|
52
|
+
}
|
|
53
|
+
else if (Array.isArray(routes)) {
|
|
54
|
+
// returns an array of strings
|
|
55
|
+
routeList = routes;
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
// default it to an empty of array
|
|
59
|
+
routeList = [];
|
|
60
|
+
}
|
|
61
|
+
return routeList;
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=build-sitemap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-sitemap.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-nitro/src/lib/build-sitemap.ts"],"names":[],"mappings":";;;;AAAA,yBAAyB;AAEzB,6CAAqC;AAErC,6BAA6B;AAQ7B,SAAsB,YAAY,CAChC,MAAkB,EAClB,aAA4B,EAC5B,MAA0D;;QAE1D,MAAM,SAAS,GAAa,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;QAE1D,IAAI,SAAS,CAAC,MAAM,EAAE;YACpB,MAAM,KAAK,GAAG,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,WAAW,GAAgB,SAAS,CAAC,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC;gBAChE,IAAI,EAAE,GAAG,aAAa,CAAC,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE;gBACjE,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aAChD,CAAC,CAAC,CAAC;YAEJ,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;YAEpC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE;gBAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAChC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/B,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACvC;YAED,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,OAAO,CAC7B,MAAM,EACN,MAAM,CAAC,IAAI,IAAI,GAAG,EAClB,eAAe,CAChB,cAAc,CAAC;YAChB,IAAI;gBACF,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,EAAE,CAAC,CAAC;gBAC7C,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;aAC/D;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,2BAA2B,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;aACxD;SACF;IACH,CAAC;CAAA;AAlCD,oCAkCC;AAED,SAAS,SAAS,CAAC,WAAsC;IACvD,OAAO,IAAA,oBAAM,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;SACjD,GAAG,CAAC,WAAW,EAAE;QAChB,KAAK,EAAE,8CAA8C;KACtD,CAAC;SACD,GAAG,CAAC,kDAAkD,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,OAAO,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;AACtC,CAAC;AAED,SAAe,eAAe,CAC5B,MAA0D;;QAE1D,IAAI,SAAiC,CAAC;QAEtC,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;YAChC,gCAAgC;YAChC,SAAS,GAAG,MAAM,MAAM,EAAE,CAAC;SAC5B;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAChC,8BAA8B;YAC9B,SAAS,GAAG,MAAM,CAAC;SACpB;aAAM;YACL,kCAAkC;YAClC,SAAS,GAAG,EAAE,CAAC;SAChB;QAED,OAAO,SAAqB,CAAC;IAC/B,CAAC;CAAA"}
|
package/src/lib/options.d.ts
CHANGED
|
@@ -17,4 +17,8 @@ export interface PrerenderOptions {
|
|
|
17
17
|
* List of routes to prerender resolved statically or dynamically.
|
|
18
18
|
*/
|
|
19
19
|
routes?: string[] | (() => Promise<(string | undefined)[]>);
|
|
20
|
+
sitemap?: SitemapConfig;
|
|
21
|
+
}
|
|
22
|
+
export interface SitemapConfig {
|
|
23
|
+
host: string;
|
|
20
24
|
}
|
|
@@ -45,7 +45,10 @@ function mockBuildFunctions() {
|
|
|
45
45
|
const buildSSRAppImport = yield Promise.resolve().then(() => require('./build-ssr'));
|
|
46
46
|
const buildSSRAppImportSpy = vitest_1.vi.fn();
|
|
47
47
|
buildSSRAppImport.buildSSRApp = buildSSRAppImportSpy;
|
|
48
|
-
|
|
48
|
+
const buildSitemapImport = yield Promise.resolve().then(() => require('./build-sitemap'));
|
|
49
|
+
const buildSitemapImportSpy = vitest_1.vi.fn();
|
|
50
|
+
buildSitemapImport.buildSitemap = buildSitemapImportSpy;
|
|
51
|
+
return [buildSSRAppImportSpy, buildServerImportSpy, buildSitemapImportSpy];
|
|
49
52
|
});
|
|
50
53
|
}
|
|
51
54
|
exports.mockBuildFunctions = mockBuildFunctions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-nitro-plugin.spec.data.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-nitro/src/lib/vite-nitro-plugin.spec.data.ts"],"names":[],"mappings":";;;;AAEA,mCAAkC;AAClC,6BAA6B;AAEhB,QAAA,iBAAiB,GAAG;IAC/B,WAAW,EAAE;QACX,gEAAgE;QAChE,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC;KACd;CACF,CAAC;AAEW,QAAA,eAAe,GAAgB;IAC1C,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;IACvC,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE;QACN,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;QAChC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC;KAC9C;IACD,OAAO,EAAE,GAAG;IACZ,aAAa,EAAE,EAAE;IACjB,QAAQ,EAAE,CAAC,YAAY,CAAC;IACxB,MAAM,EAAE,YAAY;IACpB,SAAS,EAAE;QACT,UAAU,EAAE,SAAS;KACtB;IACD,UAAU,EAAE;QACV,gBAAgB,EAAE,KAAK;KACxB;IACD,YAAY,EAAE;QACZ,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,iDAAiD;gBACvD,SAAS,KAAI,CAAC;aACf;SACF;KACF;CACF,CAAC;AAEF,SAAsB,kBAAkB;;QAItC,MAAM,iBAAiB,GAAG,2CAAa,gBAAgB,EAAC,CAAC;QACzD,MAAM,oBAAoB,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC;QACrC,iBAAiB,CAAC,WAAW,GAAG,oBAAoB,CAAC;QAErD,MAAM,iBAAiB,GAAG,2CAAa,aAAa,EAAC,CAAC;QACtD,MAAM,oBAAoB,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC;QACrC,iBAAiB,CAAC,WAAW,GAAG,oBAAoB,CAAC;QAErD,OAAO,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"vite-nitro-plugin.spec.data.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-nitro/src/lib/vite-nitro-plugin.spec.data.ts"],"names":[],"mappings":";;;;AAEA,mCAAkC;AAClC,6BAA6B;AAEhB,QAAA,iBAAiB,GAAG;IAC/B,WAAW,EAAE;QACX,gEAAgE;QAChE,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC;KACd;CACF,CAAC;AAEW,QAAA,eAAe,GAAgB;IAC1C,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;IACvC,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE;QACN,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;QAChC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC;KAC9C;IACD,OAAO,EAAE,GAAG;IACZ,aAAa,EAAE,EAAE;IACjB,QAAQ,EAAE,CAAC,YAAY,CAAC;IACxB,MAAM,EAAE,YAAY;IACpB,SAAS,EAAE;QACT,UAAU,EAAE,SAAS;KACtB;IACD,UAAU,EAAE;QACV,gBAAgB,EAAE,KAAK;KACxB;IACD,YAAY,EAAE;QACZ,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,iDAAiD;gBACvD,SAAS,KAAI,CAAC;aACf;SACF;KACF;CACF,CAAC;AAEF,SAAsB,kBAAkB;;QAItC,MAAM,iBAAiB,GAAG,2CAAa,gBAAgB,EAAC,CAAC;QACzD,MAAM,oBAAoB,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC;QACrC,iBAAiB,CAAC,WAAW,GAAG,oBAAoB,CAAC;QAErD,MAAM,iBAAiB,GAAG,2CAAa,aAAa,EAAC,CAAC;QACtD,MAAM,oBAAoB,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC;QACrC,iBAAiB,CAAC,WAAW,GAAG,oBAAoB,CAAC;QAErD,MAAM,kBAAkB,GAAG,2CAAa,iBAAiB,EAAC,CAAC;QAC3D,MAAM,qBAAqB,GAAG,WAAE,CAAC,EAAE,EAAE,CAAC;QACtC,kBAAkB,CAAC,YAAY,GAAG,qBAAqB,CAAC;QAExD,OAAO,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,CAAC,CAAC;IAC7E,CAAC;CAAA;AAjBD,gDAiBC;AAED,SAAsB,uBAAuB,CAAC,MAAc;;QAC1D,MACE,MAAM,CAAC,MACR,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAe,CAAC,CAAC;QACzC,MAAO,MAAM,CAAC,WAAmC,EAAE,CAAC;IACtD,CAAC;CAAA;AALD,0DAKC"}
|
|
@@ -10,6 +10,7 @@ const vite_1 = require("vite");
|
|
|
10
10
|
const path = require("path");
|
|
11
11
|
const page_endpoints_1 = require("./plugins/page-endpoints");
|
|
12
12
|
const get_page_handlers_1 = require("./utils/get-page-handlers");
|
|
13
|
+
const build_sitemap_1 = require("./build-sitemap");
|
|
13
14
|
let clientOutputPath = '';
|
|
14
15
|
function nitro(options, nitroOptions) {
|
|
15
16
|
var _a, _b;
|
|
@@ -115,6 +116,7 @@ function nitro(options, nitroOptions) {
|
|
|
115
116
|
});
|
|
116
117
|
},
|
|
117
118
|
closeBundle() {
|
|
119
|
+
var _a;
|
|
118
120
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
119
121
|
if (ssrBuild) {
|
|
120
122
|
return;
|
|
@@ -126,6 +128,11 @@ function nitro(options, nitroOptions) {
|
|
|
126
128
|
}
|
|
127
129
|
console.log('Building Server...');
|
|
128
130
|
yield (0, build_server_1.buildServer)(options, nitroConfig);
|
|
131
|
+
if ((_a = options === null || options === void 0 ? void 0 : options.prerender) === null || _a === void 0 ? void 0 : _a.sitemap) {
|
|
132
|
+
console.log('Building Sitemap...');
|
|
133
|
+
// sitemap needs to be built after all directories are built
|
|
134
|
+
yield (0, build_sitemap_1.buildSitemap)(config, options.prerender.sitemap, options.prerender.routes);
|
|
135
|
+
}
|
|
129
136
|
console.log(`\n\nThe '@analogjs/platform' server has been successfully built.`);
|
|
130
137
|
}
|
|
131
138
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-plugin-nitro.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-nitro/src/lib/vite-plugin-nitro.ts"],"names":[],"mappings":";;;;AAAA,+EAAiF;AAEjF,2BAAoC;AAEpC,iDAA6C;AAC7C,2CAA0C;AAC1C,+BAAqC;AACrC,6BAA6B;AAG7B,6DAA+D;AAC/D,iEAA4D;
|
|
1
|
+
{"version":3,"file":"vite-plugin-nitro.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-nitro/src/lib/vite-plugin-nitro.ts"],"names":[],"mappings":";;;;AAAA,+EAAiF;AAEjF,2BAAoC;AAEpC,iDAA6C;AAC7C,2CAA0C;AAC1C,+BAAqC;AACrC,6BAA6B;AAG7B,6DAA+D;AAC/D,iEAA4D;AAC5D,mDAA+C;AAE/C,IAAI,gBAAgB,GAAG,EAAE,CAAC;AAE1B,SAAgB,KAAK,CAAC,OAAiB,EAAE,YAA0B;;IACjE,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACpC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7E,MAAM,SAAS,GAAG,IAAI,MAAA,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,aAAa,0CAAG,WAAW,CAAC,mCAAI,KAAK,EAAE,CAAC;IAE5E,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,MAAkB,CAAC;IACvB,IAAI,WAAwB,CAAC;IAE7B,OAAO;QACL,IAAI,EAAE,6BAA6B;QAC7B,MAAM,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE;;;gBAC/B,OAAO,GAAG,OAAO,KAAK,OAAO,CAAC;gBAC9B,OAAO,GAAG,OAAO,KAAK,OAAO,CAAC;gBAC9B,QAAQ,GAAG,CAAA,MAAA,OAAO,CAAC,KAAK,0CAAE,GAAG,MAAK,IAAI,CAAC;gBACvC,MAAM,GAAG,OAAO,CAAC;gBACjB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC;gBAEnC,IAAI,YAAY,GAAG,IAAA,mCAAe,EAAC,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC;gBAE/D,WAAW,GAAG;oBACZ,OAAO;oBACP,QAAQ,EAAE,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,KAAI,CAAC;oBACrC,MAAM,EAAE,IAAA,oBAAa,EAAC,GAAG,OAAO,aAAa,CAAC;oBAC9C,QAAQ,EAAE,CAAC,IAAA,oBAAa,EAAC,GAAG,OAAO,aAAa,CAAC,CAAC;oBAClD,MAAM,kBACJ,GAAG,EAAE,IAAA,oBAAa,EAChB,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CACvD,EACD,SAAS,EAAE,IAAA,oBAAa,EACtB,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,CAAC,CAC9D,IACE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,CACxB;oBACD,QAAQ,EAAE,IAAA,oBAAa,EACrB,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CACvD;oBACD,UAAU,EAAE;wBACV,gBAAgB,EAAE,KAAK;qBACxB;oBACD,aAAa,oBAAO,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,aAAa,CAAE;oBACjD,YAAY,EAAE;wBACZ,MAAM,CAAC,OAAO;4BACZ,IACE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;gCACvC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EACnC;gCACA,OAAO;6BACR;wBACH,CAAC;wBACD,OAAO,EAAE,CAAC,IAAA,oCAAmB,GAAE,CAAC;qBACjC;oBACD,QAAQ,EAAE;wBACR;4BACE,OAAO,EAAE,IAAA,oBAAa,EAAC,GAAG,SAAS,yBAAyB,CAAC;4BAC7D,UAAU,EAAE,IAAI;yBACjB;wBACD,GAAG,YAAY;qBAChB;iBACF,CAAC;gBAEF,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,EAAE;oBACxB,wDAAwD;oBACxD,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAA,MAAM,CAAC,KAAK,0CAAE,MAAO,CAAC,CAAC;iBACjE;gBAED,IAAI,OAAO,EAAE;oBACX,IAAI,sBAAsB,CAAC,OAAO,CAAC,EAAE;wBACnC,WAAW,CAAC,SAAS,GAAG,EAAE,CAAC;wBAC3B,WAAW,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;qBACtC;oBAED,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,EAAE;wBACtB,WAAW,CAAC,SAAS,GAAG,MAAA,WAAW,CAAC,SAAS,mCAAI,EAAE,CAAC;wBACpD,WAAW,CAAC,SAAS,CAAC,UAAU,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,0CAAE,QAAQ,CAAC;wBAEhE,MAAM,eAAe,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,0CAAE,MAAM,CAAC;wBACnD,IAAI,mBAAmB,CAAS,eAAe,CAAC,EAAE;4BAChD,WAAW,CAAC,SAAS,CAAC,MAAM,GAAG,eAAe,CAAC;yBAChD;6BAAM,IAAI,OAAO,eAAe,KAAK,UAAU,EAAE;4BAChD,WAAW,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;yBACxD;qBACF;oBAED,IAAI,QAAQ,EAAE;wBACZ,WAAW,mCACN,WAAW,KACd,YAAY,EAAE,CAAC,EAAE,GAAG,EAAE,gBAAgB,EAAE,CAAC,EACzC,YAAY,EAAE;gCACZ;oCACE,QAAQ,EAAE,QAAQ;oCAClB,GAAG,EAAE,gBAAgB;iCACtB;6BACF,EACD,SAAS,EAAE;gCACT,MAAM,EAAE,CAAC,cAAc,CAAC;gCACxB,QAAQ,EAAE,CAAC,MAAM,EAAE,iCAAiC,EAAE,OAAO,CAAC;6BAC/D,EACD,iBAAiB,EAAE,CAAC,kCAAkC,CAAC,EACvD,QAAQ,EAAE,IAAA,oBAAa,EAAC,GAAG,SAAS,mBAAmB,CAAC,EACxD,QAAQ,EAAE;gCACR;oCACE,OAAO,EAAE,IAAA,oBAAa,EAAC,GAAG,SAAS,yBAAyB,CAAC;oCAC7D,UAAU,EAAE,IAAI;iCACjB;gCACD,GAAG,YAAY;6BAChB,GACF,CAAC;qBACH;iBACF;gBACD,WAAW,mCACN,WAAW,GACX,YAAY,CAChB,CAAC;;SACH;QACK,eAAe,CAAC,UAAyB;;gBAC7C,IAAI,OAAO,IAAI,CAAC,MAAM,EAAE;oBACtB,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,GACpD,MAAM,IAAA,wBAAa,EAA6B,WAAW,CAAC,CAAC;oBAE/D,MAAM,KAAK,GAAG,MAAM,WAAW,iBAC7B,GAAG,EAAE,IAAI,IACN,WAAW,EACd,CAAC;oBACH,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;oBACtC,MAAM,OAAO,CAAC,KAAK,CAAC,CAAC;oBACrB,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;oBACnB,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,IAAA,mBAAc,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;oBAClE,OAAO,CAAC,GAAG,CACT,sGAAsG,SAAS,SAAS,CACzH,CAAC;iBACH;YACH,CAAC;SAAA;QAEK,WAAW;;;gBACf,IAAI,QAAQ,EAAE;oBACZ,OAAO;iBACR;gBAED,IAAI,OAAO,EAAE;oBACX,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,EAAE;wBAChB,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;wBAC3C,MAAM,IAAA,uBAAW,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;qBACpC;oBAED,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;oBAClC,MAAM,IAAA,0BAAW,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC;oBAExC,IAAI,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,0CAAE,OAAO,EAAE;wBAC/B,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;wBACnC,4DAA4D;wBAC5D,MAAM,IAAA,4BAAY,EAChB,MAAM,EACN,OAAO,CAAC,SAAS,CAAC,OAAO,EACzB,OAAO,CAAC,SAAS,CAAC,MAAO,CAC1B,CAAC;qBACH;oBAED,OAAO,CAAC,GAAG,CACT,kEAAkE,CACnE,CAAC;iBACH;;SACF;KACF,CAAC;AACJ,CAAC;AAtKD,sBAsKC;AAED,SAAS,sBAAsB,CAAC,OAAiB;;IAC/C,IAAI,CAAC,OAAO,IAAI,mBAAmB,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,0CAAE,MAAM,CAAC,EAAE;QAC/D,OAAO,KAAK,CAAC;KACd;IACD,OAAO,CAAC,CAAA,MAAA,OAAO,CAAC,SAAS,0CAAE,MAAM,CAAA,CAAC;AACpC,CAAC;AAED,SAAS,mBAAmB,CAAI,GAAY;IAC1C,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;AAC9C,CAAC"}
|