livemark 0.16.0 → 0.18.0

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 (49) hide show
  1. package/build/actions/config/define.d.ts +67 -3
  2. package/build/actions/config/define.js +3 -3
  3. package/build/actions/config/load.js +23 -2
  4. package/build/components/Layout.js +13 -11
  5. package/build/components/SearchDialog.js +2 -3
  6. package/build/components/SidebarArticles.js +3 -3
  7. package/build/components/SidebarLinks.js +3 -3
  8. package/build/components/SidebarSections.js +8 -8
  9. package/build/content/article.js +3 -3
  10. package/build/content-collections.js +2 -3
  11. package/build/helpers/article-icon.d.ts +4 -4
  12. package/build/helpers/article-icon.js +8 -36
  13. package/build/helpers/article.d.ts +1 -1
  14. package/build/helpers/article.js +1 -1
  15. package/build/helpers/resolve-base.d.ts +6 -0
  16. package/build/helpers/resolve-base.js +13 -0
  17. package/build/helpers/resolve-base.unit.d.ts +1 -0
  18. package/build/helpers/resolve-base.unit.js +49 -0
  19. package/build/helpers/section.d.ts +7 -3
  20. package/build/helpers/section.js +16 -10
  21. package/build/helpers/section.unit.js +32 -2
  22. package/build/hooks/media.d.ts +1 -1
  23. package/build/hooks/media.js +2 -2
  24. package/build/models/article.d.ts +1 -1
  25. package/build/models/article.js +1 -1
  26. package/build/models/config.d.ts +29 -11
  27. package/build/models/config.js +9 -11
  28. package/build/models/section.d.ts +7 -5
  29. package/build/models/section.js +4 -4
  30. package/package.json +1 -1
  31. package/source/actions/config/define.ts +4 -6
  32. package/source/actions/config/load.ts +26 -6
  33. package/source/components/Layout.tsx +16 -16
  34. package/source/components/SearchDialog.tsx +4 -2
  35. package/source/components/SidebarArticles.tsx +2 -2
  36. package/source/components/SidebarLinks.tsx +2 -2
  37. package/source/components/SidebarSections.tsx +11 -8
  38. package/source/content/article.ts +2 -2
  39. package/source/content-collections.ts +1 -2
  40. package/source/helpers/article-icon.ts +7 -38
  41. package/source/helpers/article.ts +1 -1
  42. package/source/helpers/resolve-base.ts +11 -0
  43. package/source/helpers/resolve-base.unit.ts +61 -0
  44. package/source/helpers/section.ts +13 -12
  45. package/source/helpers/section.unit.ts +43 -1
  46. package/source/hooks/media.ts +1 -1
  47. package/source/models/article.ts +1 -1
  48. package/source/models/config.ts +32 -14
  49. package/source/models/section.ts +7 -5
@@ -1,6 +1,70 @@
1
- import type { z } from "zod";
2
- import { UserConfig } from "../../models/config.ts";
1
+ import type { UserConfig } from "../../models/config.ts";
3
2
  /**
4
3
  * Validate and fill defaults for a partial config object.
5
4
  */
6
- export declare function defineConfig(input: z.input<typeof UserConfig>): z.output<typeof UserConfig>;
5
+ export declare function defineConfig(input: UserConfig): {
6
+ site?: string | undefined;
7
+ base?: unknown;
8
+ favicon?: string | undefined;
9
+ logo?: string | undefined;
10
+ title: string;
11
+ description: string;
12
+ include: string | string[];
13
+ exclude?: string | string[] | undefined;
14
+ codeThemeLight: "ayu-light" | "catppuccin-latte" | "everforest-light" | "github-light" | "github-light-default" | "github-light-high-contrast" | "gruvbox-light-hard" | "gruvbox-light-medium" | "gruvbox-light-soft" | "horizon-bright" | "kanagawa-lotus" | "light-plus" | "material-theme-lighter" | "min-light" | "night-owl-light" | "one-light" | "rose-pine-dawn" | "slack-ochin" | "snazzy-light" | "solarized-light" | "vitesse-light";
15
+ codeThemeDark: "andromeeda" | "aurora-x" | "ayu-dark" | "ayu-mirage" | "catppuccin-frappe" | "catppuccin-macchiato" | "catppuccin-mocha" | "dark-plus" | "dracula" | "dracula-soft" | "everforest-dark" | "github-dark" | "github-dark-default" | "github-dark-dimmed" | "github-dark-high-contrast" | "gruvbox-dark-hard" | "gruvbox-dark-medium" | "gruvbox-dark-soft" | "horizon" | "houston" | "kanagawa-dragon" | "kanagawa-wave" | "laserwave" | "material-theme" | "material-theme-darker" | "material-theme-ocean" | "material-theme-palenight" | "min-dark" | "monokai" | "night-owl" | "nord" | "one-dark-pro" | "plastic" | "poimandres" | "red" | "rose-pine" | "rose-pine-moon" | "slack-dark" | "solarized-dark" | "synthwave-84" | "tokyo-night" | "vesper" | "vitesse-black" | "vitesse-dark";
16
+ links?: {
17
+ url: string;
18
+ title: string;
19
+ icon?: string | undefined;
20
+ prefix?: string | undefined;
21
+ position: "header" | "sidebar";
22
+ }[] | undefined;
23
+ sections?: ({
24
+ icon?: string | undefined;
25
+ title: string;
26
+ position: "header" | "sidebar";
27
+ type: "article";
28
+ prefix: string;
29
+ } | {
30
+ icon?: string | undefined;
31
+ title: string;
32
+ position: "header" | "sidebar";
33
+ type: "blog";
34
+ prefix: string;
35
+ } | {
36
+ icon?: string | undefined;
37
+ title: string;
38
+ position: "header" | "sidebar";
39
+ type: "changelog";
40
+ prefix: string;
41
+ source: string;
42
+ version?: boolean | undefined;
43
+ } | {
44
+ icon?: string | undefined;
45
+ title: string;
46
+ position: "header" | "sidebar";
47
+ type: "custom";
48
+ url: string;
49
+ })[] | undefined;
50
+ patches?: {
51
+ file: string;
52
+ article: {
53
+ title?: string | undefined;
54
+ label?: string | undefined;
55
+ description?: string | undefined;
56
+ icon?: string | undefined;
57
+ order?: number | undefined;
58
+ path?: string | undefined;
59
+ sidebar?: boolean | undefined;
60
+ toc?: boolean | undefined;
61
+ image?: string | undefined;
62
+ author?: string | string[] | undefined;
63
+ date?: string | undefined;
64
+ tags?: string[] | undefined;
65
+ sourceUrl?: string | undefined;
66
+ sourceAction?: "edit" | "view" | undefined;
67
+ };
68
+ }[] | undefined;
69
+ vite?: unknown;
70
+ };
@@ -1,8 +1,8 @@
1
- import { UserConfig } from "../../models/config.js";
1
+ import { UserConfig as UserConfigSchema } from "../../models/config.js";
2
2
  /**
3
3
  * Validate and fill defaults for a partial config object.
4
4
  */
5
5
  export function defineConfig(input) {
6
- return UserConfig.parse(input);
6
+ return UserConfigSchema.parse(input);
7
7
  }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc291cmNlL2FjdGlvbnMvY29uZmlnL2RlZmluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFFbkQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUMxQixLQUFpQztJQUVqQyxPQUFPLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDaEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgeiB9IGZyb20gXCJ6b2RcIlxuaW1wb3J0IHsgVXNlckNvbmZpZyB9IGZyb20gXCIuLi8uLi9tb2RlbHMvY29uZmlnLnRzXCJcblxuLyoqXG4gKiBWYWxpZGF0ZSBhbmQgZmlsbCBkZWZhdWx0cyBmb3IgYSBwYXJ0aWFsIGNvbmZpZyBvYmplY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWZpbmVDb25maWcoXG4gIGlucHV0OiB6LmlucHV0PHR5cGVvZiBVc2VyQ29uZmlnPixcbik6IHoub3V0cHV0PHR5cGVvZiBVc2VyQ29uZmlnPiB7XG4gIHJldHVybiBVc2VyQ29uZmlnLnBhcnNlKGlucHV0KVxufVxuIl19
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmaW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc291cmNlL2FjdGlvbnMvY29uZmlnL2RlZmluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxJQUFJLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFHdkU7O0dBRUc7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUFDLEtBQWlCO0lBQzVDLE9BQU8sZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO0FBQ3RDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVc2VyQ29uZmlnIGFzIFVzZXJDb25maWdTY2hlbWEgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2NvbmZpZy50c1wiXG5pbXBvcnQgdHlwZSB7IFVzZXJDb25maWcgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2NvbmZpZy50c1wiXG5cbi8qKlxuICogVmFsaWRhdGUgYW5kIGZpbGwgZGVmYXVsdHMgZm9yIGEgcGFydGlhbCBjb25maWcgb2JqZWN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVmaW5lQ29uZmlnKGlucHV0OiBVc2VyQ29uZmlnKSB7XG4gIHJldHVybiBVc2VyQ29uZmlnU2NoZW1hLnBhcnNlKGlucHV0KVxufVxuIl19
@@ -9,7 +9,24 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
9
9
  import { existsSync } from "node:fs";
10
10
  import { dirname, resolve } from "node:path";
11
11
  import { pathToFileURL } from "node:url";
12
+ import { resolveBase } from "../../helpers/resolve-base.js";
12
13
  import { defineConfig } from "./define.js";
