livemark 0.10.3 → 0.10.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "livemark",
3
- "version": "0.10.3",
3
+ "version": "0.10.4",
4
4
  "description": "Livemark description",
5
5
  "license": "MIT",
6
6
  "author": "Evgeny Karev",
@@ -61,6 +61,16 @@ export default defineConfig({
61
61
  resolve: {
62
62
  dedupe: ["react", "react-dom"],
63
63
  },
64
+ // Force React + ReactDOM external in SSR so they're resolved at Node
65
+ // runtime — paired with `dedupe` at build time, both bundle environments
66
+ // (server + client) collapse onto the same physical module rather than
67
+ // splitting React across multiple inlined chunks. Without this pair,
68
+ // pnpm's isolated layout can land react and react-dom on opposite sides
69
+ // of the bundle/external boundary and produce React 19's
70
+ // ReactSharedInternals.H-is-null failure (useSyncExternalStore throws).
71
+ ssr: {
72
+ external: ["react", "react-dom"],
73
+ },
64
74
  plugins: [
65
75
  livemark({
66
76
  defaultsRoot: sourceDir,
@@ -50,6 +50,16 @@ export default defineConfig({
50
50
  resolve: {
51
51
  dedupe: ["react", "react-dom"],
52
52
  },
53
+ // Force React + ReactDOM external in SSR so they're resolved at Node
54
+ // runtime — paired with `dedupe` at build time, both bundle environments
55
+ // (server + client) collapse onto the same physical module rather than
56
+ // splitting React across multiple inlined chunks. Without this pair,
57
+ // pnpm's isolated layout can land react and react-dom on opposite sides
58
+ // of the bundle/external boundary and produce React 19's
59
+ // ReactSharedInternals.H-is-null failure (useSyncExternalStore throws).
60
+ ssr: {
61
+ external: ["react", "react-dom"],
62
+ },
53
63
  plugins: [
54
64
  livemark({
55
65
  defaultsRoot: sourceDir,
@@ -77,4 +87,4 @@ export default defineConfig({
77
87
  svgr(),
78
88
  ],
79
89
  });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidml0ZS5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zb3VyY2Uvdml0ZS5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQzlELE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQzFDLE9BQU8sa0JBQWtCLE1BQU0sMkJBQTJCLENBQUE7QUFDMUQsT0FBTyxRQUFRLE1BQU0sbUJBQW1CLENBQUE7QUFDeEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUNqRSxPQUFPLEVBQ0wsUUFBUSxFQUNSLFNBQVMsRUFDVCxLQUFLLEdBRU4sTUFBTSwrQkFBK0IsQ0FBQTtBQUN0QyxPQUFPLEtBQUssTUFBTSxzQkFBc0IsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ25DLE9BQU8sSUFBSSxNQUFNLGtCQUFrQixDQUFBO0FBQ25DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ2hELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUVyRCxNQUFNLE1BQU0sR0FBRyxNQUFNLFVBQVUsRUFBRSxDQUFBO0FBQ2pDLE1BQU0sU0FBUyxHQUFHLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQTtBQUNyQyxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQTtBQUN2RCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQTtBQUVwRCwyRUFBMkU7QUFDM0UsbUNBQW1DO0FBQ25DLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUE7QUFDdkQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO0lBQy9CLFNBQVMsQ0FBQyxhQUFhLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtJQUM3QyxhQUFhLENBQUMsYUFBYSxFQUFFLGtCQUFrQixDQUFDLENBQUE7QUFDbEQsQ0FBQztBQUVELE1BQU0sYUFBYSxHQUF1QixDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQTtBQUNoRSxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUM5QyxnRUFBZ0U7SUFDaEUscUVBQXFFO0lBQ3JFLG9FQUFvRTtJQUNwRSxvRUFBb0U7SUFDcEUsMERBQTBEO0lBQzFELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFDM0MsYUFBYSxDQUFDLElBQUksQ0FDaEIsUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQzdELENBQUE7QUFDSCxDQUFDO0FBRUQsZUFBZSxZQUFZLENBQUM7SUFDMUIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO0lBQ2pCLFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsUUFBUSxDQUFDO0lBQ25ELEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRTtJQUNwQyxNQUFNLEVBQUU7UUFDTix3QkFBd0IsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDdEU7SUFDRCx5RUFBeUU7SUFDekUsb0VBQW9FO0lBQ3BFLDBFQUEwRTtJQUMxRSx1RUFBdUU7SUFDdkUsMEVBQTBFO0lBQzFFLHNFQUFzRTtJQUN0RSx5Q0FBeUM7SUFDekMsT0FBTyxFQUFFO1FBQ1AsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQztLQUMvQjtJQUNELE9BQU8sRUFBRTtRQUNQLFFBQVEsQ0FBQztZQUNQLFlBQVksRUFBRSxTQUFTO1lBQ3ZCLGFBQWE7WUFDYixPQUFPLEVBQUUsQ0FBQyxHQUFHLGdCQUFnQixDQUFDO1lBQzlCLFVBQVUsRUFBRSxNQUFNLENBQUMsVUFBVTtTQUM5QixDQUFDO1FBQ0YsUUFBUSxFQUFFO1FBQ1YsUUFBUSxFQUFFO1FBQ1Ysa0JBQWtCLENBQUM7WUFDakIsVUFBVSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsd0JBQXdCLENBQUM7U0FDM0QsQ0FBQztRQUNGLGFBQWEsQ0FBQztZQUNaLFlBQVksRUFBRSxjQUFjO1lBQzVCLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDO1lBQ3RCLFNBQVMsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRTtZQUM5QyxPQUFPLEVBQUUsTUFBTSxDQUFDLElBQUk7Z0JBQ2xCLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUU7Z0JBQ3RDLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7WUFDdEIsTUFBTSxFQUFFO2dCQUNOLGtCQUFrQixFQUFFLFNBQVMsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDO2FBQzNEO1NBQ0YsQ0FBQztRQUNGLEtBQUssRUFBRTtRQUNQLElBQUksRUFBRTtLQUNQO0NBQ0YsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXhpc3RzU3luYywgbWtkaXJTeW5jLCB3cml0ZUZpbGVTeW5jIH0gZnJvbSBcIm5vZGU6ZnNcIlxuaW1wb3J0IHsgam9pbiwgcmVsYXRpdmUgfSBmcm9tIFwibm9kZTpwYXRoXCJcbmltcG9ydCBjb250ZW50Q29sbGVjdGlvbnMgZnJvbSBcIkBjb250ZW50LWNvbGxlY3Rpb25zL3ZpdGVcIlxuaW1wb3J0IHRhaWx3aW5kIGZyb20gXCJAdGFpbHdpbmRjc3Mvdml0ZVwiXG5pbXBvcnQgeyBkZXZ0b29scyB9IGZyb20gXCJAdGFuc3RhY2svZGV2dG9vbHMtdml0ZVwiXG5pbXBvcnQgeyB0YW5zdGFja1N0YXJ0IH0gZnJvbSBcIkB0YW5zdGFjay9yZWFjdC1zdGFydC9wbHVnaW4vdml0ZVwiXG5pbXBvcnQge1xuICBwaHlzaWNhbCxcbiAgcm9vdFJvdXRlLFxuICByb3V0ZSxcbiAgdHlwZSBWaXJ0dWFsUm91dGVOb2RlLFxufSBmcm9tIFwiQHRhbnN0YWNrL3ZpcnR1YWwtZmlsZS1yb3V0ZXNcIlxuaW1wb3J0IHJlYWN0IGZyb20gXCJAdml0ZWpzL3BsdWdpbi1yZWFjdFwiXG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwidml0ZVwiXG5pbXBvcnQgc3ZnciBmcm9tIFwidml0ZS1wbHVnaW4tc3ZnclwiXG5pbXBvcnQgeyBsb2FkQ29uZmlnIH0gZnJvbSBcIi4vYWN0aW9ucy9jb25maWcvbG9hZC50c1wiXG5pbXBvcnQgeyBXZWJzaXRlQ29uZmlnIH0gZnJvbSBcIi4vbW9kZWxzL2NvbmZpZy50c1wiXG5pbXBvcnQgeyBPVkVSUklERV9TVUJESVJTIH0gZnJvbSBcIi4vc2V0dGluZ3MudHNcIlxuaW1wb3J0IHsgbGl2ZW1hcmsgfSBmcm9tIFwiLi9wbHVnaW5zL3ZpdGUtbGl2ZW1hcmsudHNcIlxuXG5jb25zdCBjb25maWcgPSBhd2FpdCBsb2FkQ29uZmlnKClcbmNvbnN0IHNvdXJjZURpciA9IGltcG9ydC5tZXRhLmRpcm5hbWVcbmNvbnN0IHNvdXJjZVJlbGF0aXZlID0gcmVsYXRpdmUoY29uZmlnLnJvb3QsIHNvdXJjZURpcilcbmNvbnN0IG92ZXJyaWRlc1Jvb3QgPSBqb2luKGNvbmZpZy5yb290LCBcIi5saXZlbWFya1wiKVxuXG4vLyBTZWVkIGAubGl2ZW1hcmsvLmdpdGlnbm9yZWAgb24gZmlyc3QgcnVuIHNvIFZpdGUncyBidWlsZC9jYWNoZSBhcnRpZmFjdHNcbi8vIG5ldmVyIGdldCBjb21taXR0ZWQgYnkgYWNjaWRlbnQuXG5jb25zdCBnaXRpZ25vcmVQYXRoID0gam9pbihvdmVycmlkZXNSb290LCBcIi5naXRpZ25vcmVcIilcbmlmICghZXhpc3RzU3luYyhnaXRpZ25vcmVQYXRoKSkge1xuICBta2RpclN5bmMob3ZlcnJpZGVzUm9vdCwgeyByZWN1cnNpdmU6IHRydWUgfSlcbiAgd3JpdGVGaWxlU3luYyhnaXRpZ25vcmVQYXRoLCBcIi9idWlsZFxcbi9jYWNoZVxcblwiKVxufVxuXG5jb25zdCByb3V0ZUNoaWxkcmVuOiBWaXJ0dWFsUm91dGVOb2RlW10gPSBbcm91dGUoXCIvJFwiLCBcIiQudHN4XCIpXVxuaWYgKGV4aXN0c1N5bmMoam9pbihvdmVycmlkZXNSb290LCBcInJvdXRlc1wiKSkpIHtcbiAgLy8gcGh5c2ljYWwoZGlyKSByZXNvbHZlcyBgZGlyYCByZWxhdGl2ZSB0byB0aGUgcm91dGVzIGRpcmVjdG9yeVxuICAvLyAoYHNyY0RpcmVjdG9yeS9yb3V0ZXNgKS4gQSBoYXJkY29kZWQgXCIuLi8uLi8ubGl2ZW1hcmsvcm91dGVzXCIgb25seVxuICAvLyB3b3JrcyB3aGVuIHNvdXJjZS8gc2l0cyBvbmUgbGV2ZWwgdW5kZXIgY29uZmlnLnJvb3Qg4oCUIGl0IGxhbmRzIGF0XG4gIC8vIG5vZGVfbW9kdWxlcy8ubGl2ZW1hcmsvcm91dGVzIG9uY2UgbGl2ZW1hcmsgaXMgaW5zdGFsbGVkLiBDb21wdXRlXG4gIC8vIHRoZSBwYXRoIGR5bmFtaWNhbGx5IGZyb20gdGhlIGNvbnN1bWVyJ3MgYWN0dWFsIGxheW91dC5cbiAgY29uc3Qgcm91dGVzRGlyID0gam9pbihzb3VyY2VEaXIsIFwicm91dGVzXCIpXG4gIHJvdXRlQ2hpbGRyZW4ucHVzaChcbiAgICBwaHlzaWNhbChyZWxhdGl2ZShyb3V0ZXNEaXIsIGpvaW4ob3ZlcnJpZGVzUm9vdCwgXCJyb3V0ZXNcIikpKSxcbiAgKVxufVxuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmVDb25maWcoe1xuICByb290OiBjb25maWcucm9vdCxcbiAgcHVibGljRGlyOiBqb2luKGNvbmZpZy5yb290LCBcIi5saXZlbWFya1wiLCBcInB1YmxpY1wiKSxcbiAgYnVpbGQ6IHsgb3V0RGlyOiBcIi5saXZlbWFyay9idWlsZFwiIH0sXG4gIGRlZmluZToge1xuICAgIFwiaW1wb3J0Lm1ldGEuZW52LkNPTkZJR1wiOiBKU09OLnN0cmluZ2lmeShXZWJzaXRlQ29uZmlnLnBhcnNlKGNvbmZpZykpLFxuICB9LFxuICAvLyBkZWR1cGU6IGNvbGxhcHNlIG11bHRpcGxlIHJlc29sdXRpb25zIG9mIHRoZSBzYW1lIFJlYWN0LWZhbWlseSBwYWNrYWdlXG4gIC8vIHRvIGEgc2luZ2xlIHBoeXNpY2FsIG1vZHVsZSwgc28gbGl2ZW1hcmsncyBzb3VyY2UsIHRoZSBjb25zdW1lcidzXG4gIC8vIC5saXZlbWFyay8gb3ZlcnJpZGVzLCBhbmQgYW55IHRyYW5zaXRpdmUgcGFja2FnZSB0aGF0IHJlLXJlc29sdmVzIFJlYWN0XG4gIC8vIHRocm91Z2ggaXRzIG93biBwZWVyLWRlcCBjaGFpbiBhbGwgc2hhcmUgb25lIGluc3RhbmNlLiBXaXRob3V0IHRoaXMsXG4gIC8vIHBucG0ncyBpc29sYXRlZCBsYXlvdXQgY2FuIGxhbmQgZGlmZmVyZW50IGltcG9ydGVycyBvbiBkaWZmZXJlbnQgY29waWVzXG4gIC8vIG9mIFJlYWN0LCBicmVha2luZyBzaW5nbGUtaW5zdGFuY2UgaW52YXJpYW50cyAodXNlU3luY0V4dGVybmFsU3RvcmVcbiAgLy8gcmV0dXJucyBudWxsLCBob29rcyBzZWUgd3Jvbmcgc3RvcmVzKS5cbiAgcmVzb2x2ZToge1xuICAgIGRlZHVwZTogW1wicmVhY3RcIiwgXCJyZWFjdC1kb21cIl0sXG4gIH0sXG4gIHBsdWdpbnM6IFtcbiAgICBsaXZlbWFyayh7XG4gICAgICBkZWZhdWx0c1Jvb3Q6IHNvdXJjZURpcixcbiAgICAgIG92ZXJyaWRlc1Jvb3QsXG4gICAgICBzdWJkaXJzOiBbLi4uT1ZFUlJJREVfU1VCRElSU10sXG4gICAgICBjb25maWdQYXRoOiBjb25maWcuY29uZmlnUGF0aCxcbiAgICB9KSxcbiAgICBkZXZ0b29scygpLFxuICAgIHRhaWx3aW5kKCksXG4gICAgY29udGVudENvbGxlY3Rpb25zKHtcbiAgICAgIGNvbmZpZ1BhdGg6IGpvaW4oc291cmNlUmVsYXRpdmUsIFwiY29udGVudC1jb2xsZWN0aW9ucy50c1wiKSxcbiAgICB9KSxcbiAgICB0YW5zdGFja1N0YXJ0KHtcbiAgICAgIHNyY0RpcmVjdG9yeTogc291cmNlUmVsYXRpdmUsXG4gICAgICBwYWdlczogW3sgcGF0aDogXCIvXCIgfV0sXG4gICAgICBwcmVyZW5kZXI6IHsgZW5hYmxlZDogdHJ1ZSwgY3Jhd2xMaW5rczogdHJ1ZSB9LFxuICAgICAgc2l0ZW1hcDogY29uZmlnLnNpdGVcbiAgICAgICAgPyB7IGVuYWJsZWQ6IHRydWUsIGhvc3Q6IGNvbmZpZy5zaXRlIH1cbiAgICAgICAgOiB7IGVuYWJsZWQ6IGZhbHNlIH0sXG4gICAgICByb3V0ZXI6IHtcbiAgICAgICAgdmlydHVhbFJvdXRlQ29uZmlnOiByb290Um91dGUoXCJfX3Jvb3QudHN4XCIsIHJvdXRlQ2hpbGRyZW4pLFxuICAgICAgfSxcbiAgICB9KSxcbiAgICByZWFjdCgpLFxuICAgIHN2Z3IoKSxcbiAgXSxcbn0pXG4iXX0=
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidml0ZS5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zb3VyY2Uvdml0ZS5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBQzlELE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQzFDLE9BQU8sa0JBQWtCLE1BQU0sMkJBQTJCLENBQUE7QUFDMUQsT0FBTyxRQUFRLE1BQU0sbUJBQW1CLENBQUE7QUFDeEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQTtBQUNqRSxPQUFPLEVBQ0wsUUFBUSxFQUNSLFNBQVMsRUFDVCxLQUFLLEdBRU4sTUFBTSwrQkFBK0IsQ0FBQTtBQUN0QyxPQUFPLEtBQUssTUFBTSxzQkFBc0IsQ0FBQTtBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ25DLE9BQU8sSUFBSSxNQUFNLGtCQUFrQixDQUFBO0FBQ25DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ2hELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQTtBQUVyRCxNQUFNLE1BQU0sR0FBRyxNQUFNLFVBQVUsRUFBRSxDQUFBO0FBQ2pDLE1BQU0sU0FBUyxHQUFHLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQTtBQUNyQyxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQTtBQUN2RCxNQUFNLGFBQWEsR0FBRyxJQUFJ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RUFBRSxhQUFhLENBQUM7YUFDM0Q7U0FDRixDQUFDO1FBQ0YsS0FBSyxFQUFFO1FBQ1AsSUFBSSxFQUFFO0tBQ1A7Q0FDRixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBleGlzdHNTeW5jLCBta2RpclN5bmMsIHdyaXRlRmlsZVN5bmMgfSBmcm9tIFwibm9kZTpmc1wiXG5pbXBvcnQgeyBqb2luLCByZWxhdGl2ZSB9IGZyb20gXCJub2RlOnBhdGhcIlxuaW1wb3J0IGNvbnRlbnRDb2xsZWN0aW9ucyBmcm9tIFwiQGNvbnRlbnQtY29sbGVjdGlvbnMvdml0ZVwiXG5pbXBvcnQgdGFpbHdpbmQgZnJvbSBcIkB0YWlsd2luZGNzcy92aXRlXCJcbmltcG9ydCB7IGRldnRvb2xzIH0gZnJvbSBcIkB0YW5zdGFjay9kZXZ0b29scy12aXRlXCJcbmltcG9ydCB7IHRhbnN0YWNrU3RhcnQgfSBmcm9tIFwiQHRhbnN0YWNrL3JlYWN0LXN0YXJ0L3BsdWdpbi92aXRlXCJcbmltcG9ydCB7XG4gIHBoeXNpY2FsLFxuICByb290Um91dGUsXG4gIHJvdXRlLFxuICB0eXBlIFZpcnR1YWxSb3V0ZU5vZGUsXG59IGZyb20gXCJAdGFuc3RhY2svdmlydHVhbC1maWxlLXJvdXRlc1wiXG5pbXBvcnQgcmVhY3QgZnJvbSBcIkB2aXRlanMvcGx1Z2luLXJlYWN0XCJcbmltcG9ydCB7IGRlZmluZUNvbmZpZyB9IGZyb20gXCJ2aXRlXCJcbmltcG9ydCBzdmdyIGZyb20gXCJ2aXRlLXBsdWdpbi1zdmdyXCJcbmltcG9ydCB7IGxvYWRDb25maWcgfSBmcm9tIFwiLi9hY3Rpb25zL2NvbmZpZy9sb2FkLnRzXCJcbmltcG9ydCB7IFdlYnNpdGVDb25maWcgfSBmcm9tIFwiLi9tb2RlbHMvY29uZmlnLnRzXCJcbmltcG9ydCB7IE9WRVJSSURFX1NVQkRJUlMgfSBmcm9tIFwiLi9zZXR0aW5ncy50c1wiXG5pbXBvcnQgeyBsaXZlbWFyayB9IGZyb20gXCIuL3BsdWdpbnMvdml0ZS1saXZlbWFyay50c1wiXG5cbmNvbnN0IGNvbmZpZyA9IGF3YWl0IGxvYWRDb25maWcoKVxuY29uc3Qgc291cmNlRGlyID0gaW1wb3J0Lm1ldGEuZGlybmFtZVxuY29uc3Qgc291cmNlUmVsYXRpdmUgPSByZWxhdGl2ZShjb25maWcucm9vdCwgc291cmNlRGlyKVxuY29uc3Qgb3ZlcnJpZGVzUm9vdCA9IGpvaW4oY29uZmlnLnJvb3QsIFwiLmxpdmVtYXJrXCIpXG5cbi8vIFNlZWQgYC5saXZlbWFyay8uZ2l0aWdub3JlYCBvbiBmaXJzdCBydW4gc28gVml0ZSdzIGJ1aWxkL2NhY2hlIGFydGlmYWN0c1xuLy8gbmV2ZXIgZ2V0IGNvbW1pdHRlZCBieSBhY2NpZGVudC5cbmNvbnN0IGdpdGlnbm9yZVBhdGggPSBqb2luKG92ZXJyaWRlc1Jvb3QsIFwiLmdpdGlnbm9yZVwiKVxuaWYgKCFleGlzdHNTeW5jKGdpdGlnbm9yZVBhdGgpKSB7XG4gIG1rZGlyU3luYyhvdmVycmlkZXNSb290LCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KVxuICB3cml0ZUZpbGVTeW5jKGdpdGlnbm9yZVBhdGgsIFwiL2J1aWxkXFxuL2NhY2hlXFxuXCIpXG59XG5cbmNvbnN0IHJvdXRlQ2hpbGRyZW46IFZpcnR1YWxSb3V0ZU5vZGVbXSA9IFtyb3V0ZShcIi8kXCIsIFwiJC50c3hcIildXG5pZiAoZXhpc3RzU3luYyhqb2luKG92ZXJyaWRlc1Jvb3QsIFwicm91dGVzXCIpKSkge1xuICAvLyBwaHlzaWNhbChkaXIpIHJlc29sdmVzIGBkaXJgIHJlbGF0aXZlIHRvIHRoZSByb3V0ZXMgZGlyZWN0b3J5XG4gIC8vIChgc3JjRGlyZWN0b3J5L3JvdXRlc2ApLiBBIGhhcmRjb2RlZCBcIi4uLy4uLy5saXZlbWFyay9yb3V0ZXNcIiBvbmx5XG4gIC8vIHdvcmtzIHdoZW4gc291cmNlLyBzaXRzIG9uZSBsZXZlbCB1bmRlciBjb25maWcucm9vdCDigJQgaXQgbGFuZHMgYXRcbiAgLy8gbm9kZV9tb2R1bGVzLy5saXZlbWFyay9yb3V0ZXMgb25jZSBsaXZlbWFyayBpcyBpbnN0YWxsZWQuIENvbXB1dGVcbiAgLy8gdGhlIHBhdGggZHluYW1pY2FsbHkgZnJvbSB0aGUgY29uc3VtZXIncyBhY3R1YWwgbGF5b3V0LlxuICBjb25zdCByb3V0ZXNEaXIgPSBqb2luKHNvdXJjZURpciwgXCJyb3V0ZXNcIilcbiAgcm91dGVDaGlsZHJlbi5wdXNoKFxuICAgIHBoeXNpY2FsKHJlbGF0aXZlKHJvdXRlc0Rpciwgam9pbihvdmVycmlkZXNSb290LCBcInJvdXRlc1wiKSkpLFxuICApXG59XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZUNvbmZpZyh7XG4gIHJvb3Q6IGNvbmZpZy5yb290LFxuICBwdWJsaWNEaXI6IGpvaW4oY29uZmlnLnJvb3QsIFwiLmxpdmVtYXJrXCIsIFwicHVibGljXCIpLFxuICBidWlsZDogeyBvdXREaXI6IFwiLmxpdmVtYXJrL2J1aWxkXCIgfSxcbiAgZGVmaW5lOiB7XG4gICAgXCJpbXBvcnQubWV0YS5lbnYuQ09ORklHXCI6IEpTT04uc3RyaW5naWZ5KFdlYnNpdGVDb25maWcucGFyc2UoY29uZmlnKSksXG4gIH0sXG4gIC8vIGRlZHVwZTogY29sbGFwc2UgbXVsdGlwbGUgcmVzb2x1dGlvbnMgb2YgdGhlIHNhbWUgUmVhY3QtZmFtaWx5IHBhY2thZ2VcbiAgLy8gdG8gYSBzaW5nbGUgcGh5c2ljYWwgbW9kdWxlLCBzbyBsaXZlbWFyaydzIHNvdXJjZSwgdGhlIGNvbnN1bWVyJ3NcbiAgLy8gLmxpdmVtYXJrLyBvdmVycmlkZXMsIGFuZCBhbnkgdHJhbnNpdGl2ZSBwYWNrYWdlIHRoYXQgcmUtcmVzb2x2ZXMgUmVhY3RcbiAgLy8gdGhyb3VnaCBpdHMgb3duIHBlZXItZGVwIGNoYWluIGFsbCBzaGFyZSBvbmUgaW5zdGFuY2UuIFdpdGhvdXQgdGhpcyxcbiAgLy8gcG5wbSdzIGlzb2xhdGVkIGxheW91dCBjYW4gbGFuZCBkaWZmZXJlbnQgaW1wb3J0ZXJzIG9uIGRpZmZlcmVudCBjb3BpZXNcbiAgLy8gb2YgUmVhY3QsIGJyZWFraW5nIHNpbmdsZS1pbnN0YW5jZSBpbnZhcmlhbnRzICh1c2VTeW5jRXh0ZXJuYWxTdG9yZVxuICAvLyByZXR1cm5zIG51bGwsIGhvb2tzIHNlZSB3cm9uZyBzdG9yZXMpLlxuICByZXNvbHZlOiB7XG4gICAgZGVkdXBlOiBbXCJyZWFjdFwiLCBcInJlYWN0LWRvbVwiXSxcbiAgfSxcbiAgLy8gRm9yY2UgUmVhY3QgKyBSZWFjdERPTSBleHRlcm5hbCBpbiBTU1Igc28gdGhleSdyZSByZXNvbHZlZCBhdCBOb2RlXG4gIC8vIHJ1bnRpbWUg4oCUIHBhaXJlZCB3aXRoIGBkZWR1cGVgIGF0IGJ1aWxkIHRpbWUsIGJvdGggYnVuZGxlIGVudmlyb25tZW50c1xuICAvLyAoc2VydmVyICsgY2xpZW50KSBjb2xsYXBzZSBvbnRvIHRoZSBzYW1lIHBoeXNpY2FsIG1vZHVsZSByYXRoZXIgdGhhblxuICAvLyBzcGxpdHRpbmcgUmVhY3QgYWNyb3NzIG11bHRpcGxlIGlubGluZWQgY2h1bmtzLiBXaXRob3V0IHRoaXMgcGFpcixcbiAgLy8gcG5wbSdzIGlzb2xhdGVkIGxheW91dCBjYW4gbGFuZCByZWFjdCBhbmQgcmVhY3QtZG9tIG9uIG9wcG9zaXRlIHNpZGVzXG4gIC8vIG9mIHRoZSBidW5kbGUvZXh0ZXJuYWwgYm91bmRhcnkgYW5kIHByb2R1Y2UgUmVhY3QgMTknc1xuICAvLyBSZWFjdFNoYXJlZEludGVybmFscy5ILWlzLW51bGwgZmFpbHVyZSAodXNlU3luY0V4dGVybmFsU3RvcmUgdGhyb3dzKS5cbiAgc3NyOiB7XG4gICAgZXh0ZXJuYWw6IFtcInJlYWN0XCIsIFwicmVhY3QtZG9tXCJdLFxuICB9LFxuICBwbHVnaW5zOiBbXG4gICAgbGl2ZW1hcmsoe1xuICAgICAgZGVmYXVsdHNSb290OiBzb3VyY2VEaXIsXG4gICAgICBvdmVycmlkZXNSb290LFxuICAgICAgc3ViZGlyczogWy4uLk9WRVJSSURFX1NVQkRJUlNdLFxuICAgICAgY29uZmlnUGF0aDogY29uZmlnLmNvbmZpZ1BhdGgsXG4gICAgfSksXG4gICAgZGV2dG9vbHMoKSxcbiAgICB0YWlsd2luZCgpLFxuICAgIGNvbnRlbnRDb2xsZWN0aW9ucyh7XG4gICAgICBjb25maWdQYXRoOiBqb2luKHNvdXJjZVJlbGF0aXZlLCBcImNvbnRlbnQtY29sbGVjdGlvbnMudHNcIiksXG4gICAgfSksXG4gICAgdGFuc3RhY2tTdGFydCh7XG4gICAgICBzcmNEaXJlY3Rvcnk6IHNvdXJjZVJlbGF0aXZlLFxuICAgICAgcGFnZXM6IFt7IHBhdGg6IFwiL1wiIH1dLFxuICAgICAgcHJlcmVuZGVyOiB7IGVuYWJsZWQ6IHRydWUsIGNyYXdsTGlua3M6IHRydWUgfSxcbiAgICAgIHNpdGVtYXA6IGNvbmZpZy5zaXRlXG4gICAgICAgID8geyBlbmFibGVkOiB0cnVlLCBob3N0OiBjb25maWcuc2l0ZSB9XG4gICAgICAgIDogeyBlbmFibGVkOiBmYWxzZSB9LFxuICAgICAgcm91dGVyOiB7XG4gICAgICAgIHZpcnR1YWxSb3V0ZUNvbmZpZzogcm9vdFJvdXRlKFwiX19yb290LnRzeFwiLCByb3V0ZUNoaWxkcmVuKSxcbiAgICAgIH0sXG4gICAgfSksXG4gICAgcmVhY3QoKSxcbiAgICBzdmdyKCksXG4gIF0sXG59KVxuIl19