@analogjs/content 1.9.2-beta.2 → 1.9.2-beta.4

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 (40) hide show
  1. package/fesm2022/analogjs-content-og.mjs.map +1 -1
  2. package/fesm2022/analogjs-content-prism-highlighter.mjs +3 -3
  3. package/fesm2022/analogjs-content-prism-highlighter.mjs.map +1 -1
  4. package/fesm2022/analogjs-content-shiki-highlighter.mjs.map +1 -1
  5. package/fesm2022/analogjs-content.mjs +24 -24
  6. package/fesm2022/analogjs-content.mjs.map +1 -1
  7. package/og/lib/og.d.ts +0 -1
  8. package/package.json +5 -13
  9. package/plugin/package.json +2 -1
  10. package/plugin/src/migrations/update-markdown-renderer-feature/update-markdown-renderer-feature.js +1 -1
  11. package/plugin/src/migrations/update-markdown-renderer-feature/update-markdown-renderer-feature.js.map +1 -1
  12. package/esm2022/analogjs-content.mjs +0 -5
  13. package/esm2022/index.mjs +0 -12
  14. package/esm2022/lib/anchor-navigation.directive.mjs +0 -46
  15. package/esm2022/lib/content-file.mjs +0 -2
  16. package/esm2022/lib/content-files-list-token.mjs +0 -22
  17. package/esm2022/lib/content-files-token.mjs +0 -32
  18. package/esm2022/lib/content-renderer.mjs +0 -53
  19. package/esm2022/lib/content.mjs +0 -85
  20. package/esm2022/lib/get-content-files.mjs +0 -25
  21. package/esm2022/lib/inject-content-files.mjs +0 -15
  22. package/esm2022/lib/markdown-content-renderer.service.mjs +0 -24
  23. package/esm2022/lib/markdown-route.component.mjs +0 -37
  24. package/esm2022/lib/markdown.component.mjs +0 -100
  25. package/esm2022/lib/marked-content-highlighter.mjs +0 -13
  26. package/esm2022/lib/marked-setup.service.mjs +0 -53
  27. package/esm2022/lib/parse-raw-content-file.mjs +0 -6
  28. package/esm2022/lib/provide-content.mjs +0 -30
  29. package/esm2022/lib/render-task.service.mjs +0 -17
  30. package/esm2022/lib/utils/zone-wait-for.mjs +0 -15
  31. package/esm2022/og/analogjs-content-og.mjs +0 -5
  32. package/esm2022/og/index.mjs +0 -2
  33. package/esm2022/og/lib/og.mjs +0 -41
  34. package/esm2022/og/lib/options.mjs +0 -2
  35. package/esm2022/prism-highlighter/analogjs-content-prism-highlighter.mjs +0 -5
  36. package/esm2022/prism-highlighter/index.mjs +0 -11
  37. package/esm2022/prism-highlighter/lib/prism/angular.mjs +0 -20
  38. package/esm2022/prism-highlighter/lib/prism-highlighter.mjs +0 -51
  39. package/esm2022/shiki-highlighter/analogjs-content-shiki-highlighter.mjs +0 -5
  40. package/esm2022/shiki-highlighter/index.mjs +0 -10