14
+ /** Map livemark CLI verbs to the Vite-equivalent `command` string used by
15
+ * `resolveBase()`. `preview` serves the production build's artifacts so
16
+ * it uses the build-mode base. Default to `"build"` for safety when no
17
+ * recognised verb is in argv (the common path is `livemark <verb> ...`). */
18
+ const COMMAND_BY_VERB = {
19
+ start: "serve",
20
+ build: "build",
21
+ preview: "build",
22
+ };
23
+ function detectCommand() {
24
+ for (const arg of process.argv.slice(2)) {
25
+ if (arg in COMMAND_BY_VERB)
26
+ return COMMAND_BY_VERB[arg];
27
+ }
28
+ return "build";
29
+ }
13
30
  /**
14
31
  * Load and validate a config file, checking --config/-c CLI arg, then cwd.
15
32
  *
@@ -36,6 +53,10 @@ export async function loadConfig(path) {
36
53
  throw new Error(`Config file not found: ${resolved}`);
37
54
  }
38
55
  const validated = defineConfig(input);
39
- return { ...validated, root: dirname(resolved), configPath: resolved };
56
+ // Resolve the function form of `base` once, here, using the livemark
57
+ // CLI verb. Downstream consumers (Vite plugin, content-collections,
58
+ // runtime) get a plain string|undefined and never see the function.
59
+ const base = resolveBase(validated.base, detectCommand());
60
+ return { ...validated, base, root: dirname(resolved), configPath: resolved };
40
61
  }
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NvdXJjZS9hY3Rpb25zL2NvbmZpZy9sb2FkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUNwQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBSXhDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFMUM7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxVQUFVLENBQUMsSUFBYTtJQUM1QyxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FDeEMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxVQUFVLENBQ3BDLENBQUE7SUFDRCxNQUFNLE9BQU8sR0FBRyxXQUFXLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUE7SUFDOUUsTUFBTSxRQUFRLEdBQUcsSUFBSSxJQUFJLE9BQU8sQ0FBQTtJQUNoQyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxJQUFJLG9CQUFvQixDQUFDLENBQUE7SUFDMUQsSUFBSSxLQUFLLEdBQStCLEVBQUUsQ0FBQTtJQUMxQyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ3pCLHlFQUF5RTtRQUN6RSxNQUFNLEdBQUcsR0FBRyxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLE1BQU0sSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUE7UUFDN0QsTUFBTSxNQUFNLEdBQTRCLE1BQU0sTUFBTSxrQ0FBQyxHQUFHLEVBQUMsQ0FBQTtRQUN6RCxLQUFLLEdBQUksTUFBTSxDQUFDLE9BQXNDLElBQUksRUFBRSxDQUFBO0lBQzlELENBQUM7U0FBTSxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLFFBQVEsRUFBRSxDQUFDLENBQUE7SUFDdkQsQ0FBQztJQUNELE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNyQyxPQUFPLEVBQUUsR0FBRyxTQUFTLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLENBQUE7QUFDeEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4aXN0c1N5bmMgfSBmcm9tIFwibm9kZTpmc1wiXG5pbXBvcnQgeyBkaXJuYW1lLCByZXNvbHZlIH0gZnJvbSBcIm5vZGU6cGF0aFwiXG5pbXBvcnQgeyBwYXRoVG9GaWxlVVJMIH0gZnJvbSBcIm5vZGU6dXJsXCJcbmltcG9ydCB0eXBlIHsgeiB9IGZyb20gXCJ6b2RcIlxuaW1wb3J0IHR5cGUgeyBDb25maWcgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2NvbmZpZy50c1wiXG5pbXBvcnQgeyBVc2VyQ29uZmlnIH0gZnJvbSBcIi4uLy4uL21vZGVscy9jb25maWcudHNcIlxuaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcIi4vZGVmaW5lLnRzXCJcblxuLyoqXG4gKiBMb2FkIGFuZCB2YWxpZGF0ZSBhIGNvbmZpZyBmaWxlLCBjaGVja2luZyAtLWNvbmZpZy8tYyBDTEkgYXJnLCB0aGVuIGN3ZC5cbiAqXG4gKiBJZiBhIHBhdGggaXMgcHJvdmlkZWQgZXhwbGljaXRseSAoYXJnIG9yIGAtLWNvbmZpZ2AvYC1jYCkgYW5kIHRoZVxuICogZmlsZSBpcyBtaXNzaW5nLCB0aHJvd3Mg4oCUIHRoZSB1c2VyIGFza2VkIGZvciBhIHNwZWNpZmljIGNvbmZpZyBhbmRcbiAqIGl0IGlzbid0IHRoZXJlLiBJZiBubyBwYXRoIGlzIHByb3ZpZGVkIGFuZCBubyBgbGl2ZW1hcmsuY29uZmlnLnRzYFxuICogZXhpc3RzIGluIGN3ZCwgZmFsbHMgYmFjayB0byB0aGUgZGVmYXVsdCBjb25maWcgd2l0aCBhIHN5bnRoZXNpemVkXG4gKiBgY29uZmlnUGF0aCA9IDxjd2Q+L2xpdmVtYXJrLmNvbmZpZy50c2Agc28gZG93bnN0cmVhbSBjb2RlICh0YXJnZXRcbiAqIGhhc2gsIHdhdGNoZXIpIHN0aWxsIGhhcyBhIHN0YWJsZSBwZXItcHJvamVjdCBrZXkuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBsb2FkQ29uZmlnKHBhdGg/OiBzdHJpbmcpOiBQcm9taXNlPENvbmZpZz4ge1xuICBjb25zdCBjb25maWdJbmRleCA9IHByb2Nlc3MuYXJndi5maW5kSW5kZXgoXG4gICAgYSA9PiBhID09PSBcIi1jXCIgfHwgYSA9PT0gXCItLWNvbmZpZ1wiLFxuICApXG4gIGNvbnN0IGNsaVBhdGggPSBjb25maWdJbmRleCAhPT0gLTEgPyBwcm9jZXNzLmFyZ3ZbY29uZmlnSW5kZXggKyAxXSA6IHVuZGVmaW5lZFxuICBjb25zdCBleHBsaWNpdCA9IHBhdGggPz8gY2xpUGF0aFxuICBjb25zdCByZXNvbHZlZCA9IHJlc29sdmUoZXhwbGljaXQgPz8gXCJsaXZlbWFyay5jb25maWcudHNcIilcbiAgbGV0IGlucHV0OiB6LmlucHV0PHR5cGVvZiBVc2VyQ29uZmlnPiA9IHt9XG4gIGlmIChleGlzdHNTeW5jKHJlc29sdmVkKSkge1xuICAgIC8vIENhY2hlLWJ1c3QgdGhlIEVTTSBpbXBvcnQgc28gZGV2LXNlcnZlciByZXN0YXJ0IHJlbG9hZHMgZWRpdHMgb24gZGlzay5cbiAgICBjb25zdCB1cmwgPSBgJHtwYXRoVG9GaWxlVVJMKHJlc29sdmVkKS5ocmVmfT90PSR7RGF0ZS5ub3coKX1gXG4gICAgY29uc3QgbW9kdWxlOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IGF3YWl0IGltcG9ydCh1cmwpXG4gICAgaW5wdXQgPSAobW9kdWxlLmRlZmF1bHQgYXMgei5pbnB1dDx0eXBlb2YgVXNlckNvbmZpZz4pID8/IHt9XG4gIH0gZWxzZSBpZiAoZXhwbGljaXQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYENvbmZpZyBmaWxlIG5vdCBmb3VuZDogJHtyZXNvbHZlZH1gKVxuICB9XG4gIGNvbnN0IHZhbGlkYXRlZCA9IGRlZmluZUNvbmZpZyhpbnB1dClcbiAgcmV0dXJuIHsgLi4udmFsaWRhdGVkLCByb290OiBkaXJuYW1lKHJlc29sdmVkKSwgY29uZmlnUGF0aDogcmVzb2x2ZWQgfVxufVxuIl19
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NvdXJjZS9hY3Rpb25zL2NvbmZpZy9sb2FkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUNwQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBRXhDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQTtBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBRTFDOzs7NkVBRzZFO0FBQzdFLE1BQU0sZUFBZSxHQUFzQztJQUN6RCxLQUFLLEVBQUUsT0FBTztJQUNkLEtBQUssRUFBRSxPQUFPO0lBQ2QsT0FBTyxFQUFFLE9BQU87Q0FDakIsQ0FBQTtBQUVELFNBQVMsYUFBYTtJQUNwQixLQUFLLE1BQU0sR0FBRyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDeEMsSUFBSSxHQUFHLElBQUksZUFBZTtZQUFFLE9BQU8sZUFBZSxDQUFDLEdBQUcsQ0FBRSxDQUFBO0lBQzFELENBQUM7SUFDRCxPQUFPLE9BQWdCLENBQUE7QUFDekIsQ0FBQztBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsVUFBVSxDQUFDLElBQWE7SUFDNUMsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQ3hDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssVUFBVSxDQUNwQyxDQUFBO0lBQ0QsTUFBTSxPQUFPLEdBQUcsV0FBVyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFBO0lBQzlFLE1BQU0sUUFBUSxHQUFHLElBQUksSUFBSSxPQUFPLENBQUE7SUFDaEMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsSUFBSSxvQkFBb0IsQ0FBQyxDQUFBO0lBQzFELElBQUksS0FBSyxHQUFlLEVBQUUsQ0FBQTtJQUMxQixJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ3pCLHlFQUF5RTtRQUN6RSxNQUFNLEdBQUcsR0FBRyxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLE1BQU0sSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUE7UUFDN0QsTUFBTSxNQUFNLEdBQTRCLE1BQU0sTUFBTSxrQ0FBQyxHQUFHLEVBQUMsQ0FBQTtRQUN6RCxLQUFLLEdBQUksTUFBTSxDQUFDLE9BQXNCLElBQUksRUFBRSxDQUFBO0lBQzlDLENBQUM7U0FBTSxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLFFBQVEsRUFBRSxDQUFDLENBQUE7SUFDdkQsQ0FBQztJQUNELE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNyQyxxRUFBcUU7SUFDckUsb0VBQW9FO0lBQ3BFLG9FQUFvRTtJQUNwRSxNQUFNLElBQUksR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsQ0FBQyxDQUFBO0lBQ3pELE9BQU8sRUFBRSxHQUFHLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLENBQUE7QUFDOUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4aXN0c1N5bmMgfSBmcm9tIFwibm9kZTpmc1wiXG5pbXBvcnQgeyBkaXJuYW1lLCByZXNvbHZlIH0gZnJvbSBcIm5vZGU6cGF0aFwiXG5pbXBvcnQgeyBwYXRoVG9GaWxlVVJMIH0gZnJvbSBcIm5vZGU6dXJsXCJcbmltcG9ydCB0eXBlIHsgQ29uZmlnLCBVc2VyQ29uZmlnIH0gZnJvbSBcIi4uLy4uL21vZGVscy9jb25maWcudHNcIlxuaW1wb3J0IHsgcmVzb2x2ZUJhc2UgfSBmcm9tIFwiLi4vLi4vaGVscGVycy9yZXNvbHZlLWJhc2UudHNcIlxuaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcIi4vZGVmaW5lLnRzXCJcblxuLyoqIE1hcCBsaXZlbWFyayBDTEkgdmVyYnMgdG8gdGhlIFZpdGUtZXF1aXZhbGVudCBgY29tbWFuZGAgc3RyaW5nIHVzZWQgYnlcbiAqICBgcmVzb2x2ZUJhc2UoKWAuIGBwcmV2aWV3YCBzZXJ2ZXMgdGhlIHByb2R1Y3Rpb24gYnVpbGQncyBhcnRpZmFjdHMgc29cbiAqICBpdCB1c2VzIHRoZSBidWlsZC1tb2RlIGJhc2UuIERlZmF1bHQgdG8gYFwiYnVpbGRcImAgZm9yIHNhZmV0eSB3aGVuIG5vXG4gKiAgcmVjb2duaXNlZCB2ZXJiIGlzIGluIGFyZ3YgKHRoZSBjb21tb24gcGF0aCBpcyBgbGl2ZW1hcmsgPHZlcmI+IC4uLmApLiAqL1xuY29uc3QgQ09NTUFORF9CWV9WRVJCOiBSZWNvcmQ8c3RyaW5nLCBcImJ1aWxkXCIgfCBcInNlcnZlXCI+ID0ge1xuICBzdGFydDogXCJzZXJ2ZVwiLFxuICBidWlsZDogXCJidWlsZFwiLFxuICBwcmV2aWV3OiBcImJ1aWxkXCIsXG59XG5cbmZ1bmN0aW9uIGRldGVjdENvbW1hbmQoKSB7XG4gIGZvciAoY29uc3QgYXJnIG9mIHByb2Nlc3MuYXJndi5zbGljZSgyKSkge1xuICAgIGlmIChhcmcgaW4gQ09NTUFORF9CWV9WRVJCKSByZXR1cm4gQ09NTUFORF9CWV9WRVJCW2FyZ10hXG4gIH1cbiAgcmV0dXJuIFwiYnVpbGRcIiBhcyBjb25zdFxufVxuXG4vKipcbiAqIExvYWQgYW5kIHZhbGlkYXRlIGEgY29uZmlnIGZpbGUsIGNoZWNraW5nIC0tY29uZmlnLy1jIENMSSBhcmcsIHRoZW4gY3dkLlxuICpcbiAqIElmIGEgcGF0aCBpcyBwcm92aWRlZCBleHBsaWNpdGx5IChhcmcgb3IgYC0tY29uZmlnYC9gLWNgKSBhbmQgdGhlXG4gKiBmaWxlIGlzIG1pc3NpbmcsIHRocm93cyDigJQgdGhlIHVzZXIgYXNrZWQgZm9yIGEgc3BlY2lmaWMgY29uZmlnIGFuZFxuICogaXQgaXNuJ3QgdGhlcmUuIElmIG5vIHBhdGggaXMgcHJvdmlkZWQgYW5kIG5vIGBsaXZlbWFyay5jb25maWcudHNgXG4gKiBleGlzdHMgaW4gY3dkLCBmYWxscyBiYWNrIHRvIHRoZSBkZWZhdWx0IGNvbmZpZyB3aXRoIGEgc3ludGhlc2l6ZWRcbiAqIGBjb25maWdQYXRoID0gPGN3ZD4vbGl2ZW1hcmsuY29uZmlnLnRzYCBzbyBkb3duc3RyZWFtIGNvZGUgKHRhcmdldFxuICogaGFzaCwgd2F0Y2hlcikgc3RpbGwgaGFzIGEgc3RhYmxlIHBlci1wcm9qZWN0IGtleS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvYWRDb25maWcocGF0aD86IHN0cmluZyk6IFByb21pc2U8Q29uZmlnPiB7XG4gIGNvbnN0IGNvbmZpZ0luZGV4ID0gcHJvY2Vzcy5hcmd2LmZpbmRJbmRleChcbiAgICBhID0+IGEgPT09IFwiLWNcIiB8fCBhID09PSBcIi0tY29uZmlnXCIsXG4gIClcbiAgY29uc3QgY2xpUGF0aCA9IGNvbmZpZ0luZGV4ICE9PSAtMSA/IHByb2Nlc3MuYXJndltjb25maWdJbmRleCArIDFdIDogdW5kZWZpbmVkXG4gIGNvbnN0IGV4cGxpY2l0ID0gcGF0aCA/PyBjbGlQYXRoXG4gIGNvbnN0IHJlc29sdmVkID0gcmVzb2x2ZShleHBsaWNpdCA/PyBcImxpdmVtYXJrLmNvbmZpZy50c1wiKVxuICBsZXQgaW5wdXQ6IFVzZXJDb25maWcgPSB7fVxuICBpZiAoZXhpc3RzU3luYyhyZXNvbHZlZCkpIHtcbiAgICAvLyBDYWNoZS1idXN0IHRoZSBFU00gaW1wb3J0IHNvIGRldi1zZXJ2ZXIgcmVzdGFydCByZWxvYWRzIGVkaXRzIG9uIGRpc2suXG4gICAgY29uc3QgdXJsID0gYCR7cGF0aFRvRmlsZVVSTChyZXNvbHZlZCkuaHJlZn0/dD0ke0RhdGUubm93KCl9YFxuICAgIGNvbnN0IG1vZHVsZTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBhd2FpdCBpbXBvcnQodXJsKVxuICAgIGlucHV0ID0gKG1vZHVsZS5kZWZhdWx0IGFzIFVzZXJDb25maWcpID8/IHt9XG4gIH0gZWxzZSBpZiAoZXhwbGljaXQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYENvbmZpZyBmaWxlIG5vdCBmb3VuZDogJHtyZXNvbHZlZH1gKVxuICB9XG4gIGNvbnN0IHZhbGlkYXRlZCA9IGRlZmluZUNvbmZpZyhpbnB1dClcbiAgLy8gUmVzb2x2ZSB0aGUgZnVuY3Rpb24gZm9ybSBvZiBgYmFzZWAgb25jZSwgaGVyZSwgdXNpbmcgdGhlIGxpdmVtYXJrXG4gIC8vIENMSSB2ZXJiLiBEb3duc3RyZWFtIGNvbnN1bWVycyAoVml0ZSBwbHVnaW4sIGNvbnRlbnQtY29sbGVjdGlvbnMsXG4gIC8vIHJ1bnRpbWUpIGdldCBhIHBsYWluIHN0cmluZ3x1bmRlZmluZWQgYW5kIG5ldmVyIHNlZSB0aGUgZnVuY3Rpb24uXG4gIGNvbnN0IGJhc2UgPSByZXNvbHZlQmFzZSh2YWxpZGF0ZWQuYmFzZSwgZGV0ZWN0Q29tbWFuZCgpKVxuICByZXR1cm4geyAuLi52YWxpZGF0ZWQsIGJhc2UsIHJvb3Q6IGRpcm5hbWUocmVzb2x2ZWQpLCBjb25maWdQYXRoOiByZXNvbHZlZCB9XG59XG4iXX0=
@@ -5,7 +5,7 @@ import { useHotkey } from "@tanstack/react-hotkeys";
5
5
  import { currentSection, sectionFirstArticle, sectionFlatArticles, sortedArticles, } from "../content/article.js";
6
6
  import { DynamicIcon } from "../helpers/dynamic-icon.js";
7
7
  import { prefixUrl } from "../helpers/prefix-url.js";
8
- import { sectionIcon } from "../helpers/section.js";
8
+ import { customSectionActive } from "../helpers/section.js";
9
9
  import { SidebarInset, SidebarProvider, SidebarTrigger, useSidebar, } from "../elements/sidebar.js";
10
10
  import { BackToTop } from "./BackToTop.js";
11
11
  import { Banner } from "./Banner.js";
@@ -24,14 +24,17 @@ export function Layout(props) {
24
24
  useHotkey("K", () => window.scrollBy({ top: -window.innerHeight * 0.8, behavior: "smooth" }));
25
25
  const sections = config.sections;
26
26
  const header = (_jsxs("header", { className: "sticky top-0 z-20 flex h-16 shrink-0 items-center border-b bg-background", children: [
27
- _jsx("div", { className: `flex items-center self-stretch pl-4 ${props.withSidebar ? "pr-4" : "md:pr-20"}`, children: props.withSidebar ? (_jsxs(_Fragment, { children: [
28
- _jsx("div", { className: "hidden md:flex", children: _jsx(SidebarTrigger, {}) }), _jsx(Link, { to: "/", className: "md:hidden flex items-center gap-2", children: _jsx(SiteTitle, {}) })
29
- ] })) : (_jsx(Link, { to: "/", className: "flex items-center gap-2", children: _jsx(SiteTitle, {}) })) }), _jsxs("div", { className: "hidden md:flex flex-1 items-center gap-8 self-stretch px-6 text-sm", children: [sections?.length ? (sections
27
+ _jsx("div", { className: `flex items-center self-stretch pl-4 ${props.withSidebar ? "pr-4" : "lg:pr-20"}`, children: props.withSidebar ? (_jsxs(_Fragment, { children: [
28
+ _jsx("div", { className: "hidden lg:flex", children: _jsx(SidebarTrigger, {}) }), _jsx(Link, { to: "/", className: "lg:hidden flex items-center gap-2", children: _jsx(SiteTitle, {}) })
29
+ ] })) : (_jsx(Link, { to: "/", className: "flex items-center gap-2", children: _jsx(SiteTitle, {}) })) }), _jsxs("div", { className: "hidden lg:flex flex-1 items-center gap-8 self-stretch px-6 text-sm", children: [sections?.length ? (sections
30
30
  .filter(section => section.position === "header")
31
31
  .map(section => {
32
- if (section.type === "external") {
33
- return (_jsxs("a", { href: prefixUrl(section.url, config.base), className: "inline-flex items-center gap-1.5 text-foreground opacity-80 hover:opacity-100 transition-opacity", children: [
34
- _jsx(DynamicIcon, { name: sectionIcon(section), className: "size-3.5" }), _jsx("span", { children: section.title })
32
+ const icon = section.icon;
33
+ if (section.type === "custom") {
34
+ const isActive = customSectionActive(section.url, pathname);
35
+ return (_jsxs("a", { href: prefixUrl(section.url, config.base), className: `inline-flex items-center gap-1.5 text-foreground ${isActive
36
+ ? "font-medium border-b-2 border-foreground pb-0.5 -mb-0.5"
37
+ : "opacity-80 hover:opacity-100 transition-opacity"}`, children: [icon && _jsx(DynamicIcon, { name: icon, className: "size-3.5" }), _jsx("span", { children: section.title })
35
38
  ] }, section.url));
36
39
  }
37
40
  const isActive = activeSection?.prefix === section.prefix;
@@ -43,14 +46,13 @@ export function Layout(props) {
43
46
  : undefined;
44
47
  return (_jsxs(Link, { to: target === "/" ? "/" : "/$", params: target && target !== "/" ? splatFor(target) : {}, className: `inline-flex items-center gap-1.5 text-foreground ${isActive
45
48
  ? "font-medium border-b-2 border-foreground pb-0.5 -mb-0.5"
46
- : "opacity-80 hover:opacity-100 transition-opacity"}`, children: [
47
- _jsx(DynamicIcon, { name: sectionIcon(section), className: "size-3.5" }), _jsxs("span", { children: [section.title, latestVersion && (_jsxs("span", { className: "opacity-80", children: [" (", latestVersion, ")"] }))] })
49
+ : "opacity-80 hover:opacity-100 transition-opacity"}`, children: [icon && _jsx(DynamicIcon, { name: icon, className: "size-3.5" }), _jsxs("span", { children: [section.title, latestVersion && (_jsxs("span", { className: "opacity-80", children: [" (", latestVersion, ")"] }))] })
48
50
  ] }, section.prefix));
49
51
  })) : (_jsx(Link, { to: "/", className: "text-foreground font-medium underline underline-offset-4", children: "Docs" })), config.links
50
52
  ?.filter(link => link.position === "header" &&
51
53
  (!link.prefix || link.prefix === activeSection?.prefix))
52
54
  .map(link => (_jsxs("a", { href: prefixUrl(link.url, config.base), className: "text-foreground opacity-80 hover:opacity-100 transition-opacity", children: [link.icon && (_jsx(DynamicIcon, { name: link.icon, className: "inline size-3.5 align-[-0.125em]" })), " ", link.title] }, link.url))), _jsx(Banner, {})
53
- ] }), _jsx("div", { className: "md:hidden ml-auto pr-2", children: _jsx(SidebarTrigger, {}) })
55
+ ] }), _jsx("div", { className: "lg:hidden ml-auto pr-2", children: _jsx(SidebarTrigger, {}) })
54
56
  ] }));
55
57
  return (_jsx(SidebarProvider, { defaultOpen: !!props.withSidebar, children: _jsx(SidebarShell, { withSidebar: props.withSidebar, header: header, children: props.children }) }, props.withSidebar ? "sidebar" : "mini"));
56
58
  }
@@ -67,4 +69,4 @@ function SidebarShell(props) {
67
69
  ] })
68
70
  ] }));
69
71
  }
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGF5b3V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2NvbXBvbmVudHMvTGF5b3V0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUNuRCxPQUFPLEVBQ0wsY0FBYyxFQUNkLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsY0FBYyxHQUNmLE1BQU0sdUJBQXVCLENBQUE7QUFDOUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE2QixDQUFBO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDbkQsT0FBTyxFQUNMLFlBQVksRUFDWixlQUFlLEVBQ2YsY0FBYyxFQUNkLFVBQVUsR0FDWCxNQUFNLHdCQUF5QixDQUFBO0FBQ2hDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBaUIsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sYUFBYyxDQUFBO0FBQ3JDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxjQUFlLENBQUE7QUFDdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFpQixDQUFBO0FBRTNDLFNBQVMsUUFBUSxDQUFDLFFBQWdCO0lBQ2hDLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQTtBQUNyRCxDQUFDO0FBRUQsTUFBTSxVQUFVLE1BQU0sQ0FBQyxLQUd0QjtJQUNDLE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxFQUFFLE1B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QUM7WUFBRSxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDdEUsQ0FBQyxDQUFBO0lBQ0QsT0FBTyxDQUNMLGVBQUssS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPO1lBQ25ELEtBQUMsT0FBTyxJQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVyxHQUFJLEVBQzNDLE1BQUMsWUFBWSxlQUNWLEtBQUssQ0FBQyxNQUFNLEVBQ2IsZUFBTSxTQUFTLEVBQUMsUUFBUSxZQUFFLEtBQUssQ0FBQyxRQUFRLEdBQVEsRUFDaEQsS0FBQyxTQUFTLEtBQUc7b0JBQ0E7WUFDWCxDQUNQLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcImxpdmVtYXJrOnZpcnR1YWxcIlxuaW1wb3J0IHsgTGluaywgdXNlTG9jYXRpb24sIHVzZU1hdGNoIH0gZnJvbSBcIkB0YW5zdGFjay9yZWFjdC1yb3V0ZXJcIlxuaW1wb3J0IHsgdXNlSG90a2V5IH0gZnJvbSBcIkB0YW5zdGFjay9yZWFjdC1ob3RrZXlzXCJcbmltcG9ydCB7XG4gIGN1cnJlbnRTZWN0aW9uLFxuICBzZWN0aW9uRmlyc3RBcnRpY2xlLFxuICBzZWN0aW9uRmxhdEFydGljbGVzLFxuICBzb3J0ZWRBcnRpY2xlcyxcbn0gZnJvbSBcIi4uL2NvbnRlbnQvYXJ0aWNsZS50c1wiXG5pbXBvcnQgeyBEeW5hbWljSWNvbiB9IGZyb20gXCIuLi9oZWxwZXJzL2R5bmFtaWMtaWNvbi50c3hcIlxuaW1wb3J0IHsgcHJlZml4VXJsIH0gZnJvbSBcIi4uL2hlbHBlcnMvcHJlZml4LXVybC50c1wiXG5pbXBvcnQgeyBzZWN0aW9uSWNvbiB9IGZyb20gXCIuLi9oZWxwZXJzL3NlY3Rpb24udHNcIlxuaW1wb3J0IHtcbiAgU2lkZWJhckluc2V0LFxuICBTaWRlYmFyUHJvdmlkZXIsXG4gIFNpZGViYXJUcmlnZ2VyLFxuICB1c2VTaWRlYmFyLFxufSBmcm9tIFwiLi4vZWxlbWVudHMvc2lkZWJhci50c3hcIlxuaW1wb3J0IHsgQmFja1RvVG9wIH0gZnJvbSBcIi4vQmFja1RvVG9wLnRzeFwiXG5pbXBvcnQgeyBCYW5uZXIgfSBmcm9tIFwiLi9CYW5uZXIudHN4XCJcbmltcG9ydCB7IFNpZGViYXIgfSBmcm9tIFwiLi9TaWRlYmFyLnRzeFwiXG5pbXBvcnQgeyBTaXRlVGl0bGUgfSBmcm9tIFwiLi9TaXRlVGl0bGUudHN4XCJcblxuZnVuY3Rpb24gc3BsYXRGb3IocGF0aG5hbWU6IHN0cmluZykge1xuICByZXR1cm4geyBfc3BsYXQ6IHBhdGhuYW1lLnJlcGxhY2UoL15cXC98XFwvJC9nLCBcIlwiKSB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBMYXlvdXQocHJvcHM6IHtcbiAgd2l0aFNpZGViYXI/OiBib29sZWFuXG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlXG59KSB7XG4gIGNvbnN0IHBhdGhuYW1lID0gdXNlTG9jYXRpb24oeyBzZWxlY3Q6IGwgPT4gbC5wYXRobmFtZSB9KVxuICBjb25zdCBhcnRpY2xlUm91dGUgPSB1c2VNYXRjaCh7IGZyb206IFwiLyRcIiwgc2hvdWxkVGhyb3c6IGZhbHNlIH0pXG4gIGNvbnN0IGFjdGl2ZVNlY3Rpb24gPSBhcnRpY2xlUm91dGVcbiAgICA/IGN1cnJlbnRTZWN0aW9uKGAvJHtwYXRobmFtZS5yZXBsYWNlKC9eXFwvfFxcLyQvZywgXCJcIil9L2ApXG4gICAgOiB1bmRlZmluZWRcblxuICB1c2VIb3RrZXkoXCJKXCIsICgpID0+XG4gICAgd2luZG93LnNjcm9sbEJ5KHsgdG9wOiB3aW5kb3cuaW5uZXJIZWlnaHQgKiAwLjgsIGJlaGF2aW9yOiBcInNtb290aFwiIH0pLFxuICApXG4gIHVzZUhvdGtleShcIktcIiwgKCkgPT5cbiAgICB3aW5kb3cuc2Nyb2xsQnkoeyB0b3A6IC13aW5kb3cuaW5uZXJIZWlnaHQgKiAwLjgsIGJlaGF2aW9yOiBcInNtb290aFwiIH0pLFxuICApXG5cbiAgY29uc3Qgc2VjdGlvbnMgPSBjb25maWcuc2VjdGlvbnNcblxuICBjb25zdCBoZWFkZXIgPSAoXG4gICAgPGhlYWRlciBjbGFzc05hbWU9XCJzdGlja3kgdG9wLTAgei0yMCBmbGV4IGgtMTYgc2hyaW5rLTAgaXRlbXMtY2VudGVyIGJvcmRlci1iIGJnLWJhY2tncm91bmRcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPXtgZmxleCBpdGVtcy1jZW50ZXIgc2VsZi1zdHJldGNoIHBsLTQgJHtwcm9wcy53aXRoU2lkZWJhciA/IFwicHItNFwiIDogXCJtZDpwci0yMFwifWB9XG4gICAgICA+XG4gICAgICAgIHtwcm9wcy53aXRoU2lkZWJhciA/IChcbiAgICAgICAgICA8PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJoaWRkZW4gbWQ6ZmxleFwiPlxuICAgICAgICAgICAgICA8U2lkZWJhclRyaWdnZXIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPExpbmsgdG89XCIvXCIgY2xhc3NOYW1lPVwibWQ6aGlkZGVuIGZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgICAgICAgIDxTaXRlVGl0bGUgLz5cbiAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8TGluayB0bz1cIi9cIiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICAgICAgPFNpdGVUaXRsZSAvPlxuICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJoaWRkZW4gbWQ6ZmxleCBmbGV4LTEgaXRlbXMtY2VudGVyIGdhcC04IHNlbGYtc3RyZXRjaCBweC02IHRleHQtc21cIj5cbiAgICAgICAge3NlY3Rpb25zPy5sZW5ndGggPyAoXG4gICAgICAgICAgc2VjdGlvbnNcbiAgICAgICAgICAgIC5maWx0ZXIoc2VjdGlvbiA9PiBzZWN0aW9uLnBvc2l0aW9uID09PSBcImhlYWRlclwiKVxuICAgICAgICAgICAgLm1hcChzZWN0aW9uID0+IHtcbiAgICAgICAgICAgICAgaWYgKHNlY3Rpb24udHlwZSA9PT0gXCJleHRlcm5hbFwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgIGtleT17c2VjdGlvbi51cmx9XG4gICAgICAgICAgICAgICAgICAgIGhyZWY9e3ByZWZpeFVybChzZWN0aW9uLnVybCwgY29uZmlnLmJhc2UpfVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEuNSB0ZXh0LWZvcmVncm91bmQgb3BhY2l0eS04MCBob3ZlcjpvcGFjaXR5LTEwMCB0cmFuc2l0aW9uLW9wYWNpdHlcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8RHluYW1pY0ljb25cbiAgICAgICAgICAgICAgICAgICAgICBuYW1lPXtzZWN0aW9uSWNvbihzZWN0aW9uKX1cbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJzaXplLTMuNVwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPntzZWN0aW9uLnRpdGxlfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgY29uc3QgaXNBY3RpdmUgPSBhY3RpdmVTZWN0aW9uPy5wcmVmaXggPT09IHNlY3Rpb24ucHJlZml4XG4gICAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9XG4gICAgICAgICAgICAgICAgc2VjdGlvbi50eXBlID09PSBcImJsb2dcIiB8fCBzZWN0aW9uLnR5cGUgPT09IFwiY2hhbmdlbG9nXCJcbiAgICAgICAgICAgICAgICAgID8gc2VjdGlvbi5wcmVmaXhcbiAgICAgICAgICAgICAgICAgIDogc2VjdGlvbkZpcnN0QXJ0aWNsZS5nZXQoc2VjdGlvbi5wcmVmaXgpXG4gICAgICAgICAgICAgIGNvbnN0IGxhdGVzdFZlcnNpb24gPVxuICAgICAgICAgICAgICAgIHNlY3Rpb24udHlwZSA9PT0gXCJjaGFuZ2Vsb2dcIiAmJiBzZWN0aW9uLnZlcnNpb25cbiAgICAgICAgICAgICAgICAgID8gc29ydGVkQXJ0aWNsZXMuZmluZChcbiAgICAgICAgICAgICAgICAgICAgICBhID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBhLnBhdGggPT09IHNlY3Rpb25GbGF0QXJ0aWNsZXMuZ2V0KHNlY3Rpb24ucHJlZml4KT8uWzBdLFxuICAgICAgICAgICAgICAgICAgICApPy50aXRsZVxuICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgICAgICAga2V5PXtzZWN0aW9uLnByZWZpeH1cbiAgICAgICAgICAgICAgICAgIHRvPXt0YXJnZXQgPT09IFwiL1wiID8gXCIvXCIgOiBcIi8kXCJ9XG4gICAgICAgICAgICAgICAgICBwYXJhbXM9e3RhcmdldCAmJiB0YXJnZXQgIT09IFwiL1wiID8gc3BsYXRGb3IodGFyZ2V0KSA6IHt9fVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgaW5saW5lLWZsZXggaXRlbXMtY2VudGVyIGdhcC0xLjUgdGV4dC1mb3JlZ3JvdW5kICR7XG4gICAgICAgICAgICAgICAgICAgIGlzQWN0aXZlXG4gICAgICAgICAgICAgICAgICAgICAgPyBcImZvbnQtbWVkaXVtIGJvcmRlci1iLTIgYm9yZGVyLWZvcmVncm91bmQgcGItMC41IC1tYi0wLjVcIlxuICAgICAgICAgICAgICAgICAgICAgIDogXCJvcGFjaXR5LTgwIGhvdmVyOm9wYWNpdHktMTAwIHRyYW5zaXRpb24tb3BhY2l0eVwiXG4gICAgICAgICAgICAgICAgICB9YH1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8RHluYW1pY0ljb25cbiAgICAgICAgICAgICAgICAgICAgbmFtZT17c2VjdGlvbkljb24oc2VjdGlvbil9XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInNpemUtMy41XCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgICAge3NlY3Rpb24udGl0bGV9XG4gICAgICAgICAgICAgICAgICAgIHtsYXRlc3RWZXJzaW9uICYmIChcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJvcGFjaXR5LTgwXCI+ICh7bGF0ZXN0VmVyc2lvbn0pPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgdG89XCIvXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQtZm9yZWdyb3VuZCBmb250LW1lZGl1bSB1bmRlcmxpbmUgdW5kZXJsaW5lLW9mZnNldC00XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBEb2NzXG4gICAgICAgICAgPC9MaW5rPlxuICAgICAgICApfVxuICAgICAgICB7Y29uZmlnLmxpbmtzXG4gICAgICAgICAgPy5maWx0ZXIoXG4gICAgICAgICAgICBsaW5rID0+XG4gICAgICAgICAgICAgIGxpbmsucG9zaXRpb24gPT09IFwiaGVhZGVyXCIgJiZcbiAgICAgICAgICAgICAgKCFsaW5rLnByZWZpeCB8fCBsaW5rLnByZWZpeCA9PT0gYWN0aXZlU2VjdGlvbj8ucHJlZml4KSxcbiAgICAgICAgICApXG4gICAgICAgICAgLm1hcChsaW5rID0+IChcbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgIGtleT17bGluay51cmx9XG4gICAgICAgICAgICAgIGhyZWY9e3ByZWZpeFVybChsaW5rLnVybCwgY29uZmlnLmJhc2UpfVxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LWZvcmVncm91bmQgb3BhY2l0eS04MCBob3ZlcjpvcGFjaXR5LTEwMCB0cmFuc2l0aW9uLW9wYWNpdHlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7bGluay5pY29uICYmIChcbiAgICAgICAgICAgICAgICA8RHluYW1pY0ljb25cbiAgICAgICAgICAgICAgICAgIG5hbWU9e2xpbmsuaWNvbn1cbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImlubGluZSBzaXplLTMuNSBhbGlnbi1bLTAuMTI1ZW1dXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApfXtcIiBcIn1cbiAgICAgICAgICAgICAge2xpbmsudGl0bGV9XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDxCYW5uZXIgLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJtZDpoaWRkZW4gbWwtYXV0byBwci0yXCI+XG4gICAgICAgIDxTaWRlYmFyVHJpZ2dlciAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9oZWFkZXI+XG4gIClcblxuICByZXR1cm4gKFxuICAgIDxTaWRlYmFyUHJvdmlkZXJcbiAgICAgIGtleT17cHJvcHMud2l0aFNpZGViYXIgPyBcInNpZGViYXJcIiA6IFwibWluaVwifVxuICAgICAgZGVmYXVsdE9wZW49eyEhcHJvcHMud2l0aFNpZGViYXJ9XG4gICAgPlxuICAgICAgPFNpZGViYXJTaGVsbCB3aXRoU2lkZWJhcj17cHJvcHMud2l0aFNpZGViYXJ9IGhlYWRlcj17aGVhZGVyfT5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9TaWRlYmFyU2hlbGw+XG4gICAgPC9TaWRlYmFyUHJvdmlkZXI+XG4gIClcbn1cblxuZnVuY3Rpb24gU2lkZWJhclNoZWxsKHByb3BzOiB7XG4gIHdpdGhTaWRlYmFyPzogYm9vbGVhblxuICBoZWFkZXI6IFJlYWN0LlJlYWN0Tm9kZVxuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZVxufSkge1xuICBjb25zdCB7IGlzTW9iaWxlLCBzZXRPcGVuTW9iaWxlIH0gPSB1c2VTaWRlYmFyKClcbiAgY29uc3Qgb25DbGljayA9IChldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHtcbiAgICBpZiAoIWlzTW9iaWxlKSByZXR1cm5cbiAgICBpZiAoKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuY2xvc2VzdChcImFcIikpIHNldE9wZW5Nb2JpbGUoZmFsc2UpXG4gIH1cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6IFwiY29udGVudHNcIiB9fSBvbkNsaWNrPXtvbkNsaWNrfT5cbiAgICAgIDxTaWRlYmFyIHdpdGhTaWRlYmFyPXtwcm9wcy53aXRoU2lkZWJhcn0gLz5cbiAgICAgIDxTaWRlYmFySW5zZXQ+XG4gICAgICAgIHtwcm9wcy5oZWFkZXJ9XG4gICAgICAgIDxtYWluIGNsYXNzTmFtZT1cImZsZXgtMVwiPntwcm9wcy5jaGlsZHJlbn08L21haW4+XG4gICAgICAgIDxCYWNrVG9Ub3AgLz5cbiAgICAgIDwvU2lkZWJhckluc2V0PlxuICAgIDwvZGl2PlxuICApXG59XG4iXX0=
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGF5b3V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2NvbXBvbmVudHMvTGF5b3V0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUNuRCxPQUFPLEVBQ0wsY0FBYyxFQUNkLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsY0FBYyxHQUNmLE1BQU0sdUJBQXVCLENBQUE7QUFDOUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE2QixDQUFBO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUMzRCxPQUFPLEVBQ0wsWUFBWSxFQUNaLGVBQWUsRUFDZixjQUFjLEVBQ2QsVUFBVSxHQUNYLE1BQU0sd0JBQXlCLENBQUE7QUFDaEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFpQixDQUFBO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFjLENBQUE7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWUsQ0FBQTtBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWlCLENBQUE7QUFFM0MsU0FBUyxRQUFRLENBQUMsUUFBZ0I7SUFDaEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFBO0FBQ3JELENBQUM7QUFFRCxNQUFNLFVBQVUsTUFBTSxDQUFDLEtBR3RCO0lBQ0MsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLEVBQUUs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YUFBYSxFQUFFLEdBQUcsVUFBVSxFQUFFLENBQUE7SUFDaEQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxLQUF1QyxFQUFFLEVBQUU7UUFDMUQsSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFNO1FBQ3JCLElBQUssS0FBSyxDQUFDLE1BQXNCLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUFFLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN0RSxDQUFDLENBQUE7SUFDRCxPQUFPLENBQ0wsZUFBSyxLQUFLLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU87WUFDbkQsS0FBQyxPQUFPLElBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXLEdBQUksRUFDM0MsTUFBQyxZQUFZLGVBQ1YsS0FBSyxDQUFDLE1BQU0sRUFDYixlQUFNLFNBQVMsRUFBQyxRQUFRLFlBQUUsS0FBSyxDQUFDLFFBQVEsR0FBUSxFQUNoRCxLQUFDLFNBQVMsS0FBRztvQkFDQTtZQUNYLENBQ1AsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25maWcgfSBmcm9tIFwibGl2ZW1hcms6dmlydHVhbFwiXG5pbXBvcnQgeyBMaW5rLCB1c2VMb2NhdGlvbiwgdXNlTWF0Y2ggfSBmcm9tIFwiQHRhbnN0YWNrL3JlYWN0LXJvdXRlclwiXG5pbXBvcnQgeyB1c2VIb3RrZXkgfSBmcm9tIFwiQHRhbnN0YWNrL3JlYWN0LWhvdGtleXNcIlxuaW1wb3J0IHtcbiAgY3VycmVudFNlY3Rpb24sXG4gIHNlY3Rpb25GaXJzdEFydGljbGUsXG4gIHNlY3Rpb25GbGF0QXJ0aWNsZXMsXG4gIHNvcnRlZEFydGljbGVzLFxufSBmcm9tIFwiLi4vY29udGVudC9hcnRpY2xlLnRzXCJcbmltcG9ydCB7IER5bmFtaWNJY29uIH0gZnJvbSBcIi4uL2hlbHBlcnMvZHluYW1pYy1pY29uLnRzeFwiXG5pbXBvcnQgeyBwcmVmaXhVcmwgfSBmcm9tIFwiLi4vaGVscGVycy9wcmVmaXgtdXJsLnRzXCJcbmltcG9ydCB7IGN1c3RvbVNlY3Rpb25BY3RpdmUgfSBmcm9tIFwiLi4vaGVscGVycy9zZWN0aW9uLnRzXCJcbmltcG9ydCB7XG4gIFNpZGViYXJJbnNldCxcbiAgU2lkZWJhclByb3ZpZGVyLFxuICBTaWRlYmFyVHJpZ2dlcixcbiAgdXNlU2lkZWJhcixcbn0gZnJvbSBcIi4uL2VsZW1lbnRzL3NpZGViYXIudHN4XCJcbmltcG9ydCB7IEJhY2tUb1RvcCB9IGZyb20gXCIuL0JhY2tUb1RvcC50c3hcIlxuaW1wb3J0IHsgQmFubmVyIH0gZnJvbSBcIi4vQmFubmVyLnRzeFwiXG5pbXBvcnQgeyBTaWRlYmFyIH0gZnJvbSBcIi4vU2lkZWJhci50c3hcIlxuaW1wb3J0IHsgU2l0ZVRpdGxlIH0gZnJvbSBcIi4vU2l0ZVRpdGxlLnRzeFwiXG5cbmZ1bmN0aW9uIHNwbGF0Rm9yKHBhdGhuYW1lOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHsgX3NwbGF0OiBwYXRobmFtZS5yZXBsYWNlKC9eXFwvfFxcLyQvZywgXCJcIikgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gTGF5b3V0KHByb3BzOiB7XG4gIHdpdGhTaWRlYmFyPzogYm9vbGVhblxuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZVxufSkge1xuICBjb25zdCBwYXRobmFtZSA9IHVzZUxvY2F0aW9uKHsgc2VsZWN0OiBsID0+IGwucGF0aG5hbWUgfSlcbiAgY29uc3QgYXJ0aWNsZVJvdXRlID0gdXNlTWF0Y2goeyBmcm9tOiBcIi8kXCIsIHNob3VsZFRocm93OiBmYWxzZSB9KVxuICBjb25zdCBhY3RpdmVTZWN0aW9uID0gYXJ0aWNsZVJvdXRlXG4gICAgPyBjdXJyZW50U2VjdGlvbihgLyR7cGF0aG5hbWUucmVwbGFjZSgvXlxcL3xcXC8kL2csIFwiXCIpfS9gKVxuICAgIDogdW5kZWZpbmVkXG5cbiAgdXNlSG90a2V5KFwiSlwiLCAoKSA9PlxuICAgIHdpbmRvdy5zY3JvbGxCeSh7IHRvcDogd2luZG93LmlubmVySGVpZ2h0ICogMC44LCBiZWhhdmlvcjogXCJzbW9vdGhcIiB9KSxcbiAgKVxuICB1c2VIb3RrZXkoXCJLXCIsICgpID0+XG4gICAgd2luZG93LnNjcm9sbEJ5KHsgdG9wOiAtd2luZG93LmlubmVySGVpZ2h0ICogMC44LCBiZWhhdmlvcjogXCJzbW9vdGhcIiB9KSxcbiAgKVxuXG4gIGNvbnN0IHNlY3Rpb25zID0gY29uZmlnLnNlY3Rpb25zXG5cbiAgY29uc3QgaGVhZGVyID0gKFxuICAgIDxoZWFkZXIgY2xhc3NOYW1lPVwic3RpY2t5IHRvcC0wIHotMjAgZmxleCBoLTE2IHNocmluay0wIGl0ZW1zLWNlbnRlciBib3JkZXItYiBiZy1iYWNrZ3JvdW5kXCI+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT17YGZsZXggaXRlbXMtY2VudGVyIHNlbGYtc3RyZXRjaCBwbC00ICR7cHJvcHMud2l0aFNpZGViYXIgPyBcInByLTRcIiA6IFwibGc6cHItMjBcIn1gfVxuICAgICAgPlxuICAgICAgICB7cHJvcHMud2l0aFNpZGViYXIgPyAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaGlkZGVuIGxnOmZsZXhcIj5cbiAgICAgICAgICAgICAgPFNpZGViYXJUcmlnZ2VyIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxMaW5rIHRvPVwiL1wiIGNsYXNzTmFtZT1cImxnOmhpZGRlbiBmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICAgICAgICA8U2l0ZVRpdGxlIC8+XG4gICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgPC8+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPExpbmsgdG89XCIvXCIgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTJcIj5cbiAgICAgICAgICAgIDxTaXRlVGl0bGUgLz5cbiAgICAgICAgICA8L0xpbms+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaGlkZGVuIGxnOmZsZXggZmxleC0xIGl0ZW1zLWNlbnRlciBnYXAtOCBzZWxmLXN0cmV0Y2ggcHgtNiB0ZXh0LXNtXCI+XG4gICAgICAgIHtzZWN0aW9ucz8ubGVuZ3RoID8gKFxuICAgICAgICAgIHNlY3Rpb25zXG4gICAgICAgICAgICAuZmlsdGVyKHNlY3Rpb24gPT4gc2VjdGlvbi5wb3NpdGlvbiA9PT0gXCJoZWFkZXJcIilcbiAgICAgICAgICAgIC5tYXAoc2VjdGlvbiA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGljb24gPSBzZWN0aW9uLmljb25cbiAgICAgICAgICAgICAgaWYgKHNlY3Rpb24udHlwZSA9PT0gXCJjdXN0b21cIikge1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzQWN0aXZlID0gY3VzdG9tU2VjdGlvbkFjdGl2ZShzZWN0aW9uLnVybCwgcGF0aG5hbWUpXG4gICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgIGtleT17c2VjdGlvbi51cmx9XG4gICAgICAgICAgICAgICAgICAgIGhyZWY9e3ByZWZpeFVybChzZWN0aW9uLnVybCwgY29uZmlnLmJhc2UpfVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2BpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTEuNSB0ZXh0LWZvcmVncm91bmQgJHtcbiAgICAgICAgICAgICAgICAgICAgICBpc0FjdGl2ZVxuICAgICAgICAgICAgICAgICAgICAgICAgPyBcImZvbnQtbWVkaXVtIGJvcmRlci1iLTIgYm9yZGVyLWZvcmVncm91bmQgcGItMC41IC1tYi0wLjVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgOiBcIm9wYWNpdHktODAgaG92ZXI6b3BhY2l0eS0xMDAgdHJhbnNpdGlvbi1vcGFjaXR5XCJcbiAgICAgICAgICAgICAgICAgICAgfWB9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHtpY29uICYmIDxEeW5hbWljSWNvbiBuYW1lPXtpY29ufSBjbGFzc05hbWU9XCJzaXplLTMuNVwiIC8+fVxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj57c2VjdGlvbi50aXRsZX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNvbnN0IGlzQWN0aXZlID0gYWN0aXZlU2VjdGlvbj8ucHJlZml4ID09PSBzZWN0aW9uLnByZWZpeFxuICAgICAgICAgICAgICBjb25zdCB0YXJnZXQgPVxuICAgICAgICAgICAgICAgIHNlY3Rpb24udHlwZSA9PT0gXCJibG9nXCIgfHwgc2VjdGlvbi50eXBlID09PSBcImNoYW5nZWxvZ1wiXG4gICAgICAgICAgICAgICAgICA/IHNlY3Rpb24ucHJlZml4XG4gICAgICAgICAgICAgICAgICA6IHNlY3Rpb25GaXJzdEFydGljbGUuZ2V0KHNlY3Rpb24ucHJlZml4KVxuICAgICAgICAgICAgICBjb25zdCBsYXRlc3RWZXJzaW9uID1cbiAgICAgICAgICAgICAgICBzZWN0aW9uLnR5cGUgPT09IFwiY2hhbmdlbG9nXCIgJiYgc2VjdGlvbi52ZXJzaW9uXG4gICAgICAgICAgICAgICAgICA/IHNvcnRlZEFydGljbGVzLmZpbmQoXG4gICAgICAgICAgICAgICAgICAgICAgYSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgYS5wYXRoID09PSBzZWN0aW9uRmxhdEFydGljbGVzLmdldChzZWN0aW9uLnByZWZpeCk/LlswXSxcbiAgICAgICAgICAgICAgICAgICAgKT8udGl0bGVcbiAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAgICAgIGtleT17c2VjdGlvbi5wcmVmaXh9XG4gICAgICAgICAgICAgICAgICB0bz17dGFyZ2V0ID09PSBcIi9cIiA/IFwiL1wiIDogXCIvJFwifVxuICAgICAgICAgICAgICAgICAgcGFyYW1zPXt0YXJnZXQgJiYgdGFyZ2V0ICE9PSBcIi9cIiA/IHNwbGF0Rm9yKHRhcmdldCkgOiB7fX1cbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YGlubGluZS1mbGV4IGl0ZW1zLWNlbnRlciBnYXAtMS41IHRleHQtZm9yZWdyb3VuZCAke1xuICAgICAgICAgICAgICAgICAgICBpc0FjdGl2ZVxuICAgICAgICAgICAgICAgICAgICAgID8gXCJmb250LW1lZGl1bSBib3JkZXItYi0yIGJvcmRlci1mb3JlZ3JvdW5kIHBiLTAuNSAtbWItMC41XCJcbiAgICAgICAgICAgICAgICAgICAgICA6IFwib3BhY2l0eS04MCBob3ZlcjpvcGFjaXR5LTEwMCB0cmFuc2l0aW9uLW9wYWNpdHlcIlxuICAgICAgICAgICAgICAgICAgfWB9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2ljb24gJiYgPER5bmFtaWNJY29uIG5hbWU9e2ljb259IGNsYXNzTmFtZT1cInNpemUtMy41XCIgLz59XG4gICAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgICAge3NlY3Rpb24udGl0bGV9XG4gICAgICAgICAgICAgICAgICAgIHtsYXRlc3RWZXJzaW9uICYmIChcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJvcGFjaXR5LTgwXCI+ICh7bGF0ZXN0VmVyc2lvbn0pPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgdG89XCIvXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQtZm9yZWdyb3VuZCBmb250LW1lZGl1bSB1bmRlcmxpbmUgdW5kZXJsaW5lLW9mZnNldC00XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBEb2NzXG4gICAgICAgICAgPC9MaW5rPlxuICAgICAgICApfVxuICAgICAgICB7Y29uZmlnLmxpbmtzXG4gICAgICAgICAgPy5maWx0ZXIoXG4gICAgICAgICAgICBsaW5rID0+XG4gICAgICAgICAgICAgIGxpbmsucG9zaXRpb24gPT09IFwiaGVhZGVyXCIgJiZcbiAgICAgICAgICAgICAgKCFsaW5rLnByZWZpeCB8fCBsaW5rLnByZWZpeCA9PT0gYWN0aXZlU2VjdGlvbj8ucHJlZml4KSxcbiAgICAgICAgICApXG4gICAgICAgICAgLm1hcChsaW5rID0+IChcbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgIGtleT17bGluay51cmx9XG4gICAgICAgICAgICAgIGhyZWY9e3ByZWZpeFVybChsaW5rLnVybCwgY29uZmlnLmJhc2UpfVxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LWZvcmVncm91bmQgb3BhY2l0eS04MCBob3ZlcjpvcGFjaXR5LTEwMCB0cmFuc2l0aW9uLW9wYWNpdHlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7bGluay5pY29uICYmIChcbiAgICAgICAgICAgICAgICA8RHluYW1pY0ljb25cbiAgICAgICAgICAgICAgICAgIG5hbWU9e2xpbmsuaWNvbn1cbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImlubGluZSBzaXplLTMuNSBhbGlnbi1bLTAuMTI1ZW1dXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApfXtcIiBcIn1cbiAgICAgICAgICAgICAge2xpbmsudGl0bGV9XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDxCYW5uZXIgLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJsZzpoaWRkZW4gbWwtYXV0byBwci0yXCI+XG4gICAgICAgIDxTaWRlYmFyVHJpZ2dlciAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9oZWFkZXI+XG4gIClcblxuICByZXR1cm4gKFxuICAgIDxTaWRlYmFyUHJvdmlkZXJcbiAgICAgIGtleT17cHJvcHMud2l0aFNpZGViYXIgPyBcInNpZGViYXJcIiA6IFwibWluaVwifVxuICAgICAgZGVmYXVsdE9wZW49eyEhcHJvcHMud2l0aFNpZGViYXJ9XG4gICAgPlxuICAgICAgPFNpZGViYXJTaGVsbCB3aXRoU2lkZWJhcj17cHJvcHMud2l0aFNpZGViYXJ9IGhlYWRlcj17aGVhZGVyfT5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9TaWRlYmFyU2hlbGw+XG4gICAgPC9TaWRlYmFyUHJvdmlkZXI+XG4gIClcbn1cblxuZnVuY3Rpb24gU2lkZWJhclNoZWxsKHByb3BzOiB7XG4gIHdpdGhTaWRlYmFyPzogYm9vbGVhblxuICBoZWFkZXI6IFJlYWN0LlJlYWN0Tm9kZVxuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZVxufSkge1xuICBjb25zdCB7IGlzTW9iaWxlLCBzZXRPcGVuTW9iaWxlIH0gPSB1c2VTaWRlYmFyKClcbiAgY29uc3Qgb25DbGljayA9IChldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHtcbiAgICBpZiAoIWlzTW9iaWxlKSByZXR1cm5cbiAgICBpZiAoKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuY2xvc2VzdChcImFcIikpIHNldE9wZW5Nb2JpbGUoZmFsc2UpXG4gIH1cbiAgcmV0dXJuIChcbiAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6IFwiY29udGVudHNcIiB9fSBvbkNsaWNrPXtvbkNsaWNrfT5cbiAgICAgIDxTaWRlYmFyIHdpdGhTaWRlYmFyPXtwcm9wcy53aXRoU2lkZWJhcn0gLz5cbiAgICAgIDxTaWRlYmFySW5zZXQ+XG4gICAgICAgIHtwcm9wcy5oZWFkZXJ9XG4gICAgICAgIDxtYWluIGNsYXNzTmFtZT1cImZsZXgtMVwiPntwcm9wcy5jaGlsZHJlbn08L21haW4+XG4gICAgICAgIDxCYWNrVG9Ub3AgLz5cbiAgICAgIDwvU2lkZWJhckluc2V0PlxuICAgIDwvZGl2PlxuICApXG59XG4iXX0=
@@ -89,8 +89,7 @@ export function SearchDialog(props) {
89
89
  ? "No results found."
90
90
  : "Type to search across all documentation." }), [...grouped.entries()].map(([group, items]) => (_jsx(CommandGroup, { heading: group, children: items.map(result => {
91
91
  const Icon = resolveArticleIcon(result.icon);
92
- return (_jsxs(CommandItem, { value: result.path, onSelect: () => handleSelect(result.path), className: "py-2.5", children: [
93
- _jsx(Icon, { className: "size-5 shrink-0 mt-0.5 self-start opacity-60" }), _jsxs("div", { className: "flex flex-col gap-0.5 min-w-0", children: [
92
+ return (_jsxs(CommandItem, { value: result.path, onSelect: () => handleSelect(result.path), className: "py-2.5", children: [Icon && (_jsx(Icon, { className: "size-5 shrink-0 mt-0.5 self-start opacity-60" })), _jsxs("div", { className: "flex flex-col gap-0.5 min-w-0", children: [
94
93
  _jsx("span", { className: "text-base font-medium", children: result.title }), result.snippet && (_jsx("span", { className: "text-sm text-muted-foreground line-clamp-1", children: _jsx(HighlightedText, { text: result.snippet, term: query }) }))] })
95
94
  ] }, result.path));
96
95
  }) }, group)))] }), _jsxs("div", { className: "flex items-center gap-4 border-t mt-2 px-4 py-2.5 text-sm text-muted-foreground", children: [
@@ -135,4 +134,4 @@ function HighlightedText(props) {
135
134
  const parts = props.text.split(regex);
136
135
  return (_jsx(_Fragment, { children: parts.map((part, i) => regex.test(part) ? (_jsx("span", { className: "text-foreground font-medium", children: part }, i)) : (part)) }));
137
136
  }
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VhcmNoRGlhbG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2NvbXBvbmVudHMvU2VhcmNoRGlhbG9nLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxNQUFNLE9BQU8sQ0FBQTtBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUMvRCxPQUFPLEVBQ0wsYUFBYSxFQUNiLFlBQVksRUFDWixZQUFZLEVBQ1osWUFBWSxFQUNaLFdBQVcsRUFDWCxXQUFXLEdBQ1osTUFBTSx3QkFBeUIsQ0FBQTtBQVVoQywrQ0FBK0M7QUFDL0MsTUFBTSxVQUFVLFlBQVksQ0FBQyxLQUc1QjtJQUNDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLEdBQUcsUUFBUSxDQUFpQixFQUFFLENBQUMsQ0FBQTtJQUMxRCxNQUFNLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUN0QyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQTRDLElBQUksQ0FBQyxDQUFBO0lBQ3JFLE1BQU0sUUFBUSxHQUFHLFdBQVcsRUFBRSxDQUFBO0lBRTlCLE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxLQUFLLElBQUksRUFBRTtRQUN6QyxJQUFJLEtBQUssQ0FBQyxPQUFPO1lBQUUsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFBO1FBQ3ZDLE1BQU0sRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUFDO1lBQ3RCLE1BQU0sRUFBRTtnQkFDTixLQUFLLEVBQUUsUUFBUTtnQkFDZixXQUFXLEVBQUUsUUFBUTtnQkFDckIsVUFBVSxFQUFFLFFBQVE7YUFDckI7U0FDRixDQUFDLENBQUE7UUFDRixNQUFNLGNBQWMsQ0FDbEIsRUFBRSxFQUNGLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZCLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSztZQUNkLFdBQVcsRUFBRSxDQUFDLENBQUMsV0FBVyxJQUFJLEVBQUU7WUFDaEMsVUFBVSxFQUFFLENBQUMsQ0FBQyxVQUFVO1NBQ3pCLENBQUMsQ0FBQyxDQUNKLENBQUE7UUFDRCxLQUFLLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQTtRQUNsQixPQUFPLEVBQUUsQ0FBQTtJQUNYLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUVOLE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FDMUIsQ0FBQyxPQUF3QyxFQUFFLElBQVksRUFBZ0IsRUFBRSxDQUFDLENBQUM7UUFDekUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO1FBQ3BCLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtRQUNsQixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7UUFDbEIsT0FBTyxFQUFFLElBQUk7WUFDWCxDQUFDLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDO1lBQzFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQy9CLEtBQUssRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztLQUM5QixDQUFDLEVBQ0YsRUFBRSxDQUNILENBQUE7SUFFRCxNQUFNLFlBQVksR0FBRyxXQUFXLENBQzlCLEtBQUssRUFBRSxJQUFZLEVBQUUsRUFBRTtRQUNyQixRQUFRLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7WUFDakIsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1lBQ2QsT0FBTTtRQUNSLENBQUM7UUFDRCxNQUFNLEVBQUUsR0FBRyxNQUFNLFdBQVcsRUFBRSxDQUFBO1FBQzlCLE1BQU0sSUFBSSxHQUFHLE1BQU0sTUFBTSxDQUFDLEVBQUUsRUFBRTtZQUM1QixJQUFJO1lBQ0osVUFBVSxFQUFFLENBQUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxZQUFZLENBQUM7WUFDbEQsU0FBUyxFQUFFLENBQUM7WUFDWixLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLEVBQUU7U0FDcEMsQ0FBQyxDQUFBO1FBQ0YsVUFBVSxDQUNSLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2xCLE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQ2pDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FDcEMsQ0FBQTtZQUNELElBQUksQ0FBQyxPQUFPO2dCQUNWLE9BQU8sUUFBUSxDQUNiO29CQUNFLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQztvQkFDcEIsS0FBSyxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSztvQkFDekIsSUFBSSxFQUFFLEVBQUU7b0JBQ1IsVUFBVSxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsV0FBVztvQkFDcEMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsV0FBVztvQkFDckMsSUFBSSxFQUFFLEVBQUU7aUJBQ1QsRUFDRCxJQUFJLENBQ0wsQ0FBQTtZQUNILE9BQU8sUUFBUSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQTtRQUNoQyxDQUFDLENBQUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQyxFQUNELENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUN4QixDQUFBO0lBRUQsTUFBTSxZQUFZLEdBQUcsV0FBVyxDQUM5QixDQUFDLElBQVksRUFBRSxFQUFFO1FBQ2YsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUN6QixRQUFRLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDWixVQUFVLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDZCxRQUFRLENBQUM7WUFDUCxFQUFFLEVBQUUsSUFBSTtZQUNSLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsRUFBRTtTQUNqRCxDQUFDLENBQUE7SUFDSixDQUFDLEVBQ0QsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUMvQixDQUFBO0lBRUQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRTtRQUMzQixNQUFNLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBMEIsQ0FBQTtRQUNoRCxLQUFLLE1BQU0sQ0FBQyxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ3hCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQTtZQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ1osTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQzNCLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFFYixPQUFPLENBQ0wsTUFBQyxhQUFhLElBQ1osS0FBSyxFQUFDLFFBQVEsRUFDZCxXQUFXLEVBQUMsc0JBQXNCLEVBQ2xDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxFQUNoQixZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVksRUFDaEMsWUFBWSxFQUFFLEtBQUssRUFDbkIsSUFBSTtZQUVKLEtBQUMsWUFBWSxJQUNYLFdBQVcsRUFBQyxnQkFBZ0IsRUFDNUIsS0FBSyxFQUFFLEtBQUssRUFDWixhQUFhLEVBQUUsWUFBWSxFQUMzQixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxHQUMvQixFQUNGLE1BQUMsV0FBVyxJQUFDLFNBQVMsRUFBQyxVQUFVO29CQUMvQixLQUFDLFlBQVksY0FDVixLQUFLLENBQUMsSUFBSSxFQUFFOzRCQUNYLENBQUMsQ0FBQyxtQkFBbUI7NEJBQ3JCLENBQUMsQ0FBQywwQ0FBMEMsR0FDakMsRUFDZCxDQUFDLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQzlDLEtBQUMsWUFBWSxJQUFhLE9BQU8sRUFBRSxLQUFLLFlBQ3JDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7NEJBQ2xCLE1BQU0sSUFBSSxHQUFHLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQTs0QkFDNUMsT0FBTyxDQUNMLE1BQUMsV0FBVyxJQUVWLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxFQUNsQixRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFDekMsU0FBUyxFQUFDLFFBQVE7b0NBRWxCLEtBQUMsSUFBSSxJQUFDLFNBQVMsRUFBQyw4Q0FBOEMsR0FBRyxFQUNqRSxlQUFLLFNBQVMsRUFBQywrQkFBK0I7NENBQzVDLGVBQU0sU0FBUyxFQUFDLHVCQUF1QixZQUNwQyxNQUFNLENBQUMsS0FBSyxHQUNSLEVBQ04sTUFBTSxDQUFDLE9BQU8sSUFBSSxDQUNqQixlQUFNLFNBQVMsRUFBQyw0Q0FBNEMsWUFDMUQsS0FBQyxlQUFlLElBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssR0FBSSxHQUNqRCxDQUNSLElBQ0c7cUNBZkQsTUFBTSxDQUFDLElBQUksQ0FnQkosQ0FDZixDQUFBO3dCQUNILENBQUMsQ0FBQyxJQXZCZSxLQUFLLENBd0JULENBQ2hCLENBQUMsSUFDVSxFQUNkLGVBQUssU0FBUyxFQUFDLGlGQUFpRjtvQkFDOUYsZ0JBQU0sU0FBUyxFQUFDLDJCQUEyQjs0QkFDekMsY0FBSyxTQUFTLEVBQUMsdUVBQXVFLDZCQUVoRjswQ0FFRCxFQUNQLGdCQUFNLFNBQVMsRUFBQywyQkFBMkI7NEJBQ3pDLGNBQUssU0FBUyxFQUFDLHVFQUF1RSx1QkFFaEY7d0NBRUQsRUFDUCxnQkFBTSxTQUFTLEVBQUMsMkJBQTJCOzRCQUN6QyxjQUFLLFNBQVMsRUFBQyx1RUFBdUUsb0JBRWhGO3VDQUVEO29CQUNIO1lBQ1EsQ0FDakIsQ0FBQTtBQUNILENBQUM7QUFFRCxTQUFTLFFBQVEsQ0FBQyxRQUFnQjtJQUNoQyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDNUQsSUFBSSxRQUFRLENBQUMsTUFBTSxJQUFJLENBQUM7UUFBRSxPQUFPLE9BQU8sQ0FBQTtJQUN4QyxPQUFPLFFBQVE7U0FDWixLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ1osR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQ1AsQ0FBQztTQUNFLEtBQUssQ0FBQyxHQUFHLENBQUM7U0FDVixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDaEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUNiO1NBQ0EsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0FBQ2hCLENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FBQyxJQUFZLEVBQUUsSUFBWTtJQUNoRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUE7SUFDaEMsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQTtJQUM3QyxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUM7UUFBRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBQ3pDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQTtJQUNuQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLENBQUE7SUFDekQsTUFBTSxNQUFNLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7SUFDbkMsTUFBTSxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFBO0lBQzNDLE9BQU8sR0FBRyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUE7QUFDdEQsQ0FBQztBQUVELFNBQVMsZUFBZSxDQUFDLEtBQXFDO0lBQzVELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtRQUFFLE9BQU8sNEJBQUcsS0FBSyxDQUFDLElBQUksR0FBSSxDQUFBO0lBQ2hELE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLHFCQUFxQixFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQ2pFLE1BQU0sS0FBSyxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksT0FBTyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDOUMsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDckMsT0FBTyxDQUNMLDRCQUNHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FDckIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDakIsZUFBYyxTQUFTLEVBQUMsNkJBQTZCLFlBQ2xELElBQUksSUFESSxDQUFDLENBRUwsQ0FDUixDQUFDLENBQUMsQ0FBQyxDQUNGLElBQUksQ0FDTCxDQUNGLEdBQ0EsQ0FDSixDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZVN0YXRlLCB1c2VSZWYsIHVzZUNhbGxiYWNrLCB1c2VNZW1vIH0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7IHVzZU5hdmlnYXRlIH0gZnJvbSBcIkB0YW5zdGFjay9yZWFjdC1yb3V0ZXJcIlxuaW1wb3J0IHsgY3JlYXRlLCBpbnNlcnRNdWx0aXBsZSwgc2VhcmNoIH0gZnJvbSBcIkBvcmFtYS9vcmFtYVwiXG5pbXBvcnQgeyBzb3J0ZWRBcnRpY2xlcyB9IGZyb20gXCIuLi9jb250ZW50L2FydGljbGUudHNcIlxuaW1wb3J0IHsgcmVzb2x2ZUFydGljbGVJY29uIH0gZnJvbSBcIi4uL2hlbHBlcnMvYXJ0aWNsZS1pY29uLnRzXCJcbmltcG9ydCB7XG4gIENvbW1hbmREaWFsb2csXG4gIENvbW1hbmRFbXB0eSxcbiAgQ29tbWFuZEdyb3VwLFxuICBDb21tYW5kSW5wdXQsXG4gIENvbW1hbmRJdGVtLFxuICBDb21tYW5kTGlzdCxcbn0gZnJvbSBcIi4uL2VsZW1lbnRzL2NvbW1hbmQudHN4XCJcblxuaW50ZXJmYWNlIFNlYXJjaFJlc3VsdCB7XG4gIHRpdGxlOiBzdHJpbmdcbiAgcGF0aDogc3RyaW5nXG4gIGljb246IHN0cmluZ1xuICBzbmlwcGV0OiBzdHJpbmdcbiAgZ3JvdXA6IHN0cmluZ1xufVxuXG4vKiogRnVsbC10ZXh0IHNlYXJjaCBkaWFsb2cgcG93ZXJlZCBieSBPcmFtYSAqL1xuZXhwb3J0IGZ1bmN0aW9uIFNlYXJjaERpYWxvZyhwcm9wczoge1xuICBvcGVuOiBib29sZWFuXG4gIG9uT3BlbkNoYW5nZTogKG9wZW46IGJvb2xlYW4pID0+IHZvaWRcbn0pIHtcbiAgY29uc3QgW3Jlc3VsdHMsIHNldFJlc3VsdHNdID0gdXNlU3RhdGU8U2VhcmNoUmVzdWx0W10+KFtdKVxuICBjb25zdCBbcXVlcnksIHNldFF1ZXJ5XSA9IHVzZVN0YXRlKFwiXCIpXG4gIGNvbnN0IGRiUmVmID0gdXNlUmVmPEF3YWl0ZWQ8UmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlPj4gfCBudWxsPihudWxsKVxuICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKClcblxuICBjb25zdCBlbnN1cmVJbmRleCA9IHVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICBpZiAoZGJSZWYuY3VycmVudCkgcmV0dXJuIGRiUmVmLmN1cnJlbnRcbiAgICBjb25zdCBkYiA9IGF3YWl0IGNyZWF0ZSh7XG4gICAgICBzY2hlbWE6IHtcbiAgICAgICAgdGl0bGU6IFwic3RyaW5nXCIsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBcInN0cmluZ1wiLFxuICAgICAgICBzZWFyY2hUZXh0OiBcInN0cmluZ1wiLFxuICAgICAgfSxcbiAgICB9KVxuICAgIGF3YWl0IGluc2VydE11bHRpcGxlKFxuICAgICAgZGIsXG4gICAgICBzb3J0ZWRBcnRpY2xlcy5tYXAoYSA9PiAoe1xuICAgICAgICB0aXRsZTogYS50aXRsZSxcbiAgICAgICAgZGVzY3JpcHRpb246IGEuZGVzY3JpcHRpb24gPz8gXCJcIixcbiAgICAgICAgc2VhcmNoVGV4dDogYS5zZWFyY2hUZXh0LFxuICAgICAgfSkpLFxuICAgIClcbiAgICBkYlJlZi5jdXJyZW50ID0gZGJcbiAgICByZXR1cm4gZGJcbiAgfSwgW10pXG5cbiAgY29uc3QgdG9SZXN1bHQgPSB1c2VDYWxsYmFjayhcbiAgICAoYXJ0aWNsZTogKHR5cGVvZiBzb3J0ZWRBcnRpY2xlcylbbnVtYmVyXSwgdGVybTogc3RyaW5nKTogU2VhcmNoUmVzdWx0ID0+ICh7XG4gICAgICB0aXRsZTogYXJ0aWNsZS50aXRsZSxcbiAgICAgIHBhdGg6IGFydGljbGUucGF0aCxcbiAgICAgIGljb246IGFydGljbGUuaWNvbixcbiAgICAgIHNuaXBwZXQ6IHRlcm1cbiAgICAgICAgPyBleHRyYWN0U25pcHBldChhcnRpY2xlLnNlYXJjaFRleHQsIHRlcm0pXG4gICAgICAgIDogKGFydGljbGUuZGVzY3JpcHRpb24gPz8gXCJcIiksXG4gICAgICBncm91cDogZ3JvdXBGb3IoYXJ0aWNsZS5wYXRoKSxcbiAgICB9KSxcbiAgICBbXSxcbiAgKVxuXG4gIGNvbnN0IGhhbmRsZVNlYXJjaCA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jICh0ZXJtOiBzdHJpbmcpID0+IHtcbiAgICAgIHNldFF1ZXJ5KHRlcm0pXG4gICAgICBpZiAoIXRlcm0udHJpbSgpKSB7XG4gICAgICAgIHNldFJlc3VsdHMoW10pXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgY29uc3QgZGIgPSBhd2FpdCBlbnN1cmVJbmRleCgpXG4gICAgICBjb25zdCBoaXRzID0gYXdhaXQgc2VhcmNoKGRiLCB7XG4gICAgICAgIHRlcm0sXG4gICAgICAgIHByb3BlcnRpZXM6IFtcInRpdGxlXCIsIFwiZGVzY3JpcHRpb25cIiwgXCJzZWFyY2hUZXh0XCJdLFxuICAgICAgICB0b2xlcmFuY2U6IDEsXG4gICAgICAgIGJvb3N0OiB7IHRpdGxlOiAzLCBkZXNjcmlwdGlvbjogMiB9LFxuICAgICAgfSlcbiAgICAgIHNldFJlc3VsdHMoXG4gICAgICAgIGhpdHMuaGl0cy5tYXAoaGl0ID0+IHtcbiAgICAgICAgICBjb25zdCBhcnRpY2xlID0gc29ydGVkQXJ0aWNsZXMuZmluZChcbiAgICAgICAgICAgIGEgPT4gYS50aXRsZSA9PT0gaGl0LmRvY3VtZW50LnRpdGxlLFxuICAgICAgICAgIClcbiAgICAgICAgICBpZiAoIWFydGljbGUpXG4gICAgICAgICAgICByZXR1cm4gdG9SZXN1bHQoXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAuLi5zb3J0ZWRBcnRpY2xlc1swXSxcbiAgICAgICAgICAgICAgICB0aXRsZTogaGl0LmRvY3VtZW50LnRpdGxlLFxuICAgICAgICAgICAgICAgIHBhdGg6IFwiXCIsXG4gICAgICAgICAgICAgICAgc2VhcmNoVGV4dDogaGl0LmRvY3VtZW50LmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBoaXQuZG9jdW1lbnQuZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgaWNvbjogXCJcIixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgdGVybSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICByZXR1cm4gdG9SZXN1bHQoYXJ0aWNsZSwgdGVybSlcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgfSxcbiAgICBbZW5zdXJlSW5kZXgsIHRvUmVzdWx0XSxcbiAgKVxuXG4gIGNvbnN0IGhhbmRsZVNlbGVjdCA9IHVzZUNhbGxiYWNrKFxuICAgIChwYXRoOiBzdHJpbmcpID0+IHtcbiAgICAgIHByb3BzLm9uT3BlbkNoYW5nZShmYWxzZSlcbiAgICAgIHNldFF1ZXJ5KFwiXCIpXG4gICAgICBzZXRSZXN1bHRzKFtdKVxuICAgICAgbmF2aWdhdGUoe1xuICAgICAgICB0bzogXCIvJFwiLFxuICAgICAgICBwYXJhbXM6IHsgX3NwbGF0OiBwYXRoLnJlcGxhY2UoL15cXC98XFwvJC9nLCBcIlwiKSB9LFxuICAgICAgfSlcbiAgICB9LFxuICAgIFtuYXZpZ2F0ZSwgcHJvcHMub25PcGVuQ2hhbmdlXSxcbiAgKVxuXG4gIGNvbnN0IGdyb3VwZWQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBncm91cHMgPSBuZXcgTWFwPHN0cmluZywgU2VhcmNoUmVzdWx0W10+KClcbiAgICBmb3IgKGNvbnN0IHIgb2YgcmVzdWx0cykge1xuICAgICAgY29uc3QgbGlzdCA9IGdyb3Vwcy5nZXQoci5ncm91cCkgPz8gW11cbiAgICAgIGxpc3QucHVzaChyKVxuICAgICAgZ3JvdXBzLnNldChyLmdyb3VwLCBsaXN0KVxuICAgIH1cbiAgICByZXR1cm4gZ3JvdXBzXG4gIH0sIFtyZXN1bHRzXSlcblxuICByZXR1cm4gKFxuICAgIDxDb21tYW5kRGlhbG9nXG4gICAgICB0aXRsZT1cIlNlYXJjaFwiXG4gICAgICBkZXNjcmlwdGlvbj1cIlNlYXJjaCBkb2N1bWVudGF0aW9uXCJcbiAgICAgIG9wZW49e3Byb3BzLm9wZW59XG4gICAgICBvbk9wZW5DaGFuZ2U9e3Byb3BzLm9uT3BlbkNoYW5nZX1cbiAgICAgIHNob3VsZEZpbHRlcj17ZmFsc2V9XG4gICAgICBsb29wXG4gICAgPlxuICAgICAgPENvbW1hbmRJbnB1dFxuICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaCBkb2NzLi4uXCJcbiAgICAgICAgdmFsdWU9e3F1ZXJ5fVxuICAgICAgICBvblZhbHVlQ2hhbmdlPXtoYW5kbGVTZWFyY2h9XG4gICAgICAgIG9uQ2xlYXI9eygpID0+IGhhbmRsZVNlYXJjaChcIlwiKX1cbiAgICAgIC8+XG4gICAgICA8Q29tbWFuZExpc3QgY2xhc3NOYW1lPVwibWF4LWgtODBcIj5cbiAgICAgICAgPENvbW1hbmRFbXB0eT5cbiAgICAgICAgICB7cXVlcnkudHJpbSgpXG4gICAgICAgICAgICA/IFwiTm8gcmVzdWx0cyBmb3VuZC5cIlxuICAgICAgICAgICAgOiBcIlR5cGUgdG8gc2VhcmNoIGFjcm9zcyBhbGwgZG9jdW1lbnRhdGlvbi5cIn1cbiAgICAgICAgPC9Db21tYW5kRW1wdHk+XG4gICAgICAgIHtbLi4uZ3JvdXBlZC5lbnRyaWVzKCldLm1hcCgoW2dyb3VwLCBpdGVtc10pID0+IChcbiAgICAgICAgICA8Q29tbWFuZEdyb3VwIGtleT17Z3JvdXB9IGhlYWRpbmc9e2dyb3VwfT5cbiAgICAgICAgICAgIHtpdGVtcy5tYXAocmVzdWx0ID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgSWNvbiA9IHJlc29sdmVBcnRpY2xlSWNvbihyZXN1bHQuaWNvbilcbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8Q29tbWFuZEl0ZW1cbiAgICAgICAgICAgICAgICAgIGtleT17cmVzdWx0LnBhdGh9XG4gICAgICAgICAgICAgICAgICB2YWx1ZT17cmVzdWx0LnBhdGh9XG4gICAgICAgICAgICAgICAgICBvblNlbGVjdD17KCkgPT4gaGFuZGxlU2VsZWN0KHJlc3VsdC5wYXRoKX1cbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInB5LTIuNVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPEljb24gY2xhc3NOYW1lPVwic2l6ZS01IHNocmluay0wIG10LTAuNSBzZWxmLXN0YXJ0IG9wYWNpdHktNjBcIiAvPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sIGdhcC0wLjUgbWluLXctMFwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LWJhc2UgZm9udC1tZWRpdW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICB7cmVzdWx0LnRpdGxlfVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIHtyZXN1bHQuc25pcHBldCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1zbSB0ZXh0LW11dGVkLWZvcmVncm91bmQgbGluZS1jbGFtcC0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SGlnaGxpZ2h0ZWRUZXh0IHRleHQ9e3Jlc3VsdC5zbmlwcGV0fSB0ZXJtPXtxdWVyeX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L0NvbW1hbmRJdGVtPlxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICA8L0NvbW1hbmRHcm91cD5cbiAgICAgICAgKSl9XG4gICAgICA8L0NvbW1hbmRMaXN0PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNCBib3JkZXItdCBtdC0yIHB4LTQgcHktMi41IHRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xLjVcIj5cbiAgICAgICAgICA8a2JkIGNsYXNzTmFtZT1cInJvdW5kZWQgYm9yZGVyIGJvcmRlci1ib3JkZXIgYmctbXV0ZWQgcHgtMS41IHB5LTAuNSB0ZXh0LXhzIGZvbnQtbW9ub1wiPlxuICAgICAgICAgICAg4oaR4oaTXG4gICAgICAgICAgPC9rYmQ+XG4gICAgICAgICAgbmF2aWdhdGVcbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMS41XCI+XG4gICAgICAgICAgPGtiZCBjbGFzc05hbWU9XCJyb3VuZGVkIGJvcmRlciBib3JkZXItYm9yZGVyIGJnLW11dGVkIHB4LTEuNSBweS0wLjUgdGV4dC14cyBmb250LW1vbm9cIj5cbiAgICAgICAgICAgIOKGtVxuICAgICAgICAgIDwva2JkPlxuICAgICAgICAgIHNlbGVjdFxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xLjVcIj5cbiAgICAgICAgICA8a2JkIGNsYXNzTmFtZT1cInJvdW5kZWQgYm9yZGVyIGJvcmRlci1ib3JkZXIgYmctbXV0ZWQgcHgtMS41IHB5LTAuNSB0ZXh0LXhzIGZvbnQtbW9ub1wiPlxuICAgICAgICAgICAgZXNjXG4gICAgICAgICAgPC9rYmQ+XG4gICAgICAgICAgY2xvc2VcbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9Db21tYW5kRGlhbG9nPlxuICApXG59XG5cbmZ1bmN0aW9uIGdyb3VwRm9yKHBhdGhuYW1lOiBzdHJpbmcpIHtcbiAgY29uc3Qgc2VnbWVudHMgPSBwYXRobmFtZS5yZXBsYWNlKC9eXFwvfFxcLyQvZywgXCJcIikuc3BsaXQoXCIvXCIpXG4gIGlmIChzZWdtZW50cy5sZW5ndGggPD0gMikgcmV0dXJuIFwiUGFnZXNcIlxuICByZXR1cm4gc2VnbWVudHNcbiAgICAuc2xpY2UoMSwgLTEpXG4gICAgLm1hcChzID0+XG4gICAgICBzXG4gICAgICAgIC5zcGxpdChcIi1cIilcbiAgICAgICAgLm1hcCh3ID0+IHcuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB3LnNsaWNlKDEpKVxuICAgICAgICAuam9pbihcIiBcIiksXG4gICAgKVxuICAgIC5qb2luKFwiIOKAuiBcIilcbn1cblxuZnVuY3Rpb24gZXh0cmFjdFNuaXBwZXQodGV4dDogc3RyaW5nLCB0ZXJtOiBzdHJpbmcpIHtcbiAgY29uc3QgbG93ZXIgPSB0ZXh0LnRvTG93ZXJDYXNlKClcbiAgY29uc3QgaWR4ID0gbG93ZXIuaW5kZXhPZih0ZXJtLnRvTG93ZXJDYXNlKCkpXG4gIGlmIChpZHggPT09IC0xKSByZXR1cm4gdGV4dC5zbGljZSgwLCAxMjApXG4gIGNvbnN0IHN0YXJ0ID0gTWF0aC5tYXgoMCwgaWR4IC0gNDApXG4gIGNvbnN0IGVuZCA9IE1hdGgubWluKHRleHQubGVuZ3RoLCBpZHggKyB0ZXJtLmxlbmd0aCArIDgwKVxuICBjb25zdCBwcmVmaXggPSBzdGFydCA+IDAgPyBcIuKAplwiIDogXCJcIlxuICBjb25zdCBzdWZmaXggPSBlbmQgPCB0ZXh0Lmxlbmd0aCA/IFwi4oCmXCIgOiBcIlwiXG4gIHJldHVybiBgJHtwcmVmaXh9JHt0ZXh0LnNsaWNlKHN0YXJ0LCBlbmQpfSR7c3VmZml4fWBcbn1cblxuZnVuY3Rpb24gSGlnaGxpZ2h0ZWRUZXh0KHByb3BzOiB7IHRleHQ6IHN0cmluZzsgdGVybTogc3RyaW5nIH0pIHtcbiAgaWYgKCFwcm9wcy50ZXJtLnRyaW0oKSkgcmV0dXJuIDw+e3Byb3BzLnRleHR9PC8+XG4gIGNvbnN0IGVzY2FwZWQgPSBwcm9wcy50ZXJtLnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXF1cXFxcXS9nLCBcIlxcXFwkJlwiKVxuICBjb25zdCByZWdleCA9IG5ldyBSZWdFeHAoYCgke2VzY2FwZWR9KWAsIFwiZ2lcIilcbiAgY29uc3QgcGFydHMgPSBwcm9wcy50ZXh0LnNwbGl0KHJlZ2V4KVxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7cGFydHMubWFwKChwYXJ0LCBpKSA9PlxuICAgICAgICByZWdleC50ZXN0KHBhcnQpID8gKFxuICAgICAgICAgIDxzcGFuIGtleT17aX0gY2xhc3NOYW1lPVwidGV4dC1mb3JlZ3JvdW5kIGZvbnQtbWVkaXVtXCI+XG4gICAgICAgICAgICB7cGFydH1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgcGFydFxuICAgICAgICApLFxuICAgICAgKX1cbiAgICA8Lz5cbiAgKVxufVxuIl19
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VhcmNoRGlhbG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2NvbXBvbmVudHMvU2VhcmNoRGlhbG9nLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxNQUFNLE9BQU8sQ0FBQTtBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUMvRCxPQUFPLEVBQ0wsYUFBYSxFQUNiLFlBQVksRUFDWixZQUFZLEVBQ1osWUFBWSxFQUNaLFdBQVcsRUFDWCxXQUFXLEdBQ1osTUFBTSx3QkFBeUIsQ0FBQTtBQVVoQywrQ0FBK0M7QUFDL0MsTUFBTSxVQUFVLFlBQVksQ0FBQyxLQUc1QjtJQUNDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLEdBQUcsUUFBUSxDQUFpQixFQUFFLENBQUMsQ0FBQTtJQUMxRCxNQUFNLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUN0QyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQTRDLElBQUksQ0FBQyxDQUFBO0lBQ3JFLE1BQU0sUUFBUSxHQUFHLFdBQVcsRUFBRSxDQUFBO0lBRTlCLE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxLQUFLLElBQUksRUFBRTtRQUN6QyxJQUFJLEtBQUssQ0FBQyxPQUFPO1lBQUUsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFBO1FBQ3ZDLE1BQU0sRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUFDO1lBQ3RCLE1BQU0sRUFB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QUNyQyxPQUFPLENBQ0wsNEJBQ0csS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNyQixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNqQixlQUFjLFNBQVMsRUFBQyw2QkFBNkIsWUFDbEQsSUFBSSxJQURJLENBQUMsQ0FFTCxDQUNSLENBQUMsQ0FBQyxDQUFDLENBQ0YsSUFBSSxDQUNMLENBQ0YsR0FDQSxDQUNKLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlU3RhdGUsIHVzZVJlZiwgdXNlQ2FsbGJhY2ssIHVzZU1lbW8gfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHsgdXNlTmF2aWdhdGUgfSBmcm9tIFwiQHRhbnN0YWNrL3JlYWN0LXJvdXRlclwiXG5pbXBvcnQgeyBjcmVhdGUsIGluc2VydE11bHRpcGxlLCBzZWFyY2ggfSBmcm9tIFwiQG9yYW1hL29yYW1hXCJcbmltcG9ydCB7IHNvcnRlZEFydGljbGVzIH0gZnJvbSBcIi4uL2NvbnRlbnQvYXJ0aWNsZS50c1wiXG5pbXBvcnQgeyByZXNvbHZlQXJ0aWNsZUljb24gfSBmcm9tIFwiLi4vaGVscGVycy9hcnRpY2xlLWljb24udHNcIlxuaW1wb3J0IHtcbiAgQ29tbWFuZERpYWxvZyxcbiAgQ29tbWFuZEVtcHR5LFxuICBDb21tYW5kR3JvdXAsXG4gIENvbW1hbmRJbnB1dCxcbiAgQ29tbWFuZEl0ZW0sXG4gIENvbW1hbmRMaXN0LFxufSBmcm9tIFwiLi4vZWxlbWVudHMvY29tbWFuZC50c3hcIlxuXG5pbnRlcmZhY2UgU2VhcmNoUmVzdWx0IHtcbiAgdGl0bGU6IHN0cmluZ1xuICBwYXRoOiBzdHJpbmdcbiAgaWNvbj86IHN0cmluZ1xuICBzbmlwcGV0OiBzdHJpbmdcbiAgZ3JvdXA6IHN0cmluZ1xufVxuXG4vKiogRnVsbC10ZXh0IHNlYXJjaCBkaWFsb2cgcG93ZXJlZCBieSBPcmFtYSAqL1xuZXhwb3J0IGZ1bmN0aW9uIFNlYXJjaERpYWxvZyhwcm9wczoge1xuICBvcGVuOiBib29sZWFuXG4gIG9uT3BlbkNoYW5nZTogKG9wZW46IGJvb2xlYW4pID0+IHZvaWRcbn0pIHtcbiAgY29uc3QgW3Jlc3VsdHMsIHNldFJlc3VsdHNdID0gdXNlU3RhdGU8U2VhcmNoUmVzdWx0W10+KFtdKVxuICBjb25zdCBbcXVlcnksIHNldFF1ZXJ5XSA9IHVzZVN0YXRlKFwiXCIpXG4gIGNvbnN0IGRiUmVmID0gdXNlUmVmPEF3YWl0ZWQ8UmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlPj4gfCBudWxsPihudWxsKVxuICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKClcblxuICBjb25zdCBlbnN1cmVJbmRleCA9IHVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICBpZiAoZGJSZWYuY3VycmVudCkgcmV0dXJuIGRiUmVmLmN1cnJlbnRcbiAgICBjb25zdCBkYiA9IGF3YWl0IGNyZWF0ZSh7XG4gICAgICBzY2hlbWE6IHtcbiAgICAgICAgdGl0bGU6IFwic3RyaW5nXCIsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBcInN0cmluZ1wiLFxuICAgICAgICBzZWFyY2hUZXh0OiBcInN0cmluZ1wiLFxuICAgICAgfSxcbiAgICB9KVxuICAgIGF3YWl0IGluc2VydE11bHRpcGxlKFxuICAgICAgZGIsXG4gICAgICBzb3J0ZWRBcnRpY2xlcy5tYXAoYSA9PiAoe1xuICAgICAgICB0aXRsZTogYS50aXRsZSxcbiAgICAgICAgZGVzY3JpcHRpb246IGEuZGVzY3JpcHRpb24gPz8gXCJcIixcbiAgICAgICAgc2VhcmNoVGV4dDogYS5zZWFyY2hUZXh0LFxuICAgICAgfSkpLFxuICAgIClcbiAgICBkYlJlZi5jdXJyZW50ID0gZGJcbiAgICByZXR1cm4gZGJcbiAgfSwgW10pXG5cbiAgY29uc3QgdG9SZXN1bHQgPSB1c2VDYWxsYmFjayhcbiAgICAoYXJ0aWNsZTogKHR5cGVvZiBzb3J0ZWRBcnRpY2xlcylbbnVtYmVyXSwgdGVybTogc3RyaW5nKTogU2VhcmNoUmVzdWx0ID0+ICh7XG4gICAgICB0aXRsZTogYXJ0aWNsZS50aXRsZSxcbiAgICAgIHBhdGg6IGFydGljbGUucGF0aCxcbiAgICAgIGljb246IGFydGljbGUuaWNvbixcbiAgICAgIHNuaXBwZXQ6IHRlcm1cbiAgICAgICAgPyBleHRyYWN0U25pcHBldChhcnRpY2xlLnNlYXJjaFRleHQsIHRlcm0pXG4gICAgICAgIDogKGFydGljbGUuZGVzY3JpcHRpb24gPz8gXCJcIiksXG4gICAgICBncm91cDogZ3JvdXBGb3IoYXJ0aWNsZS5wYXRoKSxcbiAgICB9KSxcbiAgICBbXSxcbiAgKVxuXG4gIGNvbnN0IGhhbmRsZVNlYXJjaCA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jICh0ZXJtOiBzdHJpbmcpID0+IHtcbiAgICAgIHNldFF1ZXJ5KHRlcm0pXG4gICAgICBpZiAoIXRlcm0udHJpbSgpKSB7XG4gICAgICAgIHNldFJlc3VsdHMoW10pXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgY29uc3QgZGIgPSBhd2FpdCBlbnN1cmVJbmRleCgpXG4gICAgICBjb25zdCBoaXRzID0gYXdhaXQgc2VhcmNoKGRiLCB7XG4gICAgICAgIHRlcm0sXG4gICAgICAgIHByb3BlcnRpZXM6IFtcInRpdGxlXCIsIFwiZGVzY3JpcHRpb25cIiwgXCJzZWFyY2hUZXh0XCJdLFxuICAgICAgICB0b2xlcmFuY2U6IDEsXG4gICAgICAgIGJvb3N0OiB7IHRpdGxlOiAzLCBkZXNjcmlwdGlvbjogMiB9LFxuICAgICAgfSlcbiAgICAgIHNldFJlc3VsdHMoXG4gICAgICAgIGhpdHMuaGl0cy5tYXAoaGl0ID0+IHtcbiAgICAgICAgICBjb25zdCBhcnRpY2xlID0gc29ydGVkQXJ0aWNsZXMuZmluZChcbiAgICAgICAgICAgIGEgPT4gYS50aXRsZSA9PT0gaGl0LmRvY3VtZW50LnRpdGxlLFxuICAgICAgICAgIClcbiAgICAgICAgICBpZiAoIWFydGljbGUpXG4gICAgICAgICAgICByZXR1cm4gdG9SZXN1bHQoXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAuLi5zb3J0ZWRBcnRpY2xlc1swXSxcbiAgICAgICAgICAgICAgICB0aXRsZTogaGl0LmRvY3VtZW50LnRpdGxlLFxuICAgICAgICAgICAgICAgIHBhdGg6IFwiXCIsXG4gICAgICAgICAgICAgICAgc2VhcmNoVGV4dDogaGl0LmRvY3VtZW50LmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBoaXQuZG9jdW1lbnQuZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgICAgaWNvbjogXCJcIixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgdGVybSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICByZXR1cm4gdG9SZXN1bHQoYXJ0aWNsZSwgdGVybSlcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgfSxcbiAgICBbZW5zdXJlSW5kZXgsIHRvUmVzdWx0XSxcbiAgKVxuXG4gIGNvbnN0IGhhbmRsZVNlbGVjdCA9IHVzZUNhbGxiYWNrKFxuICAgIChwYXRoOiBzdHJpbmcpID0+IHtcbiAgICAgIHByb3BzLm9uT3BlbkNoYW5nZShmYWxzZSlcbiAgICAgIHNldFF1ZXJ5KFwiXCIpXG4gICAgICBzZXRSZXN1bHRzKFtdKVxuICAgICAgbmF2aWdhdGUoe1xuICAgICAgICB0bzogXCIvJFwiLFxuICAgICAgICBwYXJhbXM6IHsgX3NwbGF0OiBwYXRoLnJlcGxhY2UoL15cXC98XFwvJC9nLCBcIlwiKSB9LFxuICAgICAgfSlcbiAgICB9LFxuICAgIFtuYXZpZ2F0ZSwgcHJvcHMub25PcGVuQ2hhbmdlXSxcbiAgKVxuXG4gIGNvbnN0IGdyb3VwZWQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBncm91cHMgPSBuZXcgTWFwPHN0cmluZywgU2VhcmNoUmVzdWx0W10+KClcbiAgICBmb3IgKGNvbnN0IHIgb2YgcmVzdWx0cykge1xuICAgICAgY29uc3QgbGlzdCA9IGdyb3Vwcy5nZXQoci5ncm91cCkgPz8gW11cbiAgICAgIGxpc3QucHVzaChyKVxuICAgICAgZ3JvdXBzLnNldChyLmdyb3VwLCBsaXN0KVxuICAgIH1cbiAgICByZXR1cm4gZ3JvdXBzXG4gIH0sIFtyZXN1bHRzXSlcblxuICByZXR1cm4gKFxuICAgIDxDb21tYW5kRGlhbG9nXG4gICAgICB0aXRsZT1cIlNlYXJjaFwiXG4gICAgICBkZXNjcmlwdGlvbj1cIlNlYXJjaCBkb2N1bWVudGF0aW9uXCJcbiAgICAgIG9wZW49e3Byb3BzLm9wZW59XG4gICAgICBvbk9wZW5DaGFuZ2U9e3Byb3BzLm9uT3BlbkNoYW5nZX1cbiAgICAgIHNob3VsZEZpbHRlcj17ZmFsc2V9XG4gICAgICBsb29wXG4gICAgPlxuICAgICAgPENvbW1hbmRJbnB1dFxuICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaCBkb2NzLi4uXCJcbiAgICAgICAgdmFsdWU9e3F1ZXJ5fVxuICAgICAgICBvblZhbHVlQ2hhbmdlPXtoYW5kbGVTZWFyY2h9XG4gICAgICAgIG9uQ2xlYXI9eygpID0+IGhhbmRsZVNlYXJjaChcIlwiKX1cbiAgICAgIC8+XG4gICAgICA8Q29tbWFuZExpc3QgY2xhc3NOYW1lPVwibWF4LWgtODBcIj5cbiAgICAgICAgPENvbW1hbmRFbXB0eT5cbiAgICAgICAgICB7cXVlcnkudHJpbSgpXG4gICAgICAgICAgICA/IFwiTm8gcmVzdWx0cyBmb3VuZC5cIlxuICAgICAgICAgICAgOiBcIlR5cGUgdG8gc2VhcmNoIGFjcm9zcyBhbGwgZG9jdW1lbnRhdGlvbi5cIn1cbiAgICAgICAgPC9Db21tYW5kRW1wdHk+XG4gICAgICAgIHtbLi4uZ3JvdXBlZC5lbnRyaWVzKCldLm1hcCgoW2dyb3VwLCBpdGVtc10pID0+IChcbiAgICAgICAgICA8Q29tbWFuZEdyb3VwIGtleT17Z3JvdXB9IGhlYWRpbmc9e2dyb3VwfT5cbiAgICAgICAgICAgIHtpdGVtcy5tYXAocmVzdWx0ID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgSWNvbiA9IHJlc29sdmVBcnRpY2xlSWNvbihyZXN1bHQuaWNvbilcbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8Q29tbWFuZEl0ZW1cbiAgICAgICAgICAgICAgICAgIGtleT17cmVzdWx0LnBhdGh9XG4gICAgICAgICAgICAgICAgICB2YWx1ZT17cmVzdWx0LnBhdGh9XG4gICAgICAgICAgICAgICAgICBvblNlbGVjdD17KCkgPT4gaGFuZGxlU2VsZWN0KHJlc3VsdC5wYXRoKX1cbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInB5LTIuNVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge0ljb24gJiYgKFxuICAgICAgICAgICAgICAgICAgICA8SWNvbiBjbGFzc05hbWU9XCJzaXplLTUgc2hyaW5rLTAgbXQtMC41IHNlbGYtc3RhcnQgb3BhY2l0eS02MFwiIC8+XG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sIGdhcC0wLjUgbWluLXctMFwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LWJhc2UgZm9udC1tZWRpdW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICB7cmVzdWx0LnRpdGxlfVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIHtyZXN1bHQuc25pcHBldCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1zbSB0ZXh0LW11dGVkLWZvcmVncm91bmQgbGluZS1jbGFtcC0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SGlnaGxpZ2h0ZWRUZXh0IHRleHQ9e3Jlc3VsdC5zbmlwcGV0fSB0ZXJtPXtxdWVyeX0gLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L0NvbW1hbmRJdGVtPlxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICA8L0NvbW1hbmRHcm91cD5cbiAgICAgICAgKSl9XG4gICAgICA8L0NvbW1hbmRMaXN0PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNCBib3JkZXItdCBtdC0yIHB4LTQgcHktMi41IHRleHQtc20gdGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xLjVcIj5cbiAgICAgICAgICA8a2JkIGNsYXNzTmFtZT1cInJvdW5kZWQgYm9yZGVyIGJvcmRlci1ib3JkZXIgYmctbXV0ZWQgcHgtMS41IHB5LTAuNSB0ZXh0LXhzIGZvbnQtbW9ub1wiPlxuICAgICAgICAgICAg4oaR4oaTXG4gICAgICAgICAgPC9rYmQ+XG4gICAgICAgICAgbmF2aWdhdGVcbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMS41XCI+XG4gICAgICAgICAgPGtiZCBjbGFzc05hbWU9XCJyb3VuZGVkIGJvcmRlciBib3JkZXItYm9yZGVyIGJnLW11dGVkIHB4LTEuNSBweS0wLjUgdGV4dC14cyBmb250LW1vbm9cIj5cbiAgICAgICAgICAgIOKGtVxuICAgICAgICAgIDwva2JkPlxuICAgICAgICAgIHNlbGVjdFxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0xLjVcIj5cbiAgICAgICAgICA8a2JkIGNsYXNzTmFtZT1cInJvdW5kZWQgYm9yZGVyIGJvcmRlci1ib3JkZXIgYmctbXV0ZWQgcHgtMS41IHB5LTAuNSB0ZXh0LXhzIGZvbnQtbW9ub1wiPlxuICAgICAgICAgICAgZXNjXG4gICAgICAgICAgPC9rYmQ+XG4gICAgICAgICAgY2xvc2VcbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9Db21tYW5kRGlhbG9nPlxuICApXG59XG5cbmZ1bmN0aW9uIGdyb3VwRm9yKHBhdGhuYW1lOiBzdHJpbmcpIHtcbiAgY29uc3Qgc2VnbWVudHMgPSBwYXRobmFtZS5yZXBsYWNlKC9eXFwvfFxcLyQvZywgXCJcIikuc3BsaXQoXCIvXCIpXG4gIGlmIChzZWdtZW50cy5sZW5ndGggPD0gMikgcmV0dXJuIFwiUGFnZXNcIlxuICByZXR1cm4gc2VnbWVudHNcbiAgICAuc2xpY2UoMSwgLTEpXG4gICAgLm1hcChzID0+XG4gICAgICBzXG4gICAgICAgIC5zcGxpdChcIi1cIilcbiAgICAgICAgLm1hcCh3ID0+IHcuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB3LnNsaWNlKDEpKVxuICAgICAgICAuam9pbihcIiBcIiksXG4gICAgKVxuICAgIC5qb2luKFwiIOKAuiBcIilcbn1cblxuZnVuY3Rpb24gZXh0cmFjdFNuaXBwZXQodGV4dDogc3RyaW5nLCB0ZXJtOiBzdHJpbmcpIHtcbiAgY29uc3QgbG93ZXIgPSB0ZXh0LnRvTG93ZXJDYXNlKClcbiAgY29uc3QgaWR4ID0gbG93ZXIuaW5kZXhPZih0ZXJtLnRvTG93ZXJDYXNlKCkpXG4gIGlmIChpZHggPT09IC0xKSByZXR1cm4gdGV4dC5zbGljZSgwLCAxMjApXG4gIGNvbnN0IHN0YXJ0ID0gTWF0aC5tYXgoMCwgaWR4IC0gNDApXG4gIGNvbnN0IGVuZCA9IE1hdGgubWluKHRleHQubGVuZ3RoLCBpZHggKyB0ZXJtLmxlbmd0aCArIDgwKVxuICBjb25zdCBwcmVmaXggPSBzdGFydCA+IDAgPyBcIuKAplwiIDogXCJcIlxuICBjb25zdCBzdWZmaXggPSBlbmQgPCB0ZXh0Lmxlbmd0aCA/IFwi4oCmXCIgOiBcIlwiXG4gIHJldHVybiBgJHtwcmVmaXh9JHt0ZXh0LnNsaWNlKHN0YXJ0LCBlbmQpfSR7c3VmZml4fWBcbn1cblxuZnVuY3Rpb24gSGlnaGxpZ2h0ZWRUZXh0KHByb3BzOiB7IHRleHQ6IHN0cmluZzsgdGVybTogc3RyaW5nIH0pIHtcbiAgaWYgKCFwcm9wcy50ZXJtLnRyaW0oKSkgcmV0dXJuIDw+e3Byb3BzLnRleHR9PC8+XG4gIGNvbnN0IGVzY2FwZWQgPSBwcm9wcy50ZXJtLnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXF1cXFxcXS9nLCBcIlxcXFwkJlwiKVxuICBjb25zdCByZWdleCA9IG5ldyBSZWdFeHAoYCgke2VzY2FwZWR9KWAsIFwiZ2lcIilcbiAgY29uc3QgcGFydHMgPSBwcm9wcy50ZXh0LnNwbGl0KHJlZ2V4KVxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7cGFydHMubWFwKChwYXJ0LCBpKSA9PlxuICAgICAgICByZWdleC50ZXN0KHBhcnQpID8gKFxuICAgICAgICAgIDxzcGFuIGtleT17aX0gY2xhc3NOYW1lPVwidGV4dC1mb3JlZ3JvdW5kIGZvbnQtbWVkaXVtXCI+XG4gICAgICAgICAgICB7cGFydH1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgcGFydFxuICAgICAgICApLFxuICAgICAgKX1cbiAgICA8Lz5cbiAgKVxufVxuIl19
@@ -35,10 +35,10 @@ function NavNode(props) {
35
35
  const link = _jsx(Link, { to: "/$", params: splatFor(node.path) });
36
36
  const label = _jsx("span", { children: node.label ?? node.title });
37
37
  if (node.children.length === 0) {
38
- return (_jsx(Item, { children: _jsxs(Button, { isActive: active, className: active ? "" : "opacity-75", render: link, children: [!isSub && _jsx(Icon, { className: "size-4" }), label] }) }));
38
+ return (_jsx(Item, { children: _jsxs(Button, { isActive: active, className: active ? "" : "opacity-75", render: link, children: [!isSub && Icon && _jsx(Icon, { className: "size-4" }), label] }) }));
39
39
  }
40
40
  return (_jsx(Item, { children: _jsxs(Collapsible, { defaultOpen: true, className: "group/collapsible", children: [
41
- _jsxs(Button, { isActive: active, className: active ? "" : "opacity-75", render: link, children: [!isSub && _jsx(Icon, { className: "size-4" }), label] }), _jsx(CollapsibleTrigger, { "aria-label": `Toggle ${node.label ?? node.title} submenu`, className: "absolute right-1 top-1.5 p-1 rounded-md hover:bg-sidebar-accent", children: _jsx(ChevronRight, { className: "size-3.5 transition-transform group-data-[open]/collapsible:rotate-90" }) }), _jsx(CollapsibleContent, { children: _jsx(SidebarMenuSub, { children: node.children.map(child => (_jsx(NavNode, { node: child, currentPath: currentPath, depth: depth + 1 }, child.path))) }) })
41
+ _jsxs(Button, { isActive: active, className: active ? "" : "opacity-75", render: link, children: [!isSub && Icon && _jsx(Icon, { className: "size-4" }), label] }), _jsx(CollapsibleTrigger, { "aria-label": `Toggle ${node.label ?? node.title} submenu`, className: "absolute right-1 top-1.5 p-1 rounded-md hover:bg-sidebar-accent", children: _jsx(ChevronRight, { className: "size-3.5 transition-transform group-data-[open]/collapsible:rotate-90" }) }), _jsx(CollapsibleContent, { children: _jsx(SidebarMenuSub, { children: node.children.map(child => (_jsx(NavNode, { node: child, currentPath: currentPath, depth: depth + 1 }, child.path))) }) })
42
42
  ] }) }));
43
43
  }
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2lkZWJhckFydGljbGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2NvbXBvbmVudHMvU2lkZWJhckFydGljbGVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUMzQyxPQUFPLEVBQ0wsV0FBVyxFQUNYLGNBQWMsRUFDZCxtQkFBbUIsR0FDcEIsTUFBTSx1QkFBdUIsQ0FBQTtBQUM5QixPQUFPLEVBQ0wsV0FBVyxFQUNYLGtCQUFrQixFQUNsQixrQkFBa0IsR0FDbkIsTUFBTSw0QkFBNkIsQ0FBQTtBQUNwQyxPQUFPLEVBQ0wsWUFBWSxFQUNaLG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixlQUFlLEVBQ2YsY0FBYyxFQUNkLG9CQUFvQixFQUNwQixrQkFBa0IsR0FDbkIsTUFBTSx3QkFBeUIsQ0FBQTtBQUNoQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUcvRCxtREFBbUQ7QUFDbkQsTUFBTSxVQUFVLGVBQWU7SUFDN0IsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7SUFFekQsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQTtJQUN0QyxNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDdkUsTUFBTSxJQUFJLEdBQUcsY0FBYyxFQUFFLE1BQU07UUFDakMsQ0FB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Q1QsS0FBQyxrQkFBa0Isa0JBQ0wsVUFBVSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLFVBQVUsRUFDeEQsU0FBUyxFQUFDLGlFQUFpRSxZQUUzRSxLQUFDLFlBQVksSUFBQyxTQUFTLEVBQUMsdUVBQXVFLEdBQUcsR0FDL0UsRUFDckIsS0FBQyxrQkFBa0IsY0FDakIsS0FBQyxjQUFjLGNBQ1osSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUMxQixLQUFDLE9BQU8sSUFFTixJQUFJLEVBQUUsS0FBSyxFQUNYLFdBQVcsRUFBRSxXQUFXLEVBQ3hCLEtBQUssRUFBRSxLQUFLLEdBQUcsQ0FBQyxJQUhYLEtBQUssQ0FBQyxJQUFJLENBSWYsQ0FDSCxDQUFDLEdBQ2EsR0FDRTtnQkFDVCxHQUNULENBQ1IsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25maWcgfSBmcm9tIFwibGl2ZW1hcms6dmlydHVhbFwiXG5pbXBvcnQgeyBMaW5rLCB1c2VMb2NhdGlvbiB9IGZyb20gXCJAdGFuc3RhY2svcmVhY3Qtcm91dGVyXCJcbmltcG9ydCB7IENoZXZyb25SaWdodCB9IGZyb20gXCJsdWNpZGUtcmVhY3RcIlxuaW1wb3J0IHtcbiAgYXJ0aWNsZVRyZWUsXG4gIGN1cnJlbnRTZWN0aW9uLFxuICBzZWN0aW9uQXJ0aWNsZVRyZWVzLFxufSBmcm9tIFwiLi4vY29udGVudC9hcnRpY2xlLnRzXCJcbmltcG9ydCB7XG4gIENvbGxhcHNpYmxlLFxuICBDb2xsYXBzaWJsZUNvbnRlbnQsXG4gIENvbGxhcHNpYmxlVHJpZ2dlcixcbn0gZnJvbSBcIi4uL2VsZW1lbnRzL2NvbGxhcHNpYmxlLnRzeFwiXG5pbXBvcnQge1xuICBTaWRlYmFyR3JvdXAsXG4gIFNpZGViYXJHcm91cENvbnRlbnQsXG4gIFNpZGViYXJHcm91cExhYmVsLFxuICBTaWRlYmFyTWVudSxcbiAgU2lkZWJhck1lbnVCdXR0b24sXG4gIFNpZGViYXJNZW51SXRlbSxcbiAgU2lkZWJhck1lbnVTdWIsXG4gIFNpZGViYXJNZW51U3ViQnV0dG9uLFxuICBTaWRlYmFyTWVudVN1Ykl0ZW0sXG59IGZyb20gXCIuLi9lbGVtZW50cy9zaWRlYmFyLnRzeFwiXG5pbXBvcnQgeyByZXNvbHZlQXJ0aWNsZUljb24gfSBmcm9tIFwiLi4vaGVscGVycy9hcnRpY2xlLWljb24udHNcIlxuaW1wb3J0IHR5cGUgeyBBcnRpY2xlTm9kZSB9IGZyb20gXCIuLi9tb2RlbHMvYXJ0aWNsZS50c1wiXG5cbi8qKiBBcnRpY2xlLXRyZWUgYm9keSBzbG90IGZvciB0aGUgU2lkZWJhciBzaGVsbCAqL1xuZXhwb3J0IGZ1bmN0aW9uIFNpZGViYXJBcnRpY2xlcygpIHtcbiAgY29uc3QgcGF0aG5hbWUgPSB1c2VMb2NhdGlvbih7IHNlbGVjdDogbCA9PiBsLnBhdGhuYW1lIH0pXG5cbiAgY29uc3QgY29uZmlnU2VjdGlvbnMgPSBjb25maWcuc2VjdGlvbnNcbiAgY29uc3Qgc2VjdGlvbiA9IGN1cnJlbnRTZWN0aW9uKGAvJHtwYXRobmFtZS5yZXBsYWNlKC9eXFwvfFxcLyQvZywgXCJcIil9L2ApXG4gIGNvbnN0IHRyZWUgPSBjb25maWdTZWN0aW9ucz8ubGVuZ3RoXG4gICAgPyAoc2VjdGlvbkFydGljbGVUcmVlcy5nZXQoc2VjdGlvbj8ucHJlZml4ID8/IFwiX19kZWZhdWx0X19cIikgPz8gYXJ0aWNsZVRyZWUpXG4gICAgOiBhcnRpY2xlVHJlZVxuXG4gIHJldHVybiAoXG4gICAgPFNpZGViYXJHcm91cD5cbiAgICAgIDxTaWRlYmFyR3JvdXBMYWJlbCBjbGFzc05hbWU9XCJ1cHBlcmNhc2UgZm9udC1tb25vIHRleHQteHMgdHJhY2tpbmctd2lkZXN0XCI+XG4gICAgICAgIEFydGljbGVzXG4gICAgICA8L1NpZGViYXJHcm91cExhYmVsPlxuICAgICAgPFNpZGViYXJHcm91cENvbnRlbnQ+XG4gICAgICAgIDxTaWRlYmFyTWVudT5cbiAgICAgICAgICB7dHJlZS5tYXAobm9kZSA9PiAoXG4gICAgICAgICAgICA8TmF2Tm9kZSBrZXk9e25vZGUucGF0aH0gbm9kZT17bm9kZX0gY3VycmVudFBhdGg9e3BhdGhuYW1lfSAvPlxuICAgICAgICAgICkpfVxuICAgICAgICA8L1NpZGViYXJNZW51PlxuICAgICAgPC9TaWRlYmFyR3JvdXBDb250ZW50PlxuICAgIDwvU2lkZWJhckdyb3VwPlxuICApXG59XG5cbmZ1bmN0aW9uIHNwbGF0Rm9yKHBhdGhuYW1lOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHsgX3NwbGF0OiBwYXRobmFtZS5yZXBsYWNlKC9eXFwvfFxcLyQvZywgXCJcIikgfVxufVxuXG5mdW5jdGlvbiBpc0FjdGl2ZShhcnRpY2xlUGF0aG5hbWU6IHN0cmluZywgY3VycmVudFBhdGg6IHN0cmluZykge1xuICBjb25zdCBub3JtYWxpemVkID0gYC8ke2N1cnJlbnRQYXRoLnJlcGxhY2UoL15cXC98XFwvJC9nLCBcIlwiKX0vYFxuICByZXR1cm4gYXJ0aWNsZVBhdGhuYW1lID09PSBub3JtYWxpemVkXG59XG5cbmZ1bmN0aW9uIE5hdk5vZGUocHJvcHM6IHtcbiAgbm9kZTogQXJ0aWNsZU5vZGVcbiAgY3VycmVudFBhdGg6IHN0cmluZ1xuICBkZXB0aD86IG51bWJlclxufSkge1xuICBjb25zdCB7IG5vZGUsIGN1cnJlbnRQYXRoLCBkZXB0aCA9IDAgfSA9IHByb3BzXG4gIGNvbnN0IEljb24gPSByZXNvbHZlQXJ0aWNsZUljb24obm9kZS5pY29uKVxuICBjb25zdCBhY3RpdmUgPSBpc0FjdGl2ZShub2RlLnBhdGgsIGN1cnJlbnRQYXRoKVxuICBjb25zdCBpc1N1YiA9IGRlcHRoID4gMFxuICBjb25zdCBJdGVtID0gaXNTdWIgPyBTaWRlYmFyTWVudVN1Ykl0ZW0gOiBTaWRlYmFyTWVudUl0ZW1cbiAgY29uc3QgQnV0dG9uID0gaXNTdWIgPyBTaWRlYmFyTWVudVN1YkJ1dHRvbiA6IFNpZGViYXJNZW51QnV0dG9uXG5cbiAgY29uc3QgbGluayA9IDxMaW5rIHRvPVwiLyRcIiBwYXJhbXM9e3NwbGF0Rm9yKG5vZGUucGF0aCl9IC8+XG4gIGNvbnN0IGxhYmVsID0gPHNwYW4+e25vZGUubGFiZWwgPz8gbm9kZS50aXRsZX08L3NwYW4+XG5cbiAgaWYgKG5vZGUuY2hpbGRyZW4ubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxJdGVtPlxuICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgaXNBY3RpdmU9e2FjdGl2ZX1cbiAgICAgICAgICBjbGFzc05hbWU9e2FjdGl2ZSA/IFwiXCIgOiBcIm9wYWNpdHktNzVcIn1cbiAgICAgICAgICByZW5kZXI9e2xpbmt9XG4gICAgICAgID5cbiAgICAgICAgICB7IWlzU3ViICYmIDxJY29uIGNsYXNzTmFtZT1cInNpemUtNFwiIC8+fVxuICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgPC9CdXR0b24+XG4gICAgICA8L0l0ZW0+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8SXRlbT5cbiAgICAgIDxDb2xsYXBzaWJsZSBkZWZhdWx0T3BlbiBjbGFzc05hbWU9XCJncm91cC9jb2xsYXBzaWJsZVwiPlxuICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgaXNBY3RpdmU9e2FjdGl2ZX1cbiAgICAgICAgICBjbGFzc05hbWU9e2FjdGl2ZSA/IFwiXCIgOiBcIm9wYWNpdHktNzVcIn1cbiAgICAgICAgICByZW5kZXI9e2xpbmt9XG4gICAgICAgID5cbiAgICAgICAgICB7IWlzU3ViICYmIDxJY29uIGNsYXNzTmFtZT1cInNpemUtNFwiIC8+fVxuICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgPC9CdXR0b24+XG4gICAgICAgIDxDb2xsYXBzaWJsZVRyaWdnZXJcbiAgICAgICAgICBhcmlhLWxhYmVsPXtgVG9nZ2xlICR7bm9kZS5sYWJlbCA/PyBub2RlLnRpdGxlfSBzdWJtZW51YH1cbiAgICAgICAgICBjbGFzc05hbWU9XCJhYnNvbHV0ZSByaWdodC0xIHRvcC0xLjUgcC0xIHJvdW5kZWQtbWQgaG92ZXI6Ymctc2lkZWJhci1hY2NlbnRcIlxuICAgICAgICA+XG4gICAgICAgICAgPENoZXZyb25SaWdodCBjbGFzc05hbWU9XCJzaXplLTMuNSB0cmFuc2l0aW9uLXRyYW5zZm9ybSBncm91cC1kYXRhLVtvcGVuXS9jb2xsYXBzaWJsZTpyb3RhdGUtOTBcIiAvPlxuICAgICAgICA8L0NvbGxhcHNpYmxlVHJpZ2dlcj5cbiAgICAgICAgPENvbGxhcHNpYmxlQ29udGVudD5cbiAgICAgICAgICA8U2lkZWJhck1lbnVTdWI+XG4gICAgICAgICAgICB7bm9kZS5jaGlsZHJlbi5tYXAoY2hpbGQgPT4gKFxuICAgICAgICAgICAgICA8TmF2Tm9kZVxuICAgICAgICAgICAgICAgIGtleT17Y2hpbGQucGF0aH1cbiAgICAgICAgICAgICAgICBub2RlPXtjaGlsZH1cbiAgICAgICAgICAgICAgICBjdXJyZW50UGF0aD17Y3VycmVudFBhdGh9XG4gICAgICAgICAgICAgICAgZGVwdGg9e2RlcHRoICsgMX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkpfVxuICAgICAgICAgIDwvU2lkZWJhck1lbnVTdWI+XG4gICAgICAgIDwvQ29sbGFwc2libGVDb250ZW50PlxuICAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICA8L0l0ZW0+XG4gIClcbn1cbiJdfQ==
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2lkZWJhckFydGljbGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2NvbXBvbmVudHMvU2lkZWJhckFydGljbGVzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUMzQyxPQUFPLEVBQ0wsV0FBVyxFQUNYLGNBQWMsRUFDZCxtQkFBbUIsR0FDcEIsTUFBTSx1QkFBdUIsQ0FBQTtBQUM5QixPQUFPLEVBQ0wsV0FBVyxFQUNYLGtCQUFrQixFQUNsQixrQkFBa0IsR0FDbkIsTUFBTSw0QkFBNkIsQ0FBQTtBQUNwQyxPQUFPLEVBQ0wsWUFBWSxFQUNaLG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixlQUFlLEVBQ2YsY0FBYyxFQUNkLG9CQUFvQixFQUNwQixrQkFBa0IsR0FDbkIsTUFBTSx3QkFBeUIsQ0FBQTtBQUNoQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUcvRCxtREFBbUQ7QUFDbkQsTUFBTSxVQUFVLGVBQWU7SUFDN0IsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7SUFFekQsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQTtJQUN0QyxNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDdkUsTUFBTSxJQUFJLEdBQUcsY0FBYyxFQUFFLE1BQU07UUFDakMsQ0FB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RyxFQUM3QyxLQUFLLElBQ0MsRUFDVCxLQUFDLGtCQUFrQixrQkFDTCxVQUFVLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssVUFBVSxFQUN4RCxTQUFTLEVBQUMsaUVBQWlFLFlBRTNFLEtBQUMsWUFBWSxJQUFDLFNBQVMsRUFBQyx1RUFBdUUsR0FBRyxHQUMvRSxFQUNyQixLQUFDLGtCQUFrQixjQUNqQixLQUFDLGNBQWMsY0FDWixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQzFCLEtBQUMsT0FBTyxJQUVOLElBQUksRUFBRSxLQUFLLEVBQ1gsV0FBVyxFQUFFLFdBQVcsRUFDeEIsS0FBSyxFQUFFLEtBQUssR0FBRyxDQUFDLElBSFgsS0FBSyxDQUFDLElBQUksQ0FJZixDQUNILENBQUMsR0FDYSxHQUNFO2dCQUNULEdBQ1QsQ0FDUixDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbmZpZyB9IGZyb20gXCJsaXZlbWFyazp2aXJ0dWFsXCJcbmltcG9ydCB7IExpbmssIHVzZUxvY2F0aW9uIH0gZnJvbSBcIkB0YW5zdGFjay9yZWFjdC1yb3V0ZXJcIlxuaW1wb3J0IHsgQ2hldnJvblJpZ2h0IH0gZnJvbSBcImx1Y2lkZS1yZWFjdFwiXG5pbXBvcnQge1xuICBhcnRpY2xlVHJlZSxcbiAgY3VycmVudFNlY3Rpb24sXG4gIHNlY3Rpb25BcnRpY2xlVHJlZXMsXG59IGZyb20gXCIuLi9jb250ZW50L2FydGljbGUudHNcIlxuaW1wb3J0IHtcbiAgQ29sbGFwc2libGUsXG4gIENvbGxhcHNpYmxlQ29udGVudCxcbiAgQ29sbGFwc2libGVUcmlnZ2VyLFxufSBmcm9tIFwiLi4vZWxlbWVudHMvY29sbGFwc2libGUudHN4XCJcbmltcG9ydCB7XG4gIFNpZGViYXJHcm91cCxcbiAgU2lkZWJhckdyb3VwQ29udGVudCxcbiAgU2lkZWJhckdyb3VwTGFiZWwsXG4gIFNpZGViYXJNZW51LFxuICBTaWRlYmFyTWVudUJ1dHRvbixcbiAgU2lkZWJhck1lbnVJdGVtLFxuICBTaWRlYmFyTWVudVN1YixcbiAgU2lkZWJhck1lbnVTdWJCdXR0b24sXG4gIFNpZGViYXJNZW51U3ViSXRlbSxcbn0gZnJvbSBcIi4uL2VsZW1lbnRzL3NpZGViYXIudHN4XCJcbmltcG9ydCB7IHJlc29sdmVBcnRpY2xlSWNvbiB9IGZyb20gXCIuLi9oZWxwZXJzL2FydGljbGUtaWNvbi50c1wiXG5pbXBvcnQgdHlwZSB7IEFydGljbGVOb2RlIH0gZnJvbSBcIi4uL21vZGVscy9hcnRpY2xlLnRzXCJcblxuLyoqIEFydGljbGUtdHJlZSBib2R5IHNsb3QgZm9yIHRoZSBTaWRlYmFyIHNoZWxsICovXG5leHBvcnQgZnVuY3Rpb24gU2lkZWJhckFydGljbGVzKCkge1xuICBjb25zdCBwYXRobmFtZSA9IHVzZUxvY2F0aW9uKHsgc2VsZWN0OiBsID0+IGwucGF0aG5hbWUgfSlcblxuICBjb25zdCBjb25maWdTZWN0aW9ucyA9IGNvbmZpZy5zZWN0aW9uc1xuICBjb25zdCBzZWN0aW9uID0gY3VycmVudFNlY3Rpb24oYC8ke3BhdGhuYW1lLnJlcGxhY2UoL15cXC98XFwvJC9nLCBcIlwiKX0vYClcbiAgY29uc3QgdHJlZSA9IGNvbmZpZ1NlY3Rpb25zPy5sZW5ndGhcbiAgICA/IChzZWN0aW9uQXJ0aWNsZVRyZWVzLmdldChzZWN0aW9uPy5wcmVmaXggPz8gXCJfX2RlZmF1bHRfX1wiKSA/PyBhcnRpY2xlVHJlZSlcbiAgICA6IGFydGljbGVUcmVlXG5cbiAgcmV0dXJuIChcbiAgICA8U2lkZWJhckdyb3VwPlxuICAgICAgPFNpZGViYXJHcm91cExhYmVsIGNsYXNzTmFtZT1cInVwcGVyY2FzZSBmb250LW1vbm8gdGV4dC14cyB0cmFja2luZy13aWRlc3RcIj5cbiAgICAgICAgQXJ0aWNsZXNcbiAgICAgIDwvU2lkZWJhckdyb3VwTGFiZWw+XG4gICAgICA8U2lkZWJhckdyb3VwQ29udGVudD5cbiAgICAgICAgPFNpZGViYXJNZW51PlxuICAgICAgICAgIHt0cmVlLm1hcChub2RlID0+IChcbiAgICAgICAgICAgIDxOYXZOb2RlIGtleT17bm9kZS5wYXRofSBub2RlPXtub2RlfSBjdXJyZW50UGF0aD17cGF0aG5hbWV9IC8+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvU2lkZWJhck1lbnU+XG4gICAgICA8L1NpZGViYXJHcm91cENvbnRlbnQ+XG4gICAgPC9TaWRlYmFyR3JvdXA+XG4gIClcbn1cblxuZnVuY3Rpb24gc3BsYXRGb3IocGF0aG5hbWU6IHN0cmluZykge1xuICByZXR1cm4geyBfc3BsYXQ6IHBhdGhuYW1lLnJlcGxhY2UoL15cXC98XFwvJC9nLCBcIlwiKSB9XG59XG5cbmZ1bmN0aW9uIGlzQWN0aXZlKGFydGljbGVQYXRobmFtZTogc3RyaW5nLCBjdXJyZW50UGF0aDogc3RyaW5nKSB7XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSBgLyR7Y3VycmVudFBhdGgucmVwbGFjZSgvXlxcL3xcXC8kL2csIFwiXCIpfS9gXG4gIHJldHVybiBhcnRpY2xlUGF0aG5hbWUgPT09IG5vcm1hbGl6ZWRcbn1cblxuZnVuY3Rpb24gTmF2Tm9kZShwcm9wczoge1xuICBub2RlOiBBcnRpY2xlTm9kZVxuICBjdXJyZW50UGF0aDogc3RyaW5nXG4gIGRlcHRoPzogbnVtYmVyXG59KSB7XG4gIGNvbnN0IHsgbm9kZSwgY3VycmVudFBhdGgsIGRlcHRoID0gMCB9ID0gcHJvcHNcbiAgY29uc3QgSWNvbiA9IHJlc29sdmVBcnRpY2xlSWNvbihub2RlLmljb24pXG4gIGNvbnN0IGFjdGl2ZSA9IGlzQWN0aXZlKG5vZGUucGF0aCwgY3VycmVudFBhdGgpXG4gIGNvbnN0IGlzU3ViID0gZGVwdGggPiAwXG4gIGNvbnN0IEl0ZW0gPSBpc1N1YiA/IFNpZGViYXJNZW51U3ViSXRlbSA6IFNpZGViYXJNZW51SXRlbVxuICBjb25zdCBCdXR0b24gPSBpc1N1YiA/IFNpZGViYXJNZW51U3ViQnV0dG9uIDogU2lkZWJhck1lbnVCdXR0b25cblxuICBjb25zdCBsaW5rID0gPExpbmsgdG89XCIvJFwiIHBhcmFtcz17c3BsYXRGb3Iobm9kZS5wYXRoKX0gLz5cbiAgY29uc3QgbGFiZWwgPSA8c3Bhbj57bm9kZS5sYWJlbCA/PyBub2RlLnRpdGxlfTwvc3Bhbj5cblxuICBpZiAobm9kZS5jaGlsZHJlbi5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gKFxuICAgICAgPEl0ZW0+XG4gICAgICAgIDxCdXR0b25cbiAgICAgICAgICBpc0FjdGl2ZT17YWN0aXZlfVxuICAgICAgICAgIGNsYXNzTmFtZT17YWN0aXZlID8gXCJcIiA6IFwib3BhY2l0eS03NVwifVxuICAgICAgICAgIHJlbmRlcj17bGlua31cbiAgICAgICAgPlxuICAgICAgICAgIHshaXNTdWIgJiYgSWNvbiAmJiA8SWNvbiBjbGFzc05hbWU9XCJzaXplLTRcIiAvPn1cbiAgICAgICAgICB7bGFiZWx9XG4gICAgICAgIDwvQnV0dG9uPlxuICAgICAgPC9JdGVtPlxuICAgIClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPEl0ZW0+XG4gICAgICA8Q29sbGFwc2libGUgZGVmYXVsdE9wZW4gY2xhc3NOYW1lPVwiZ3JvdXAvY29sbGFwc2libGVcIj5cbiAgICAgICAgPEJ1dHRvblxuICAgICAgICAgIGlzQWN0aXZlPXthY3RpdmV9XG4gICAgICAgICAgY2xhc3NOYW1lPXthY3RpdmUgPyBcIlwiIDogXCJvcGFjaXR5LTc1XCJ9XG4gICAgICAgICAgcmVuZGVyPXtsaW5rfVxuICAgICAgICA+XG4gICAgICAgICAgeyFpc1N1YiAmJiBJY29uICYmIDxJY29uIGNsYXNzTmFtZT1cInNpemUtNFwiIC8+fVxuICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgPC9CdXR0b24+XG4gICAgICAgIDxDb2xsYXBzaWJsZVRyaWdnZXJcbiAgICAgICAgICBhcmlhLWxhYmVsPXtgVG9nZ2xlICR7bm9kZS5sYWJlbCA/PyBub2RlLnRpdGxlfSBzdWJtZW51YH1cbiAgICAgICAgICBjbGFzc05hbWU9XCJhYnNvbHV0ZSByaWdodC0xIHRvcC0xLjUgcC0xIHJvdW5kZWQtbWQgaG92ZXI6Ymctc2lkZWJhci1hY2NlbnRcIlxuICAgICAgICA+XG4gICAgICAgICAgPENoZXZyb25SaWdodCBjbGFzc05hbWU9XCJzaXplLTMuNSB0cmFuc2l0aW9uLXRyYW5zZm9ybSBncm91cC1kYXRhLVtvcGVuXS9jb2xsYXBzaWJsZTpyb3RhdGUtOTBcIiAvPlxuICAgICAgICA8L0NvbGxhcHNpYmxlVHJpZ2dlcj5cbiAgICAgICAgPENvbGxhcHNpYmxlQ29udGVudD5cbiAgICAgICAgICA8U2lkZWJhck1lbnVTdWI+XG4gICAgICAgICAgICB7bm9kZS5jaGlsZHJlbi5tYXAoY2hpbGQgPT4gKFxuICAgICAgICAgICAgICA8TmF2Tm9kZVxuICAgICAgICAgICAgICAgIGtleT17Y2hpbGQucGF0aH1cbiAgICAgICAgICAgICAgICBub2RlPXtjaGlsZH1cbiAgICAgICAgICAgICAgICBjdXJyZW50UGF0aD17Y3VycmVudFBhdGh9XG4gICAgICAgICAgICAgICAgZGVwdGg9e2RlcHRoICsgMX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkpfVxuICAgICAgICAgIDwvU2lkZWJhck1lbnVTdWI+XG4gICAgICAgIDwvQ29sbGFwc2libGVDb250ZW50PlxuICAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICA8L0l0ZW0+XG4gIClcbn1cbiJdfQ==
@@ -15,12 +15,12 @@ export function SidebarLinks() {
15
15
  if (!links.length)
16
16
  return null;
17
17
  const hasDesktopItems = links.some(l => l.position === "sidebar");
18
- return (_jsxs(SidebarGroup, { className: hasDesktopItems ? undefined : "md:hidden", children: [
18
+ return (_jsxs(SidebarGroup, { className: hasDesktopItems ? undefined : "lg:hidden", children: [
19
19
  _jsx(SidebarGroupLabel, { className: "uppercase font-mono text-xs tracking-widest", children: "Links" }), _jsx(SidebarGroupContent, { children: _jsx(SidebarMenu, { children: links.map(link => {
20
20
  const mobileOnly = link.position !== "sidebar";
21
- return (_jsx(SidebarMenuItem, { className: mobileOnly ? "md:hidden" : undefined, children: _jsxs(SidebarMenuButton, { className: "text-muted-foreground", render: _jsx("a", { href: prefixUrl(link.url, config.base) }), children: [link.icon && (_jsx(DynamicIcon, { name: link.icon, className: "size-4" })), _jsx("span", { children: link.title })
21
+ return (_jsx(SidebarMenuItem, { className: mobileOnly ? "lg:hidden" : undefined, children: _jsxs(SidebarMenuButton, { className: "text-muted-foreground", render: _jsx("a", { href: prefixUrl(link.url, config.base) }), children: [link.icon && (_jsx(DynamicIcon, { name: link.icon, className: "size-4" })), _jsx("span", { children: link.title })
22
22
  ] }) }, link.url));
23
23
  }) }) })
24
24
  ] }));
25
25
  }
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2lkZWJhckxpbmtzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2NvbXBvbmVudHMvU2lkZWJhckxpbmtzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE2QixDQUFBO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUNwRCxPQUFPLEVBQ0wsWUFBWSxFQUNaLG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixlQUFlLEdBQ2hCLE1BQU0sd0JBQXlCLENBQUE7QUFFaEM7OzBFQUUwRTtBQUMxRSxNQUFNLFVBQVUsWUFBWTtJQUMxQixNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtJQUN6RCxNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDdkUsTUFBTSxLQUFLLEdBQ1QsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQ2xCLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssT0FBTyxFQUFFLE1BQU0sQ0FDeEQsSUFBSSxFQUFFLENBQUE7SUFFVCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU07UUFBRSxPQUFPLElBQUksQ0FBQTtJQUM5QixNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxTQUFTLENBQUMsQ0FBQTtJQUVqRSxPQUFPLENBQ0wsTUFBQyxZQUFZLElBQUMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxXQUFXO1lBQ2hFLEtBQUMsaUJBQWlCLElBQUMsU0FBUyxFQUFDLDZDQUE2QyxzQkFFdEQsRUFDcEIsS0FBQyxtQkFBbUIsY0FDbEIsS0FBQyxXQUFXLGNBQ1QsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTt3QkFDaEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTLENBQUE7d0JBQzlDLE9BQU8sQ0FDTCxLQUFDLGVBQWUsSUFFZCxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsWUFFL0MsTUFBQyxpQkFBaUIsSUFDaEIsU0FBUyxFQUFDLHVCQUF1QixFQUNqQyxNQUFNLEVBQUUsWUFBRyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFJLGFBRXBELElBQUksQ0FBQyxJQUFJLElBQUksQ0FDWixLQUFDLFdBQVcsSUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUMsUUFBUSxHQUFHLENBQ3BELEVBQ0QseUJBQU8sSUFBSSxDQUFDLEtBQUssR0FBUTtvQ0FDUCxJQVhmLElBQUksQ0FBQyxHQUFHLENBWUcsQ0FDbkIsQ0FBQTtvQkFDSCxDQUFDLENBQUMsR0FDVSxHQUNNO1lBQ1QsQ0FDaEIsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25maWcgfSBmcm9tIFwibGl2ZW1hcms6dmlydHVhbFwiXG5pbXBvcnQgeyB1c2VMb2NhdGlvbiB9IGZyb20gXCJAdGFuc3RhY2svcmVhY3Qtcm91dGVyXCJcbmltcG9ydCB7IGN1cnJlbnRTZWN0aW9uIH0gZnJvbSBcIi4uL2NvbnRlbnQvYXJ0aWNsZS50c1wiXG5pbXBvcnQgeyBEeW5hbWljSWNvbiB9IGZyb20gXCIuLi9oZWxwZXJzL2R5bmFtaWMtaWNvbi50c3hcIlxuaW1wb3J0IHsgcHJlZml4VXJsIH0gZnJvbSBcIi4uL2hlbHBlcnMvcHJlZml4LXVybC50c1wiXG5pbXBvcnQge1xuICBTaWRlYmFyR3JvdXAsXG4gIFNpZGViYXJHcm91cENvbnRlbnQsXG4gIFNpZGViYXJHcm91cExhYmVsLFxuICBTaWRlYmFyTWVudSxcbiAgU2lkZWJhck1lbnVCdXR0b24sXG4gIFNpZGViYXJNZW51SXRlbSxcbn0gZnJvbSBcIi4uL2VsZW1lbnRzL3NpZGViYXIudHN4XCJcblxuLyoqIFNoYXJlZCBMaW5rcyBncm91cC4gUmVuZGVycyBzaWRlYmFyLXBvc2l0aW9uZWQgbGlua3MgYWx3YXlzLCBhbmRcbiAqIGhlYWRlci1wb3NpdGlvbmVkIGxpbmtzIG9ubHkgb24gbW9iaWxlIChtb2JpbGUgY29sbGFwc2VzIGFsbCBjaHJvbWVcbiAqIGxpbmtzIGludG8gdGhlIHNpZGViYXIgc2luY2UgdGhlIGhlYWRlciBzdHJpcCBpcyBoaWRkZW4gYmVsb3cgYG1kYCkuICovXG5leHBvcnQgZnVuY3Rpb24gU2lkZWJhckxpbmtzKCkge1xuICBjb25zdCBwYXRobmFtZSA9IHVzZUxvY2F0aW9uKHsgc2VsZWN0OiBsID0+IGwucGF0aG5hbWUgfSlcbiAgY29uc3Qgc2VjdGlvbiA9IGN1cnJlbnRTZWN0aW9uKGAvJHtwYXRobmFtZS5yZXBsYWNlKC9eXFwvfFxcLyQvZywgXCJcIil9L2ApXG4gIGNvbnN0IGxpbmtzID1cbiAgICBjb25maWcubGlua3M/LmZpbHRlcihcbiAgICAgIGxpbmsgPT4gIWxpbmsucHJlZml4IHx8IGxpbmsucHJlZml4ID09PSBzZWN0aW9uPy5wcmVmaXgsXG4gICAgKSA/PyBbXVxuXG4gIGlmICghbGlua3MubGVuZ3RoKSByZXR1cm4gbnVsbFxuICBjb25zdCBoYXNEZXNrdG9wSXRlbXMgPSBsaW5rcy5zb21lKGwgPT4gbC5wb3NpdGlvbiA9PT0gXCJzaWRlYmFyXCIpXG5cbiAgcmV0dXJuIChcbiAgICA8U2lkZWJhckdyb3VwIGNsYXNzTmFtZT17aGFzRGVza3RvcEl0ZW1zID8gdW5kZWZpbmVkIDogXCJtZDpoaWRkZW5cIn0+XG4gICAgICA8U2lkZWJhckdyb3VwTGFiZWwgY2xhc3NOYW1lPVwidXBwZXJjYXNlIGZvbnQtbW9ubyB0ZXh0LXhzIHRyYWNraW5nLXdpZGVzdFwiPlxuICAgICAgICBMaW5rc1xuICAgICAgPC9TaWRlYmFyR3JvdXBMYWJlbD5cbiAgICAgIDxTaWRlYmFyR3JvdXBDb250ZW50PlxuICAgICAgICA8U2lkZWJhck1lbnU+XG4gICAgICAgICAge2xpbmtzLm1hcChsaW5rID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1vYmlsZU9ubHkgPSBsaW5rLnBvc2l0aW9uICE9PSBcInNpZGViYXJcIlxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPFNpZGViYXJNZW51SXRlbVxuICAgICAgICAgICAgICAgIGtleT17bGluay51cmx9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXttb2JpbGVPbmx5ID8gXCJtZDpoaWRkZW5cIiA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxTaWRlYmFyTWVudUJ1dHRvblxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCJcbiAgICAgICAgICAgICAgICAgIHJlbmRlcj17PGEgaHJlZj17cHJlZml4VXJsKGxpbmsudXJsLCBjb25maWcuYmFzZSl9IC8+fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtsaW5rLmljb24gJiYgKFxuICAgICAgICAgICAgICAgICAgICA8RHluYW1pY0ljb24gbmFtZT17bGluay5pY29ufSBjbGFzc05hbWU9XCJzaXplLTRcIiAvPlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgIDxzcGFuPntsaW5rLnRpdGxlfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L1NpZGViYXJNZW51QnV0dG9uPlxuICAgICAgICAgICAgICA8L1NpZGViYXJNZW51SXRlbT5cbiAgICAgICAgICAgIClcbiAgICAgICAgICB9KX1cbiAgICAgICAgPC9TaWRlYmFyTWVudT5cbiAgICAgIDwvU2lkZWJhckdyb3VwQ29udGVudD5cbiAgICA8L1NpZGViYXJHcm91cD5cbiAgKVxufVxuIl19
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2lkZWJhckxpbmtzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2NvbXBvbmVudHMvU2lkZWJhckxpbmtzLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE2QixDQUFBO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUNwRCxPQUFPLEVBQ0wsWUFBWSxFQUNaLG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixlQUFlLEdBQ2hCLE1BQU0sd0JBQXlCLENBQUE7QUFFaEM7OzBFQUUwRTtBQUMxRSxNQUFNLFVBQVUsWUFBWTtJQUMxQixNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtJQUN6RCxNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDdkUsTUFBTSxLQUFLLEdBQ1QsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQ2xCLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssT0FBTyxFQUFFLE1BQU0sQ0FDeEQsSUFBSSxFQUFFLENBQUE7SUFFVCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU07UUFBRSxPQUFPLElBQUksQ0FBQTtJQUM5QixNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxTQUFTLENBQUMsQ0FBQTtJQUVqRSxPQUFPLENBQ0wsTUFBQyxZQUFZLElBQUMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxXQUFXO1lBQ2hFLEtBQUMsaUJBQWlCLElBQUMsU0FBUyxFQUFDLDZDQUE2QyxzQkFFdEQsRUFDcEIsS0FBQyxtQkFBbUIsY0FDbEIsS0FBQyxXQUFXLGNBQ1QsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTt3QkFDaEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTLENBQUE7d0JBQzlDLE9BQU8sQ0FDTCxLQUFDLGVBQWUsSUFFZCxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsWUFFL0MsTUFBQyxpQkFBaUIsSUFDaEIsU0FBUyxFQUFDLHVCQUF1QixFQUNqQyxNQUFNLEVBQUUsWUFBRyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFJLGFBRXBELElBQUksQ0FBQyxJQUFJLElBQUksQ0FDWixLQUFDLFdBQVcsSUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUMsUUFBUSxHQUFHLENBQ3BELEVBQ0QseUJBQU8sSUFBSSxDQUFDLEtBQUssR0FBUTtvQ0FDUCxJQVhmLElBQUksQ0FBQyxHQUFHLENBWUcsQ0FDbkIsQ0FBQTtvQkFDSCxDQUFDLENBQUMsR0FDVSxHQUNNO1lBQ1QsQ0FDaEIsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25maWcgfSBmcm9tIFwibGl2ZW1hcms6dmlydHVhbFwiXG5pbXBvcnQgeyB1c2VMb2NhdGlvbiB9IGZyb20gXCJAdGFuc3RhY2svcmVhY3Qtcm91dGVyXCJcbmltcG9ydCB7IGN1cnJlbnRTZWN0aW9uIH0gZnJvbSBcIi4uL2NvbnRlbnQvYXJ0aWNsZS50c1wiXG5pbXBvcnQgeyBEeW5hbWljSWNvbiB9IGZyb20gXCIuLi9oZWxwZXJzL2R5bmFtaWMtaWNvbi50c3hcIlxuaW1wb3J0IHsgcHJlZml4VXJsIH0gZnJvbSBcIi4uL2hlbHBlcnMvcHJlZml4LXVybC50c1wiXG5pbXBvcnQge1xuICBTaWRlYmFyR3JvdXAsXG4gIFNpZGViYXJHcm91cENvbnRlbnQsXG4gIFNpZGViYXJHcm91cExhYmVsLFxuICBTaWRlYmFyTWVudSxcbiAgU2lkZWJhck1lbnVCdXR0b24sXG4gIFNpZGViYXJNZW51SXRlbSxcbn0gZnJvbSBcIi4uL2VsZW1lbnRzL3NpZGViYXIudHN4XCJcblxuLyoqIFNoYXJlZCBMaW5rcyBncm91cC4gUmVuZGVycyBzaWRlYmFyLXBvc2l0aW9uZWQgbGlua3MgYWx3YXlzLCBhbmRcbiAqIGhlYWRlci1wb3NpdGlvbmVkIGxpbmtzIG9ubHkgb24gbW9iaWxlIChtb2JpbGUgY29sbGFwc2VzIGFsbCBjaHJvbWVcbiAqIGxpbmtzIGludG8gdGhlIHNpZGViYXIgc2luY2UgdGhlIGhlYWRlciBzdHJpcCBpcyBoaWRkZW4gYmVsb3cgYG1kYCkuICovXG5leHBvcnQgZnVuY3Rpb24gU2lkZWJhckxpbmtzKCkge1xuICBjb25zdCBwYXRobmFtZSA9IHVzZUxvY2F0aW9uKHsgc2VsZWN0OiBsID0+IGwucGF0aG5hbWUgfSlcbiAgY29uc3Qgc2VjdGlvbiA9IGN1cnJlbnRTZWN0aW9uKGAvJHtwYXRobmFtZS5yZXBsYWNlKC9eXFwvfFxcLyQvZywgXCJcIil9L2ApXG4gIGNvbnN0IGxpbmtzID1cbiAgICBjb25maWcubGlua3M/LmZpbHRlcihcbiAgICAgIGxpbmsgPT4gIWxpbmsucHJlZml4IHx8IGxpbmsucHJlZml4ID09PSBzZWN0aW9uPy5wcmVmaXgsXG4gICAgKSA/PyBbXVxuXG4gIGlmICghbGlua3MubGVuZ3RoKSByZXR1cm4gbnVsbFxuICBjb25zdCBoYXNEZXNrdG9wSXRlbXMgPSBsaW5rcy5zb21lKGwgPT4gbC5wb3NpdGlvbiA9PT0gXCJzaWRlYmFyXCIpXG5cbiAgcmV0dXJuIChcbiAgICA8U2lkZWJhckdyb3VwIGNsYXNzTmFtZT17aGFzRGVza3RvcEl0ZW1zID8gdW5kZWZpbmVkIDogXCJsZzpoaWRkZW5cIn0+XG4gICAgICA8U2lkZWJhckdyb3VwTGFiZWwgY2xhc3NOYW1lPVwidXBwZXJjYXNlIGZvbnQtbW9ubyB0ZXh0LXhzIHRyYWNraW5nLXdpZGVzdFwiPlxuICAgICAgICBMaW5rc1xuICAgICAgPC9TaWRlYmFyR3JvdXBMYWJlbD5cbiAgICAgIDxTaWRlYmFyR3JvdXBDb250ZW50PlxuICAgICAgICA8U2lkZWJhck1lbnU+XG4gICAgICAgICAge2xpbmtzLm1hcChsaW5rID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1vYmlsZU9ubHkgPSBsaW5rLnBvc2l0aW9uICE9PSBcInNpZGViYXJcIlxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPFNpZGViYXJNZW51SXRlbVxuICAgICAgICAgICAgICAgIGtleT17bGluay51cmx9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXttb2JpbGVPbmx5ID8gXCJsZzpoaWRkZW5cIiA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxTaWRlYmFyTWVudUJ1dHRvblxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC1tdXRlZC1mb3JlZ3JvdW5kXCJcbiAgICAgICAgICAgICAgICAgIHJlbmRlcj17PGEgaHJlZj17cHJlZml4VXJsKGxpbmsudXJsLCBjb25maWcuYmFzZSl9IC8+fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtsaW5rLmljb24gJiYgKFxuICAgICAgICAgICAgICAgICAgICA8RHluYW1pY0ljb24gbmFtZT17bGluay5pY29ufSBjbGFzc05hbWU9XCJzaXplLTRcIiAvPlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgIDxzcGFuPntsaW5rLnRpdGxlfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L1NpZGViYXJNZW51QnV0dG9uPlxuICAgICAgICAgICAgICA8L1NpZGViYXJNZW51SXRlbT5cbiAgICAgICAgICAgIClcbiAgICAgICAgICB9KX1cbiAgICAgICAgPC9TaWRlYmFyTWVudT5cbiAgICAgIDwvU2lkZWJhckdyb3VwQ29udGVudD5cbiAgICA8L1NpZGViYXJHcm91cD5cbiAgKVxufVxuIl19
@@ -4,7 +4,7 @@ import { Link, useLocation, useMatch } from "@tanstack/react-router";
4
4
  import { currentSection, sectionFirstArticle } from "../content/article.js";
5
5
  import { DynamicIcon } from "../helpers/dynamic-icon.js";
6
6
  import { prefixUrl } from "../helpers/prefix-url.js";
7
- import { sectionIcon } from "../helpers/section.js";
7
+ import { customSectionActive } from "../helpers/section.js";
8
8
  import { SidebarGroup, SidebarGroupContent, SidebarGroupLabel, SidebarMenu, SidebarMenuButton, SidebarMenuItem, } from "../elements/sidebar.js";
9
9
  function splatFor(pathname) {
10
10
  return { _splat: pathname.replace(/^\/|\/$/g, "") };
@@ -22,22 +22,22 @@ export function SidebarSections() {
22
22
  if (!sections.length)
23
23
  return null;
24
24
  const hasDesktopItems = sections.some(s => s.position === "sidebar");
25
- return (_jsxs(SidebarGroup, { className: hasDesktopItems ? undefined : "md:hidden", children: [
25
+ return (_jsxs(SidebarGroup, { className: hasDesktopItems ? undefined : "lg:hidden", children: [
26
26
  _jsx(SidebarGroupLabel, { className: "uppercase font-mono text-xs tracking-widest", children: "Sections" }), _jsx(SidebarGroupContent, { children: _jsx(SidebarMenu, { children: sections.map(s => {
27
27
  const mobileOnly = s.position !== "sidebar";
28
- if (s.type === "external") {
29
- return (_jsx(SidebarMenuItem, { className: mobileOnly ? "md:hidden" : undefined, children: _jsxs(SidebarMenuButton, { className: "opacity-75", render: _jsx("a", { href: prefixUrl(s.url, config.base) }), children: [
30
- _jsx(DynamicIcon, { name: sectionIcon(s), className: "size-4" }), _jsx("span", { children: s.title })
28
+ const icon = s.icon;
29
+ if (s.type === "custom") {
30
+ const active = customSectionActive(s.url, pathname);
31
+ return (_jsx(SidebarMenuItem, { className: mobileOnly ? "lg:hidden" : undefined, children: _jsxs(SidebarMenuButton, { isActive: active, className: active ? "" : "opacity-75", render: _jsx("a", { href: prefixUrl(s.url, config.base) }), children: [icon && _jsx(DynamicIcon, { name: icon, className: "size-4" }), _jsx("span", { children: s.title })
31
32
  ] }) }, s.url));
32
33
  }
33
34
  const target = s.type === "blog" || s.type === "changelog"
34
35
  ? s.prefix
35
36
  : (sectionFirstArticle.get(s.prefix) ?? s.prefix);
36
37
  const active = section?.prefix === s.prefix;
37
- return (_jsx(SidebarMenuItem, { className: mobileOnly ? "md:hidden" : undefined, children: _jsxs(SidebarMenuButton, { isActive: active, className: active ? "" : "opacity-75", render: _jsx(Link, { to: target === "/" ? "/" : "/$", params: target && target !== "/" ? splatFor(target) : {} }), children: [
38
- _jsx(DynamicIcon, { name: sectionIcon(s), className: "size-4" }), _jsx("span", { children: s.title })
38
+ return (_jsx(SidebarMenuItem, { className: mobileOnly ? "lg:hidden" : undefined, children: _jsxs(SidebarMenuButton, { isActive: active, className: active ? "" : "opacity-75", render: _jsx(Link, { to: target === "/" ? "/" : "/$", params: target && target !== "/" ? splatFor(target) : {} }), children: [icon && _jsx(DynamicIcon, { name: icon, className: "size-4" }), _jsx("span", { children: s.title })
39
39
  ] }) }, s.prefix));
40
40
  }) }) })
41
41
  ] }));
42
42
  }
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2lkZWJhclNlY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2NvbXBvbmVudHMvU2lkZWJhclNlY3Rpb25zLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTZCLENBQUE7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUNuRCxPQUFPLEVBQ0wsWUFBWSxFQUNaLG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixlQUFlLEdBQ2hCLE1BQU0sd0JBQXlCLENBQUE7QUFFaEMsU0FBUyxRQUFRLENBQUMsUUFBZ0I7SUFDaEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFBO0FBQ3JELENBQUM7QUFFRDs7d0VBRXdFO0FBQ3hFLE1BQU0sVUFBVSxlQUFlO0lBQzdCLE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFBO0lBQ3pELE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUE7SUFDakUsTUFBTSxPQUFPLEdBQUcsWUFBWTtRQUMxQixDQUFDLENBQUMsY0FBYyxDQUFDLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQztRQUN6RCxDQUFDLENBQUMsU0FBUyxDQUFBO0lBQ2IsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUE7SUFFdEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNO1FBQUUsT0FBTyxJQUFJLENBQUE7SUFDakMsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEtBQUssU0FBUyxDQUFDLENBQUE7SUFFcEUsT0FBTyxDQUNMLE1BQUMsWUFBWSxJQUFDLFNBQVMsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsV0FBVztZQUNoRSxLQUFDLGlCQUFpQixJQUFDLFNBQVMsRUFBQyw2Q0FBNkMseUJBRXRELEVBQ3BCLEtBQUMsbUJBQW1CLGNBQ2xCLEtBQUMsV0FBVyxjQUNULFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7d0JBQ2hCLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQyxRQUFRLEtBQUssU0FBUyxDQUFBO3dCQUMzQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssVUFBVSxFQUFFLENBQUM7NEJBQzFCLE9BQU8sQ0FDTCxLQUFDLGVBQWUsSUFFZCxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsWUFFL0MsTUFBQyxpQkFBaUIsSUFDaEIsU0FBUyxFQUFDLFlBQVksRUFDdEIsTUFBTSxFQUFFLFlBQUcsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBSTt3Q0FFbEQsS0FBQyxXQUFXLElBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUMsUUFBUSxHQUFHLEVBQ3hELHlCQUFPLENBQUMsQ0FBQyxLQUFLLEdBQVE7d0NBQ0osSUFUZixDQUFDLENBQUMsR0FBRyxDQVVNLENBQ25CLENBQUE7d0JBQ0gsQ0FBQzt3QkFDRCxNQUFNLE1BQU0sR0FDVixDQUFDLENBQUMsSUFBSSxLQUFLLE1BQU0sSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFdBQVc7NEJBQ3pDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTTs0QkFDVixDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQTt3QkFDckQsTUFBTSxNQUFNLEdBQUcsT0FBTyxFQUFFLE1BQU0sS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFBO3dCQUMzQyxPQUFPLENBQ0wsS0FBQyxlQUFlLElBRWQsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLFlBRS9DLE1BQUMsaUJBQWlCLElBQ2hCLFFBQVEsRUFBRSxNQUFNLEVBQ2hCLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUNyQyxNQUFNLEVBQ0osS0FBQyxJQUFJLElBQ0gsRUFBRSxFQUFFLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUMvQixNQUFNLEVBQUUsTUFBTSxJQUFJLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUN4RDtvQ0FHSixLQUFDLFdBQVcsSUFBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBQyxRQUFRLEdBQUcsRUFDeEQseUJBQU8sQ0FBQyxDQUFDLEtBQUssR0FBUTtvQ0FDSixJQWZmLENBQUMsQ0FBQyxNQUFNLENBZ0JHLENBQ25CLENBQUE7b0JBQ0gsQ0FBQyxDQUFDLEdBQ1UsR0FDTTtZQUNULENBQ2hCLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcImxpdmVtYXJrOnZpcnR1YWxcIlxuaW1wb3J0IHsgTGluaywgdXNlTG9jYXRpb24sIHVzZU1hdGNoIH0gZnJvbSBcIkB0YW5zdGFjay9yZWFjdC1yb3V0ZXJcIlxuaW1wb3J0IHsgY3VycmVudFNlY3Rpb24sIHNlY3Rpb25GaXJzdEFydGljbGUgfSBmcm9tIFwiLi4vY29udGVudC9hcnRpY2xlLnRzXCJcbmltcG9ydCB7IER5bmFtaWNJY29uIH0gZnJvbSBcIi4uL2hlbHBlcnMvZHluYW1pYy1pY29uLnRzeFwiXG5pbXBvcnQgeyBwcmVmaXhVcmwgfSBmcm9tIFwiLi4vaGVscGVycy9wcmVmaXgtdXJsLnRzXCJcbmltcG9ydCB7IHNlY3Rpb25JY29uIH0gZnJvbSBcIi4uL2hlbHBlcnMvc2VjdGlvbi50c1wiXG5pbXBvcnQge1xuICBTaWRlYmFyR3JvdXAsXG4gIFNpZGViYXJHcm91cENvbnRlbnQsXG4gIFNpZGViYXJHcm91cExhYmVsLFxuICBTaWRlYmFyTWVudSxcbiAgU2lkZWJhck1lbnVCdXR0b24sXG4gIFNpZGViYXJNZW51SXRlbSxcbn0gZnJvbSBcIi4uL2VsZW1lbnRzL3NpZGViYXIudHN4XCJcblxuZnVuY3Rpb24gc3BsYXRGb3IocGF0aG5hbWU6IHN0cmluZykge1xuICByZXR1cm4geyBfc3BsYXQ6IHBhdGhuYW1lLnJlcGxhY2UoL15cXC98XFwvJC9nLCBcIlwiKSB9XG59XG5cbi8qKiBTaGFyZWQgU2VjdGlvbnMgZ3JvdXAuIFJlbmRlcnMgc2lkZWJhci1wb3NpdGlvbmVkIHNlY3Rpb25zIGFsd2F5cywgYW5kXG4gKiBoZWFkZXItcG9zaXRpb25lZCBzZWN0aW9ucyBvbmx5IG9uIG1vYmlsZSAobW9iaWxlIGNvbGxhcHNlcyBhbGwgc2VjdGlvbnNcbiAqIGludG8gdGhlIHNpZGViYXIgc2luY2UgdGhlIGhlYWRlciBuYXYgc3RyaXAgaXMgaGlkZGVuIGJlbG93IGBtZGApLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFNpZGViYXJTZWN0aW9ucygpIHtcbiAgY29uc3QgcGF0aG5hbWUgPSB1c2VMb2NhdGlvbih7IHNlbGVjdDogbCA9PiBsLnBhdGhuYW1lIH0pXG4gIGNvbnN0IGFydGljbGVSb3V0ZSA9IHVzZU1hdGNoKHsgZnJvbTogXCIvJFwiLCBzaG91bGRUaHJvdzogZmFsc2UgfSlcbiAgY29uc3Qgc2VjdGlvbiA9IGFydGljbGVSb3V0ZVxuICAgID8gY3VycmVudFNlY3Rpb24oYC8ke3BhdGhuYW1lLnJlcGxhY2UoL15cXC98XFwvJC9nLCBcIlwiKX0vYClcbiAgICA6IHVuZGVmaW5lZFxuICBjb25zdCBzZWN0aW9ucyA9IGNvbmZpZy5zZWN0aW9ucyA/PyBbXVxuXG4gIGlmICghc2VjdGlvbnMubGVuZ3RoKSByZXR1cm4gbnVsbFxuICBjb25zdCBoYXNEZXNrdG9wSXRlbXMgPSBzZWN0aW9ucy5zb21lKHMgPT4gcy5wb3NpdGlvbiA9PT0gXCJzaWRlYmFyXCIpXG5cbiAgcmV0dXJuIChcbiAgICA8U2lkZWJhckdyb3VwIGNsYXNzTmFtZT17aGFzRGVza3RvcEl0ZW1zID8gdW5kZWZpbmVkIDogXCJtZDpoaWRkZW5cIn0+XG4gICAgICA8U2lkZWJhckdyb3VwTGFiZWwgY2xhc3NOYW1lPVwidXBwZXJjYXNlIGZvbnQtbW9ubyB0ZXh0LXhzIHRyYWNraW5nLXdpZGVzdFwiPlxuICAgICAgICBTZWN0aW9uc1xuICAgICAgPC9TaWRlYmFyR3JvdXBMYWJlbD5cbiAgICAgIDxTaWRlYmFyR3JvdXBDb250ZW50PlxuICAgICAgICA8U2lkZWJhck1lbnU+XG4gICAgICAgICAge3NlY3Rpb25zLm1hcChzID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1vYmlsZU9ubHkgPSBzLnBvc2l0aW9uICE9PSBcInNpZGViYXJcIlxuICAgICAgICAgICAgaWYgKHMudHlwZSA9PT0gXCJleHRlcm5hbFwiKSB7XG4gICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPFNpZGViYXJNZW51SXRlbVxuICAgICAgICAgICAgICAgICAga2V5PXtzLnVybH1cbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17bW9iaWxlT25seSA/IFwibWQ6aGlkZGVuXCIgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPFNpZGViYXJNZW51QnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm9wYWNpdHktNzVcIlxuICAgICAgICAgICAgICAgICAgICByZW5kZXI9ezxhIGhyZWY9e3ByZWZpeFVybChzLnVybCwgY29uZmlnLmJhc2UpfSAvPn1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPER5bmFtaWNJY29uIG5hbWU9e3NlY3Rpb25JY29uKHMpfSBjbGFzc05hbWU9XCJzaXplLTRcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj57cy50aXRsZX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L1NpZGViYXJNZW51QnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvU2lkZWJhck1lbnVJdGVtPlxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCB0YXJnZXQgPVxuICAgICAgICAgICAgICBzLnR5cGUgPT09IFwiYmxvZ1wiIHx8IHMudHlwZSA9PT0gXCJjaGFuZ2Vsb2dcIlxuICAgICAgICAgICAgICAgID8gcy5wcmVmaXhcbiAgICAgICAgICAgICAgICA6IChzZWN0aW9uRmlyc3RBcnRpY2xlLmdldChzLnByZWZpeCkgPz8gcy5wcmVmaXgpXG4gICAgICAgICAgICBjb25zdCBhY3RpdmUgPSBzZWN0aW9uPy5wcmVmaXggPT09IHMucHJlZml4XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICA8U2lkZWJhck1lbnVJdGVtXG4gICAgICAgICAgICAgICAga2V5PXtzLnByZWZpeH1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e21vYmlsZU9ubHkgPyBcIm1kOmhpZGRlblwiIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFNpZGViYXJNZW51QnV0dG9uXG4gICAgICAgICAgICAgICAgICBpc0FjdGl2ZT17YWN0aXZlfVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXthY3RpdmUgPyBcIlwiIDogXCJvcGFjaXR5LTc1XCJ9XG4gICAgICAgICAgICAgICAgICByZW5kZXI9e1xuICAgICAgICAgICAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgICAgICAgICAgIHRvPXt0YXJnZXQgPT09IFwiL1wiID8gXCIvXCIgOiBcIi8kXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgcGFyYW1zPXt0YXJnZXQgJiYgdGFyZ2V0ICE9PSBcIi9cIiA/IHNwbGF0Rm9yKHRhcmdldCkgOiB7fX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8RHluYW1pY0ljb24gbmFtZT17c2VjdGlvbkljb24ocyl9IGNsYXNzTmFtZT1cInNpemUtNFwiIC8+XG4gICAgICAgICAgICAgICAgICA8c3Bhbj57cy50aXRsZX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9TaWRlYmFyTWVudUJ1dHRvbj5cbiAgICAgICAgICAgICAgPC9TaWRlYmFyTWVudUl0ZW0+XG4gICAgICAgICAgICApXG4gICAgICAgICAgfSl9XG4gICAgICAgIDwvU2lkZWJhck1lbnU+XG4gICAgICA8L1NpZGViYXJHcm91cENvbnRlbnQ+XG4gICAgPC9TaWRlYmFyR3JvdXA+XG4gIClcbn1cbiJdfQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2lkZWJhclNlY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc291cmNlL2NvbXBvbmVudHMvU2lkZWJhclNlY3Rpb25zLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3pDLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQUMzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTZCLENBQUE7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBQ3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQzNELE9BQU8sRUFDTCxZQUFZLEVBQ1osbUJBQW1CLEVBQ25CLGlCQUFpQixFQUNqQixXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLGVBQWUsR0FDaEIsTUFBTSx3QkFBeUIsQ0FBQTtBQUVoQyxTQUFTLFFBQVEsQ0FBQyxRQUFnQjtJQUNoQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUE7QUFDckQsQ0FBQztBQUVEOzt3RUFFd0U7QUFDeEUsTUFBTSxVQUFVLGVBQWU7SUFDN0IsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7SUFDekQsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQTtJQUNqRSxNQUFNLE9BQU8sR0FBRyxZQUFZO1FBQzFCLENBQUMs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SSxLQUFDLFdBQVcsSUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBQyxRQUFRLEdBQUcsRUFDdkQseUJBQU8sQ0FBQyxDQUFDLEtBQUssR0FBUTtvQ0FDSixJQWZmLENBQUMsQ0FBQyxNQUFNLENBZ0JHLENBQ25CLENBQUE7b0JBQ0gsQ0FBQyxDQUFDLEdBQ1UsR0FDTTtZQUNULENBQ2hCLENBQUE7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29uZmlnIH0gZnJvbSBcImxpdmVtYXJrOnZpcnR1YWxcIlxuaW1wb3J0IHsgTGluaywgdXNlTG9jYXRpb24sIHVzZU1hdGNoIH0gZnJvbSBcIkB0YW5zdGFjay9yZWFjdC1yb3V0ZXJcIlxuaW1wb3J0IHsgY3VycmVudFNlY3Rpb24sIHNlY3Rpb25GaXJzdEFydGljbGUgfSBmcm9tIFwiLi4vY29udGVudC9hcnRpY2xlLnRzXCJcbmltcG9ydCB7IER5bmFtaWNJY29uIH0gZnJvbSBcIi4uL2hlbHBlcnMvZHluYW1pYy1pY29uLnRzeFwiXG5pbXBvcnQgeyBwcmVmaXhVcmwgfSBmcm9tIFwiLi4vaGVscGVycy9wcmVmaXgtdXJsLnRzXCJcbmltcG9ydCB7IGN1c3RvbVNlY3Rpb25BY3RpdmUgfSBmcm9tIFwiLi4vaGVscGVycy9zZWN0aW9uLnRzXCJcbmltcG9ydCB7XG4gIFNpZGViYXJHcm91cCxcbiAgU2lkZWJhckdyb3VwQ29udGVudCxcbiAgU2lkZWJhckdyb3VwTGFiZWwsXG4gIFNpZGViYXJNZW51LFxuICBTaWRlYmFyTWVudUJ1dHRvbixcbiAgU2lkZWJhck1lbnVJdGVtLFxufSBmcm9tIFwiLi4vZWxlbWVudHMvc2lkZWJhci50c3hcIlxuXG5mdW5jdGlvbiBzcGxhdEZvcihwYXRobmFtZTogc3RyaW5nKSB7XG4gIHJldHVybiB7IF9zcGxhdDogcGF0aG5hbWUucmVwbGFjZSgvXlxcL3xcXC8kL2csIFwiXCIpIH1cbn1cblxuLyoqIFNoYXJlZCBTZWN0aW9ucyBncm91cC4gUmVuZGVycyBzaWRlYmFyLXBvc2l0aW9uZWQgc2VjdGlvbnMgYWx3YXlzLCBhbmRcbiAqIGhlYWRlci1wb3NpdGlvbmVkIHNlY3Rpb25zIG9ubHkgb24gbW9iaWxlIChtb2JpbGUgY29sbGFwc2VzIGFsbCBzZWN0aW9uc1xuICogaW50byB0aGUgc2lkZWJhciBzaW5jZSB0aGUgaGVhZGVyIG5hdiBzdHJpcCBpcyBoaWRkZW4gYmVsb3cgYG1kYCkuICovXG5leHBvcnQgZnVuY3Rpb24gU2lkZWJhclNlY3Rpb25zKCkge1xuICBjb25zdCBwYXRobmFtZSA9IHVzZUxvY2F0aW9uKHsgc2VsZWN0OiBsID0+IGwucGF0aG5hbWUgfSlcbiAgY29uc3QgYXJ0aWNsZVJvdXRlID0gdXNlTWF0Y2goeyBmcm9tOiBcIi8kXCIsIHNob3VsZFRocm93OiBmYWxzZSB9KVxuICBjb25zdCBzZWN0aW9uID0gYXJ0aWNsZVJvdXRlXG4gICAgPyBjdXJyZW50U2VjdGlvbihgLyR7cGF0aG5hbWUucmVwbGFjZSgvXlxcL3xcXC8kL2csIFwiXCIpfS9gKVxuICAgIDogdW5kZWZpbmVkXG4gIGNvbnN0IHNlY3Rpb25zID0gY29uZmlnLnNlY3Rpb25zID8/IFtdXG5cbiAgaWYgKCFzZWN0aW9ucy5sZW5ndGgpIHJldHVybiBudWxsXG4gIGNvbnN0IGhhc0Rlc2t0b3BJdGVtcyA9IHNlY3Rpb25zLnNvbWUocyA9PiBzLnBvc2l0aW9uID09PSBcInNpZGViYXJcIilcblxuICByZXR1cm4gKFxuICAgIDxTaWRlYmFyR3JvdXAgY2xhc3NOYW1lPXtoYXNEZXNrdG9wSXRlbXMgPyB1bmRlZmluZWQgOiBcImxnOmhpZGRlblwifT5cbiAgICAgIDxTaWRlYmFyR3JvdXBMYWJlbCBjbGFzc05hbWU9XCJ1cHBlcmNhc2UgZm9udC1tb25vIHRleHQteHMgdHJhY2tpbmctd2lkZXN0XCI+XG4gICAgICAgIFNlY3Rpb25zXG4gICAgICA8L1NpZGViYXJHcm91cExhYmVsPlxuICAgICAgPFNpZGViYXJHcm91cENvbnRlbnQ+XG4gICAgICAgIDxTaWRlYmFyTWVudT5cbiAgICAgICAgICB7c2VjdGlvbnMubWFwKHMgPT4ge1xuICAgICAgICAgICAgY29uc3QgbW9iaWxlT25seSA9IHMucG9zaXRpb24gIT09IFwic2lkZWJhclwiXG4gICAgICAgICAgICBjb25zdCBpY29uID0gcy5pY29uXG4gICAgICAgICAgICBpZiAocy50eXBlID09PSBcImN1c3RvbVwiKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGFjdGl2ZSA9IGN1c3RvbVNlY3Rpb25BY3RpdmUocy51cmwsIHBhdGhuYW1lKVxuICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxTaWRlYmFyTWVudUl0ZW1cbiAgICAgICAgICAgICAgICAgIGtleT17cy51cmx9XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e21vYmlsZU9ubHkgPyBcImxnOmhpZGRlblwiIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxTaWRlYmFyTWVudUJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBpc0FjdGl2ZT17YWN0aXZlfVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2FjdGl2ZSA/IFwiXCIgOiBcIm9wYWNpdHktNzVcIn1cbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyPXs8YSBocmVmPXtwcmVmaXhVcmwocy51cmwsIGNvbmZpZy5iYXNlKX0gLz59XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHtpY29uICYmIDxEeW5hbWljSWNvbiBuYW1lPXtpY29ufSBjbGFzc05hbWU9XCJzaXplLTRcIiAvPn1cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3MudGl0bGV9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9TaWRlYmFyTWVudUJ1dHRvbj5cbiAgICAgICAgICAgICAgICA8L1NpZGViYXJNZW51SXRlbT5cbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgdGFyZ2V0ID1cbiAgICAgICAgICAgICAgcy50eXBlID09PSBcImJsb2dcIiB8fCBzLnR5cGUgPT09IFwiY2hhbmdlbG9nXCJcbiAgICAgICAgICAgICAgICA/IHMucHJlZml4XG4gICAgICAgICAgICAgICAgOiAoc2VjdGlvbkZpcnN0QXJ0aWNsZS5nZXQocy5wcmVmaXgpID8/IHMucHJlZml4KVxuICAgICAgICAgICAgY29uc3QgYWN0aXZlID0gc2VjdGlvbj8ucHJlZml4ID09PSBzLnByZWZpeFxuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPFNpZGViYXJNZW51SXRlbVxuICAgICAgICAgICAgICAgIGtleT17cy5wcmVmaXh9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXttb2JpbGVPbmx5ID8gXCJsZzpoaWRkZW5cIiA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxTaWRlYmFyTWVudUJ1dHRvblxuICAgICAgICAgICAgICAgICAgaXNBY3RpdmU9e2FjdGl2ZX1cbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YWN0aXZlID8gXCJcIiA6IFwib3BhY2l0eS03NVwifVxuICAgICAgICAgICAgICAgICAgcmVuZGVyPXtcbiAgICAgICAgICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAgICAgICAgICB0bz17dGFyZ2V0ID09PSBcIi9cIiA/IFwiL1wiIDogXCIvJFwifVxuICAgICAgICAgICAgICAgICAgICAgIHBhcmFtcz17dGFyZ2V0ICYmIHRhcmdldCAhPT0gXCIvXCIgPyBzcGxhdEZvcih0YXJnZXQpIDoge319XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2ljb24gJiYgPER5bmFtaWNJY29uIG5hbWU9e2ljb259IGNsYXNzTmFtZT1cInNpemUtNFwiIC8+fVxuICAgICAgICAgICAgICAgICAgPHNwYW4+e3MudGl0bGV9PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvU2lkZWJhck1lbnVCdXR0b24+XG4gICAgICAgICAgICAgIDwvU2lkZWJhck1lbnVJdGVtPlxuICAgICAgICAgICAgKVxuICAgICAgICAgIH0pfVxuICAgICAgICA8L1NpZGViYXJNZW51PlxuICAgICAgPC9TaWRlYmFyR3JvdXBDb250ZW50PlxuICAgIDwvU2lkZWJhckdyb3VwPlxuICApXG59XG4iXX0=