@@ -1,15 +0,0 @@
1
- import { firstValueFrom, isObservable } from 'rxjs';
2
- export async function waitFor(prom) {
3
- if (isObservable(prom)) {
4
- prom = firstValueFrom(prom);
5
- }
6
- if (typeof Zone === 'undefined') {
7
- return prom;
8
- }
9
- const macroTask = Zone.current.scheduleMacroTask(`AnalogContentResolve-${Math.random()}`, () => { }, {}, () => { });
10
- return prom.then((p) => {
11
- macroTask.invoke();
12
- return p;
13
- });
14
- }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZS13YWl0LWZvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRlbnQvc3JjL2xpYi91dGlscy96b25lLXdhaXQtZm9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBSWhFLE1BQU0sQ0FBQyxLQUFLLFVBQVUsT0FBTyxDQUFJLElBQWdDO0lBQy9ELElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDdkIsSUFBSSxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxPQUFPLElBQUksS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUNoQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUM5Qyx3QkFBd0IsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQ3ZDLEdBQUcsRUFBRSxHQUFFLENBQUMsRUFDUixFQUFFLEVBQ0YsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUNULENBQUM7SUFDRixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFJLEVBQUUsRUFBRTtRQUN4QixTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbkIsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSwgaXNPYnNlcnZhYmxlLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmRlY2xhcmUgY29uc3QgWm9uZTogYW55O1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gd2FpdEZvcjxUPihwcm9tOiBQcm9taXNlPFQ+IHwgT2JzZXJ2YWJsZTxUPik6IFByb21pc2U8VD4ge1xuICBpZiAoaXNPYnNlcnZhYmxlKHByb20pKSB7XG4gICAgcHJvbSA9IGZpcnN0VmFsdWVGcm9tKHByb20pO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBab25lID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBwcm9tO1xuICB9XG5cbiAgY29uc3QgbWFjcm9UYXNrID0gWm9uZS5jdXJyZW50LnNjaGVkdWxlTWFjcm9UYXNrKFxuICAgIGBBbmFsb2dDb250ZW50UmVzb2x2ZS0ke01hdGgucmFuZG9tKCl9YCxcbiAgICAoKSA9PiB7fSxcbiAgICB7fSxcbiAgICAoKSA9PiB7fVxuICApO1xuICByZXR1cm4gcHJvbS50aGVuKChwOiBUKSA9PiB7XG4gICAgbWFjcm9UYXNrLmludm9rZSgpO1xuICAgIHJldHVybiBwO1xuICB9KTtcbn1cbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbG9nanMtY29udGVudC1vZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRlbnQvb2cvc3JjL2FuYWxvZ2pzLWNvbnRlbnQtb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -1,2 +0,0 @@
1
- export { ImageResponse } from './lib/og';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZW50L29nL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgSW1hZ2VSZXNwb25zZSB9IGZyb20gJy4vbGliL29nJztcbmV4cG9ydCB7IEltYWdlUmVzcG9uc2VPcHRpb25zIH0gZnJvbSAnLi9saWIvb3B0aW9ucyc7XG4iXX0=
@@ -1,41 +0,0 @@
1
- // Credit for modified source: https://github.com/etherCorps/sveltekit-og/blob/main/src/lib/api.ts
2
- import satori from 'satori';
3
- import { html as toReactElement } from 'satori-html';
4
- import sharp from 'sharp';
5
- export const generateImage = async (element, options) => {
6
- const elementHtml = toReactElement(element);
7
- const svg = await satori(elementHtml, {
8
- width: options.width || 1200,
9
- height: options.height || 630,
10
- fonts: options.fonts?.length ? options.fonts : [],
11
- tailwindConfig: options.tailwindConfig,
12
- });
13
- const svgBuffer = Buffer.from(svg);
14
- const png = sharp(svgBuffer).png().toBuffer();
15
- const pngBuffer = await png;
16
- return pngBuffer;
17
- };
18
- export class ImageResponse extends Response {
19
- constructor(element, options = {}) {
20
- super();
21
- const body = new ReadableStream({
22
- async start(controller) {
23
- const buffer = await generateImage(element, options);
24
- controller.enqueue(buffer);
25
- controller.close();
26
- },
27
- });
28
- return new Response(body, {
29
- headers: {
30
- 'Content-Type': 'image/png',
31
- 'Cache-Control': options.debug
32
- ? 'no-cache, no-store'
33
- : 'public, immutable, no-transform, max-age=31536000',
34
- ...options.headers,
35
- },
36
- status: options.status || 200,
37
- statusText: options.statusText,
38
- });
39
- }
40
- }
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZW50L29nL3NyYy9saWIvb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsa0dBQWtHO0FBRWxHLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUUsSUFBSSxJQUFJLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNyRCxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFJMUIsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEtBQUssRUFDaEMsT0FBZSxFQUNmLE9BQTZCLEVBQzdCLEVBQUU7SUFDRixNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUMsTUFBTSxHQUFHLEdBQUcsTUFBTSxNQUFNLENBQUMsV0FBa0IsRUFBRTtRQUMzQyxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFJO1FBQzVCLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTSxJQUFJLEdBQUc7UUFDN0IsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQ2pELGNBQWMsRUFBRSxPQUFPLENBQUMsY0FBYztLQUN2QyxDQUFDLENBQUM7SUFDSCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25DLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUU5QyxNQUFNLFNBQVMsR0FBRyxNQUFNLEdBQUcsQ0FBQztJQUU1QixPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDLENBQUM7QUFFRixNQUFNLE9BQU8sYUFBYyxTQUFRLFFBQVE7SUFDekMsWUFBWSxPQUFlLEVBQUUsVUFBZ0MsRUFBRTtRQUM3RCxLQUFLLEVBQUUsQ0FBQztRQUVSLE1BQU0sSUFBSSxHQUFHLElBQUksY0FBYyxDQUFDO1lBQzlCLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVTtnQkFDcEIsTUFBTSxNQUFNLEdBQUcsTUFBTSxhQUFhLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUNyRCxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMzQixVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDckIsQ0FBQztTQUNGLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFO1lBQ3hCLE9BQU8sRUFBRTtnQkFDUCxjQUFjLEVBQUUsV0FBVztnQkFDM0IsZUFBZSxFQUFFLE9BQU8sQ0FBQyxLQUFLO29CQUM1QixDQUFDLENBQUMsb0JBQW9CO29CQUN0QixDQUFDLENBQUMsbURBQW1EO2dCQUN2RCxHQUFHLE9BQU8sQ0FBQyxPQUFPO2FBQ25CO1lBQ0QsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLElBQUksR0FBRztZQUM3QixVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVU7U0FDL0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ3JlZGl0IGZvciBtb2RpZmllZCBzb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9ldGhlckNvcnBzL3N2ZWx0ZWtpdC1vZy9ibG9iL21haW4vc3JjL2xpYi9hcGkudHNcblxuaW1wb3J0IHNhdG9yaSBmcm9tICdzYXRvcmknO1xuaW1wb3J0IHsgaHRtbCBhcyB0b1JlYWN0RWxlbWVudCB9IGZyb20gJ3NhdG9yaS1odG1sJztcbmltcG9ydCBzaGFycCBmcm9tICdzaGFycCc7XG5cbmltcG9ydCB7IEltYWdlUmVzcG9uc2VPcHRpb25zIH0gZnJvbSAnLi9vcHRpb25zLmpzJztcblxuZXhwb3J0IGNvbnN0IGdlbmVyYXRlSW1hZ2UgPSBhc3luYyAoXG4gIGVsZW1lbnQ6IHN0cmluZyxcbiAgb3B0aW9uczogSW1hZ2VSZXNwb25zZU9wdGlvbnNcbikgPT4ge1xuICBjb25zdCBlbGVtZW50SHRtbCA9IHRvUmVhY3RFbGVtZW50KGVsZW1lbnQpO1xuICBjb25zdCBzdmcgPSBhd2FpdCBzYXRvcmkoZWxlbWVudEh0bWwgYXMgYW55LCB7XG4gICAgd2lkdGg6IG9wdGlvbnMud2lkdGggfHwgMTIwMCxcbiAgICBoZWlnaHQ6IG9wdGlvbnMuaGVpZ2h0IHx8IDYzMCxcbiAgICBmb250czogb3B0aW9ucy5mb250cz8ubGVuZ3RoID8gb3B0aW9ucy5mb250cyA6IFtdLFxuICAgIHRhaWx3aW5kQ29uZmlnOiBvcHRpb25zLnRhaWx3aW5kQ29uZmlnLFxuICB9KTtcbiAgY29uc3Qgc3ZnQnVmZmVyID0gQnVmZmVyLmZyb20oc3ZnKTtcbiAgY29uc3QgcG5nID0gc2hhcnAoc3ZnQnVmZmVyKS5wbmcoKS50b0J1ZmZlcigpO1xuXG4gIGNvbnN0IHBuZ0J1ZmZlciA9IGF3YWl0IHBuZztcblxuICByZXR1cm4gcG5nQnVmZmVyO1xufTtcblxuZXhwb3J0IGNsYXNzIEltYWdlUmVzcG9uc2UgZXh0ZW5kcyBSZXNwb25zZSB7XG4gIGNvbnN0cnVjdG9yKGVsZW1lbnQ6IHN0cmluZywgb3B0aW9uczogSW1hZ2VSZXNwb25zZU9wdGlvbnMgPSB7fSkge1xuICAgIHN1cGVyKCk7XG5cbiAgICBjb25zdCBib2R5ID0gbmV3IFJlYWRhYmxlU3RyZWFtKHtcbiAgICAgIGFzeW5jIHN0YXJ0KGNvbnRyb2xsZXIpIHtcbiAgICAgICAgY29uc3QgYnVmZmVyID0gYXdhaXQgZ2VuZXJhdGVJbWFnZShlbGVtZW50LCBvcHRpb25zKTtcbiAgICAgICAgY29udHJvbGxlci5lbnF1ZXVlKGJ1ZmZlcik7XG4gICAgICAgIGNvbnRyb2xsZXIuY2xvc2UoKTtcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICByZXR1cm4gbmV3IFJlc3BvbnNlKGJvZHksIHtcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdpbWFnZS9wbmcnLFxuICAgICAgICAnQ2FjaGUtQ29udHJvbCc6IG9wdGlvbnMuZGVidWdcbiAgICAgICAgICA/ICduby1jYWNoZSwgbm8tc3RvcmUnXG4gICAgICAgICAgOiAncHVibGljLCBpbW11dGFibGUsIG5vLXRyYW5zZm9ybSwgbWF4LWFnZT0zMTUzNjAwMCcsXG4gICAgICAgIC4uLm9wdGlvbnMuaGVhZGVycyxcbiAgICAgIH0sXG4gICAgICBzdGF0dXM6IG9wdGlvbnMuc3RhdHVzIHx8IDIwMCxcbiAgICAgIHN0YXR1c1RleHQ6IG9wdGlvbnMuc3RhdHVzVGV4dCxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRlbnQvb2cvc3JjL2xpYi9vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNhdG9yaU9wdGlvbnMgfSBmcm9tICdzYXRvcmkvd2FzbSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW1hZ2VSZXNwb25zZU9wdGlvbnMge1xuICB3aWR0aD86IG51bWJlcjtcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICBmb250cz86IFNhdG9yaU9wdGlvbnNbJ2ZvbnRzJ107XG4gIGRlYnVnPzogYm9vbGVhbjtcbiAgc3RhdHVzPzogbnVtYmVyO1xuICBzdGF0dXNUZXh0Pzogc3RyaW5nO1xuICBoZWFkZXJzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgdGFpbHdpbmRDb25maWc/OiBTYXRvcmlPcHRpb25zWyd0YWlsd2luZENvbmZpZyddO1xufVxuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbG9nanMtY29udGVudC1wcmlzbS1oaWdobGlnaHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRlbnQvcHJpc20taGlnaGxpZ2h0ZXIvc3JjL2FuYWxvZ2pzLWNvbnRlbnQtcHJpc20taGlnaGxpZ2h0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -1,11 +0,0 @@
1
- import { ContentRenderer, NoopContentRenderer } from '@analogjs/content';
2
- import { PrismHighlighter } from './lib/prism-highlighter';
3
- import 'prismjs';
4
- import 'prismjs/plugins/toolbar/prism-toolbar';
5
- import 'prismjs/plugins/copy-to-clipboard/prism-copy-to-clipboard';
6
- import './lib/prism/angular';
7
- export { PrismHighlighter };
8
- export function withPrismHighlighter() {
9
- return [{ provide: ContentRenderer, useClass: NoopContentRenderer }];
10
- }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZW50L3ByaXNtLWhpZ2hsaWdodGVyL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFM0QsT0FBTyxTQUFTLENBQUM7QUFDakIsT0FBTyx1Q0FBdUMsQ0FBQztBQUMvQyxPQUFPLDJEQUEyRCxDQUFDO0FBQ25FLE9BQU8scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxFQUFFLGdCQUFnQixFQUFFLENBQUM7QUFFNUIsTUFBTSxVQUFVLG9CQUFvQjtJQUNsQyxPQUFPLENBQUMsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUM7QUFDdkUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRlbnRSZW5kZXJlciwgTm9vcENvbnRlbnRSZW5kZXJlciB9IGZyb20gJ0BhbmFsb2dqcy9jb250ZW50JztcbmltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcmlzbUhpZ2hsaWdodGVyIH0gZnJvbSAnLi9saWIvcHJpc20taGlnaGxpZ2h0ZXInO1xuXG5pbXBvcnQgJ3ByaXNtanMnO1xuaW1wb3J0ICdwcmlzbWpzL3BsdWdpbnMvdG9vbGJhci9wcmlzbS10b29sYmFyJztcbmltcG9ydCAncHJpc21qcy9wbHVnaW5zL2NvcHktdG8tY2xpcGJvYXJkL3ByaXNtLWNvcHktdG8tY2xpcGJvYXJkJztcbmltcG9ydCAnLi9saWIvcHJpc20vYW5ndWxhcic7XG5cbmV4cG9ydCB7IFByaXNtSGlnaGxpZ2h0ZXIgfTtcblxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhQcmlzbUhpZ2hsaWdodGVyKCk6IFByb3ZpZGVyW10ge1xuICByZXR1cm4gW3sgcHJvdmlkZTogQ29udGVudFJlbmRlcmVyLCB1c2VDbGFzczogTm9vcENvbnRlbnRSZW5kZXJlciB9XTtcbn1cbiJdfQ==
@@ -1,20 +0,0 @@
1
- "use strict";
2
- (function () {
3
- if (typeof Prism === 'undefined') {
4
- return;
5
- }
6
- Prism.languages.angular = Prism.languages.extend('markup', {
7
- keyword: /(?:@if|@for|@switch|@defer|@loading|@error|@placeholder|prefetch)\b/,
8
- operator: /\b(?:on|when)\b/,
9
- number: {
10
- pattern: /\b(minimum|after)\s+\d+(?:s|ms|)/gi,
11
- lookbehind: true,
12
- },
13
- builtin: {
14
- pattern: /\b(?:viewport|timer|minimum|after|hover|idle|immediate|interaction)/,
15
- },
16
- function: /#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,
17
- });
18
- Prism.languages.ng = Prism.languages.angular;
19
- })();
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRlbnQvcHJpc20taGlnaGxpZ2h0ZXIvc3JjL2xpYi9wcmlzbS9hbmd1bGFyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxDQUFDO0lBQ0MsSUFBSSxPQUFPLEtBQUssS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUNqQyxPQUFPO0lBQ1QsQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFTLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRTtRQUN6RCxPQUFPLEVBQ0wscUVBQXFFO1FBQ3ZFLFFBQVEsRUFBRSxpQkFBaUI7UUFDM0IsTUFBTSxFQUFFO1lBQ04sT0FBTyxFQUFFLG9DQUFvQztZQUM3QyxVQUFVLEVBQUUsSUFBSTtTQUNqQjtRQUNELE9BQU8sRUFBRTtZQUNQLE9BQU8sRUFDTCxxRUFBcUU7U0FDeEU7UUFDRCxRQUFRLEVBQ04sbUdBQW1HO0tBQ3RHLENBQUMsQ0FBQztJQUVILEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDO0FBQy9DLENBQUMsQ0FBQyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gKCkge1xuICBpZiAodHlwZW9mIFByaXNtID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIFByaXNtLmxhbmd1YWdlcy5hbmd1bGFyID0gUHJpc20ubGFuZ3VhZ2VzLmV4dGVuZCgnbWFya3VwJywge1xuICAgIGtleXdvcmQ6XG4gICAgICAvKD86QGlmfEBmb3J8QHN3aXRjaHxAZGVmZXJ8QGxvYWRpbmd8QGVycm9yfEBwbGFjZWhvbGRlcnxwcmVmZXRjaClcXGIvLFxuICAgIG9wZXJhdG9yOiAvXFxiKD86b258d2hlbilcXGIvLFxuICAgIG51bWJlcjoge1xuICAgICAgcGF0dGVybjogL1xcYihtaW5pbXVtfGFmdGVyKVxccytcXGQrKD86c3xtc3wpL2dpLFxuICAgICAgbG9va2JlaGluZDogdHJ1ZSxcbiAgICB9LFxuICAgIGJ1aWx0aW46IHtcbiAgICAgIHBhdHRlcm46XG4gICAgICAgIC9cXGIoPzp2aWV3cG9ydHx0aW1lcnxtaW5pbXVtfGFmdGVyfGhvdmVyfGlkbGV8aW1tZWRpYXRlfGludGVyYWN0aW9uKS8sXG4gICAgfSxcbiAgICBmdW5jdGlvbjpcbiAgICAgIC8jPyg/IVxccylbXyRhLXpBLVpcXHhBMC1cXHVGRkZGXSg/Oig/IVxccylbJFxcd1xceEEwLVxcdUZGRkZdKSooPz1cXHMqKD86XFwuXFxzKig/OmFwcGx5fGJpbmR8Y2FsbClcXHMqKT9cXCgpLyxcbiAgfSk7XG5cbiAgUHJpc20ubGFuZ3VhZ2VzLm5nID0gUHJpc20ubGFuZ3VhZ2VzLmFuZ3VsYXI7XG59KSgpO1xuIl19
@@ -1,51 +0,0 @@
1
- import { MarkedContentHighlighter } from '@analogjs/content';
2
- import { Injectable } from '@angular/core';
3
- import { markedHighlight } from 'marked-highlight';
4
- import * as i0 from "@angular/core";
5
- export class PrismHighlighter extends MarkedContentHighlighter {
6
- augmentCodeBlock(code, lang) {
7
- const classes = lang.startsWith('diff') && Prism.languages['diff']
8
- ? `language-${lang} diff-highlight`
9
- : `language-${lang.replace('diff-', '')}`;
10
- return `<pre class="${classes}"><code class="${classes}">${code}</code></pre>`;
11
- }
12
- getHighlightExtension() {
13
- return markedHighlight({
14
- async: true,
15
- highlight: (code, lang) => {
16
- let diff = lang?.startsWith('diff-');
17
- lang = diff ? lang.replace('diff-', '') : lang || 'typescript';
18
- if (diff && !Prism.languages['diff']) {
19
- diff = false;
20
- console.warn(`Notice:
21
- ---------------------------------------------------------------------------------------
22
- The \`diff\` language and plugin are not available in the provided setup.
23
- To enable it, add the following imports your \`app.config.ts\`:
24
- import 'prismjs/components/prism-diff';
25
- import 'prismjs/plugins/diff-highlight/prism-diff-highlight';
26
- ---------------------------------------------------------------------------------------
27
- `);
28
- }
29
- if (!Prism.languages[lang]) {
30
- if (lang !== 'mermaid') {
31
- console.warn(`Notice:
32
- ---------------------------------------------------------------------------------------
33
- The requested language '${lang}' is not available in the provided setup.
34
- To enable it, add the following import your \`app.config.ts\`:
35
- import 'prismjs/components/prism-${lang}';
36
- ---------------------------------------------------------------------------------------
37
- `);
38
- }
39
- return code;
40
- }
41
- return Prism.highlight(code, diff ? Prism.languages['diff'] : Prism.languages[lang], lang);
42
- },
43
- });
44
- }
45
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: PrismHighlighter, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
46
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: PrismHighlighter }); }
47
- }
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: PrismHighlighter, decorators: [{
49
- type: Injectable
50
- }] });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpc20taGlnaGxpZ2h0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZW50L3ByaXNtLWhpZ2hsaWdodGVyL3NyYy9saWIvcHJpc20taGlnaGxpZ2h0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBS25ELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSx3QkFBd0I7SUFDbkQsZ0JBQWdCLENBQUMsSUFBWSxFQUFFLElBQVk7UUFDbEQsTUFBTSxPQUFPLEdBQ1gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztZQUNoRCxDQUFDLENBQUMsWUFBWSxJQUFJLGlCQUFpQjtZQUNuQyxDQUFDLENBQUMsWUFBWSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQzlDLE9BQU8sZUFBZSxPQUFPLGtCQUFrQixPQUFPLEtBQUssSUFBSSxlQUFlLENBQUM7SUFDakYsQ0FBQztJQUVRLHFCQUFxQjtRQUM1QixPQUFPLGVBQWUsQ0FBQztZQUNyQixLQUFLLEVBQUUsSUFBSTtZQUNYLFNBQVMsRUFBRSxDQUFDLElBQVksRUFBRSxJQUFZLEVBQUUsRUFBRTtnQkFDeEMsSUFBSSxJQUFJLEdBQUcsSUFBSSxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDckMsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxZQUFZLENBQUM7Z0JBRS9ELElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO29CQUNyQyxJQUFJLEdBQUcsS0FBSyxDQUFDO29CQUNiLE9BQU8sQ0FBQyxJQUFJLENBQUM7Ozs7Ozs7YUFPVixDQUFDLENBQUM7Z0JBQ1AsQ0FBQztnQkFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO29CQUMzQixJQUFJLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQzt3QkFDdkIsT0FBTyxDQUFDLElBQUksQ0FBQzs7OEJBRUssSUFBSTs7eUNBRU8sSUFBSTs7ZUFFOUIsQ0FBQyxDQUFDO29CQUNQLENBQUM7b0JBQ0QsT0FBTyxJQUFJLENBQUM7Z0JBQ2QsQ0FBQztnQkFDRCxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQ3BCLElBQUksRUFDSixJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQ3RELElBQUksQ0FDTCxDQUFDO1lBQ0osQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBL0NVLGdCQUFnQjtrSEFBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWFya2VkQ29udGVudEhpZ2hsaWdodGVyIH0gZnJvbSAnQGFuYWxvZ2pzL2NvbnRlbnQnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWFya2VkSGlnaGxpZ2h0IH0gZnJvbSAnbWFya2VkLWhpZ2hsaWdodCc7XG5cbmRlY2xhcmUgY29uc3QgUHJpc206IHR5cGVvZiBpbXBvcnQoJ3ByaXNtanMnKTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFByaXNtSGlnaGxpZ2h0ZXIgZXh0ZW5kcyBNYXJrZWRDb250ZW50SGlnaGxpZ2h0ZXIge1xuICBvdmVycmlkZSBhdWdtZW50Q29kZUJsb2NrKGNvZGU6IHN0cmluZywgbGFuZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBjbGFzc2VzID1cbiAgICAgIGxhbmcuc3RhcnRzV2l0aCgnZGlmZicpICYmIFByaXNtLmxhbmd1YWdlc1snZGlmZiddXG4gICAgICAgID8gYGxhbmd1YWdlLSR7bGFuZ30gZGlmZi1oaWdobGlnaHRgXG4gICAgICAgIDogYGxhbmd1YWdlLSR7bGFuZy5yZXBsYWNlKCdkaWZmLScsICcnKX1gO1xuICAgIHJldHVybiBgPHByZSBjbGFzcz1cIiR7Y2xhc3Nlc31cIj48Y29kZSBjbGFzcz1cIiR7Y2xhc3Nlc31cIj4ke2NvZGV9PC9jb2RlPjwvcHJlPmA7XG4gIH1cblxuICBvdmVycmlkZSBnZXRIaWdobGlnaHRFeHRlbnNpb24oKSB7XG4gICAgcmV0dXJuIG1hcmtlZEhpZ2hsaWdodCh7XG4gICAgICBhc3luYzogdHJ1ZSxcbiAgICAgIGhpZ2hsaWdodDogKGNvZGU6IHN0cmluZywgbGFuZzogc3RyaW5nKSA9PiB7XG4gICAgICAgIGxldCBkaWZmID0gbGFuZz8uc3RhcnRzV2l0aCgnZGlmZi0nKTtcbiAgICAgICAgbGFuZyA9IGRpZmYgPyBsYW5nLnJlcGxhY2UoJ2RpZmYtJywgJycpIDogbGFuZyB8fCAndHlwZXNjcmlwdCc7XG5cbiAgICAgICAgaWYgKGRpZmYgJiYgIVByaXNtLmxhbmd1YWdlc1snZGlmZiddKSB7XG4gICAgICAgICAgZGlmZiA9IGZhbHNlO1xuICAgICAgICAgIGNvbnNvbGUud2FybihgTm90aWNlOlxuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFRoZSBcXGBkaWZmXFxgIGxhbmd1YWdlIGFuZCBwbHVnaW4gYXJlIG5vdCBhdmFpbGFibGUgaW4gdGhlIHByb3ZpZGVkIHNldHVwLlxuICAgIFRvIGVuYWJsZSBpdCwgYWRkIHRoZSBmb2xsb3dpbmcgaW1wb3J0cyB5b3VyIFxcYGFwcC5jb25maWcudHNcXGA6XG4gICAgICBpbXBvcnQgJ3ByaXNtanMvY29tcG9uZW50cy9wcmlzbS1kaWZmJztcbiAgICAgIGltcG9ydCAncHJpc21qcy9wbHVnaW5zL2RpZmYtaGlnaGxpZ2h0L3ByaXNtLWRpZmYtaGlnaGxpZ2h0JztcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgIGApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFQcmlzbS5sYW5ndWFnZXNbbGFuZ10pIHtcbiAgICAgICAgICBpZiAobGFuZyAhPT0gJ21lcm1haWQnKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYE5vdGljZTpcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBUaGUgcmVxdWVzdGVkIGxhbmd1YWdlICcke2xhbmd9JyBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBwcm92aWRlZCBzZXR1cC5cbiAgICBUbyBlbmFibGUgaXQsIGFkZCB0aGUgZm9sbG93aW5nIGltcG9ydCB5b3VyIFxcYGFwcC5jb25maWcudHNcXGA6XG4gICAgICBpbXBvcnQgJ3ByaXNtanMvY29tcG9uZW50cy9wcmlzbS0ke2xhbmd9JztcbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgICAgICAgYCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBjb2RlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBQcmlzbS5oaWdobGlnaHQoXG4gICAgICAgICAgY29kZSxcbiAgICAgICAgICBkaWZmID8gUHJpc20ubGFuZ3VhZ2VzWydkaWZmJ10gOiBQcmlzbS5sYW5ndWFnZXNbbGFuZ10sXG4gICAgICAgICAgbGFuZ1xuICAgICAgICApO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbG9nanMtY29udGVudC1zaGlraS1oaWdobGlnaHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbnRlbnQvc2hpa2ktaGlnaGxpZ2h0ZXIvc3JjL2FuYWxvZ2pzLWNvbnRlbnQtc2hpa2ktaGlnaGxpZ2h0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -1,10 +0,0 @@
1
- import { ContentRenderer, NoopContentRenderer } from '@analogjs/content';
2
- export function withShikiHighlighter(_opts = {}) {
3
- return [
4
- {
5
- provide: ContentRenderer,
6
- useClass: NoopContentRenderer,
7
- },
8
- ];
9
- }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb250ZW50L3NoaWtpLWhpZ2hsaWdodGVyL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFzQnpFLE1BQU0sVUFBVSxvQkFBb0IsQ0FDbEMsUUFBcUMsRUFBRTtJQUV2QyxPQUFPO1FBQ0w7WUFDRSxPQUFPLEVBQUUsZUFBZTtZQUN4QixRQUFRLEVBQUUsbUJBQW1CO1NBQzlCO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250ZW50UmVuZGVyZXIsIE5vb3BDb250ZW50UmVuZGVyZXIgfSBmcm9tICdAYW5hbG9nanMvY29udGVudCc7XG5pbXBvcnQgeyBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUge1xuICBCdW5kbGVkTGFuZ3VhZ2UsXG4gIEJ1bmRsZWRUaGVtZSxcbiAgQ29kZU9wdGlvbnNNZXRhLFxuICBDb2RlT3B0aW9uc011bHRpcGxlVGhlbWVzLFxuICBDb2RlT3B0aW9uc1NpbmdsZVRoZW1lLFxuICBDb2RlVG9IYXN0T3B0aW9uc0NvbW1vbixcbn0gZnJvbSAnc2hpa2knO1xuXG5leHBvcnQgdHlwZSBTaGlraUhpZ2hsaWdodE9wdGlvbnMgPSBQYXJ0aWFsPFxuICBPbWl0PENvZGVUb0hhc3RPcHRpb25zQ29tbW9uPEJ1bmRsZWRMYW5ndWFnZT4sICdsYW5nJz5cbj4gJlxuICBDb2RlT3B0aW9uc01ldGEgJlxuICBQYXJ0aWFsPENvZGVPcHRpb25zU2luZ2xlVGhlbWU8QnVuZGxlZFRoZW1lPj4gJlxuICBQYXJ0aWFsPENvZGVPcHRpb25zTXVsdGlwbGVUaGVtZXM8QnVuZGxlZFRoZW1lPj47XG5cbmV4cG9ydCB0eXBlIFdpdGhTaGlraUhpZ2hsaWdodGVyT3B0aW9ucyA9IFNoaWtpSGlnaGxpZ2h0T3B0aW9ucyAmIHtcbiAgY29udGFpbmVyPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhTaGlraUhpZ2hsaWdodGVyKFxuICBfb3B0czogV2l0aFNoaWtpSGlnaGxpZ2h0ZXJPcHRpb25zID0ge31cbik6IFByb3ZpZGVyW10ge1xuICByZXR1cm4gW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IENvbnRlbnRSZW5kZXJlcixcbiAgICAgIHVzZUNsYXNzOiBOb29wQ29udGVudFJlbmRlcmVyLFxuICAgIH0sXG4gIF07XG59XG4iXX0=