170 lines
22 KiB
JavaScript
170 lines
22 KiB
JavaScript
// vite.config.js
|
|
import { fileURLToPath, URL } from "node:url";
|
|
import { defineConfig } from "file:///C:/Users/2jepp/WebstormProjects/pleno-vue/node_modules/vite/dist/node/index.js";
|
|
import vue from "file:///C:/Users/2jepp/WebstormProjects/pleno-vue/node_modules/@vitejs/plugin-vue/dist/index.mjs";
|
|
import vueDevTools from "file:///C:/Users/2jepp/WebstormProjects/pleno-vue/node_modules/vite-plugin-vue-devtools/dist/vite.mjs";
|
|
import { viteSingleFile } from "file:///C:/Users/2jepp/WebstormProjects/pleno-vue/node_modules/vite-plugin-singlefile/dist/esm/index.js";
|
|
import { VitePWA } from "file:///C:/Users/2jepp/WebstormProjects/pleno-vue/node_modules/vite-plugin-pwa/dist/index.js";
|
|
import VueJsx from "file:///C:/Users/2jepp/WebstormProjects/pleno-vue/node_modules/@vitejs/plugin-vue-jsx/dist/index.mjs";
|
|
import { execSync } from "node:child_process";
|
|
var __vite_injected_original_import_meta_url = "file:///C:/Users/2jepp/WebstormProjects/pleno-vue/vite.config.js";
|
|
function getGitCommit() {
|
|
try {
|
|
return execSync("git rev-parse --short HEAD").toString().trim();
|
|
} catch {
|
|
return "unknown";
|
|
}
|
|
}
|
|
var vite_config_default = defineConfig(({ mode }) => {
|
|
const isProd = mode === "production";
|
|
const version = process.env.npm_package_version || "0.0.0";
|
|
const commit = getGitCommit();
|
|
console.log(`Building version ${version} (commit: ${commit})`);
|
|
process.env.COMMIT_HASH = commit;
|
|
process.env.APP_VERSION = version;
|
|
process.env.IS_DEV = !isProd ? "true" : "false";
|
|
if (isProd) {
|
|
console.log("Updating server with new version...");
|
|
const token = process.env.SERVER_UPDATE_TOKEN;
|
|
if (!token) {
|
|
console.warn("SERVER_UPDATE_TOKEN is not set. Skipping server update.");
|
|
} else {
|
|
const url = `https://api.truckwash.dk/worker/update-version?version=${commit}`;
|
|
const bearer = `Bearer ${token}`;
|
|
console.log(`Calling URL: ${url}`);
|
|
try {
|
|
execSync(`curl -f -X GET "${url}" -H "Authorization: ${bearer}"`);
|
|
console.log("Successfully updated server with new version.");
|
|
} catch (error) {
|
|
console.error("Failed to update server with new version:", error.message);
|
|
}
|
|
}
|
|
}
|
|
const base = "/";
|
|
const pwaScope = base === "./" ? "." : base;
|
|
const enableSingleFile = process.env.VITE_SINGLE_FILE === "true" && !isProd;
|
|
return {
|
|
base,
|
|
plugins: [
|
|
vue(),
|
|
VueJsx(),
|
|
!isProd && vueDevTools(),
|
|
enableSingleFile && viteSingleFile(),
|
|
VitePWA({
|
|
registerType: "autoUpdate",
|
|
injectRegister: "auto",
|
|
strategies: "generateSW",
|
|
devOptions: {
|
|
enabled: true
|
|
// keep for local dev
|
|
},
|
|
workbox: {
|
|
maximumFileSizeToCacheInBytes: 12 * 1024 * 1024,
|
|
cleanupOutdatedCaches: true,
|
|
skipWaiting: true,
|
|
clientsClaim: true,
|
|
globPatterns: ["**/*.{js,css,html,ico,svg,woff2}"],
|
|
globIgnores: ["**/registerSW.js", "**/sw.js"],
|
|
runtimeCaching: [
|
|
{
|
|
// cache API responses
|
|
urlPattern: ({ url }) => url.origin === "https://api.truckwash.dk",
|
|
handler: "NetworkFirst",
|
|
options: {
|
|
cacheName: "pleno-api-cache",
|
|
expiration: {
|
|
maxEntries: 100,
|
|
maxAgeSeconds: 5 * 60
|
|
// 5 minutes
|
|
},
|
|
networkTimeoutSeconds: 10,
|
|
cacheableResponse: {
|
|
statuses: [200]
|
|
// avoid opaque caching for API
|
|
}
|
|
}
|
|
},
|
|
{
|
|
// cache same-origin static assets
|
|
urlPattern: ({ sameOrigin, request }) => sameOrigin && ["style", "script", "font"].includes(request.destination),
|
|
handler: "StaleWhileRevalidate",
|
|
options: {
|
|
cacheName: "pleno-website-cache",
|
|
expiration: {
|
|
maxEntries: 50,
|
|
maxAgeSeconds: 24 * 60 * 60
|
|
// 24 hours
|
|
},
|
|
cacheableResponse: {
|
|
statuses: [0, 200]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
// cache images (restrict to same-origin; loosen if you use a trusted CDN)
|
|
urlPattern: ({ sameOrigin, request }) => sameOrigin && request.destination === "image",
|
|
handler: "CacheFirst",
|
|
options: {
|
|
cacheName: "pleno-image-cache",
|
|
expiration: {
|
|
maxEntries: 100,
|
|
maxAgeSeconds: 7 * 24 * 60 * 60
|
|
// 7 days
|
|
},
|
|
cacheableResponse: {
|
|
statuses: [0, 200]
|
|
}
|
|
}
|
|
}
|
|
]
|
|
},
|
|
manifest: {
|
|
name: "Truck Wash Kundeportal",
|
|
short_name: "Truck Wash",
|
|
description: "Access your Truck Wash accounts and transactions from anywhere.",
|
|
theme_color: "#063651",
|
|
background_color: "#0787bb",
|
|
// Use relative scope when base is relative
|
|
start_url: pwaScope,
|
|
scope: pwaScope,
|
|
display: "standalone",
|
|
orientation: "portrait",
|
|
launch_handler: { client_mode: "navigate-existing" },
|
|
icons: [
|
|
{ src: "favicons/web-app-manifest-192x192.png", sizes: "192x192", type: "image/png" },
|
|
{ src: "favicons/web-app-manifest-512x512.png", sizes: "512x512", type: "image/png" }
|
|
// Optional: add a maskable icon
|
|
// { src: 'icons/icon-512x512-maskable.png', sizes: '512x512', type: 'image/png', purpose: 'any maskable' }
|
|
],
|
|
id: "pleno-pwa-test"
|
|
},
|
|
useCredentials: true
|
|
})
|
|
].filter(Boolean),
|
|
resolve: {
|
|
alias: {
|
|
"@": fileURLToPath(new URL("./src", __vite_injected_original_import_meta_url))
|
|
}
|
|
},
|
|
define: {
|
|
"import.meta.env.VITE_BUILD_DATE": JSON.stringify((/* @__PURE__ */ new Date()).toISOString()),
|
|
"import.meta.env.VITE_APP_VERSION": JSON.stringify(process.env.APP_VERSION || "0.0.0"),
|
|
"import.meta.env.VITE_COMMIT_HASH": JSON.stringify(commit),
|
|
// Tip: import.meta.env.DEV/PROD are available at runtime
|
|
"import.meta.env.VITE_IS_DEV": JSON.stringify(!isProd)
|
|
},
|
|
css: {
|
|
preprocessorOptions: {
|
|
scss: {
|
|
api: "modern-compiler",
|
|
silenceDeprecations: ["import", "global-builtin", "legacy-js-api"]
|
|
}
|
|
}
|
|
}
|
|
};
|
|
});
|
|
export {
|
|
vite_config_default as default
|
|
};
|
|
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcuanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJDOlxcXFxVc2Vyc1xcXFwyamVwcFxcXFxXZWJzdG9ybVByb2plY3RzXFxcXHBsZW5vLXZ1ZVwiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiQzpcXFxcVXNlcnNcXFxcMmplcHBcXFxcV2Vic3Rvcm1Qcm9qZWN0c1xcXFxwbGVuby12dWVcXFxcdml0ZS5jb25maWcuanNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL0M6L1VzZXJzLzJqZXBwL1dlYnN0b3JtUHJvamVjdHMvcGxlbm8tdnVlL3ZpdGUuY29uZmlnLmpzXCI7aW1wb3J0IHsgZmlsZVVSTFRvUGF0aCwgVVJMIH0gZnJvbSAnbm9kZTp1cmwnXHJcbmltcG9ydCB7IGRlZmluZUNvbmZpZyB9IGZyb20gJ3ZpdGUnXHJcbmltcG9ydCB2dWUgZnJvbSAnQHZpdGVqcy9wbHVnaW4tdnVlJ1xyXG5pbXBvcnQgdnVlRGV2VG9vbHMgZnJvbSAndml0ZS1wbHVnaW4tdnVlLWRldnRvb2xzJ1xyXG5pbXBvcnQgeyB2aXRlU2luZ2xlRmlsZSB9IGZyb20gJ3ZpdGUtcGx1Z2luLXNpbmdsZWZpbGUnXHJcbmltcG9ydCB7IFZpdGVQV0EgfSBmcm9tICd2aXRlLXBsdWdpbi1wd2EnXHJcbmltcG9ydCBWdWVKc3ggZnJvbSAnQHZpdGVqcy9wbHVnaW4tdnVlLWpzeCdcclxuaW1wb3J0IHsgZXhlY1N5bmMgfSBmcm9tICdub2RlOmNoaWxkX3Byb2Nlc3MnXHJcblxyXG5mdW5jdGlvbiBnZXRHaXRDb21taXQoKSB7XHJcbiAgICB0cnkge1xyXG4gICAgICAgIHJldHVybiBleGVjU3luYygnZ2l0IHJldi1wYXJzZSAtLXNob3J0IEhFQUQnKS50b1N0cmluZygpLnRyaW0oKVxyXG4gICAgfSBjYXRjaCB7XHJcbiAgICAgICAgcmV0dXJuICd1bmtub3duJ1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgZGVmYXVsdCBkZWZpbmVDb25maWcoKHsgbW9kZSB9KSA9PiB7XHJcbiAgICBjb25zdCBpc1Byb2QgPSBtb2RlID09PSAncHJvZHVjdGlvbidcclxuXHJcbiAgICAvLyBTZXQgQ09NTUlUX0hBU0ggZW52IHZhciBmb3IgdXNlIGluIHRoZSBhcHBcclxuICAgIGNvbnN0IHZlcnNpb24gPSBwcm9jZXNzLmVudi5ucG1fcGFja2FnZV92ZXJzaW9uIHx8ICcwLjAuMCdcclxuICAgIGNvbnN0IGNvbW1pdCA9IGdldEdpdENvbW1pdCgpXHJcbiAgICBjb25zb2xlLmxvZyhgQnVpbGRpbmcgdmVyc2lvbiAke3ZlcnNpb259IChjb21taXQ6ICR7Y29tbWl0fSlgKVxyXG4gICAgcHJvY2Vzcy5lbnYuQ09NTUlUX0hBU0ggPSBjb21taXRcclxuICAgIHByb2Nlc3MuZW52LkFQUF9WRVJTSU9OID0gdmVyc2lvblxyXG4gICAgcHJvY2Vzcy5lbnYuSVNfREVWID0gIWlzUHJvZCA/ICd0cnVlJyA6ICdmYWxzZSdcclxuICAgIC8vIElmIHRoZSBidWlsZCBpcyBhIHByb2R1Y3Rpb24gYnVpbGQsIHVwZGF0ZSB0aGUgc2VydmVyIHdpdGggdGhlIG5ldyB2ZXJzaW9uXHJcbiAgICBpZiAoaXNQcm9kKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ1VwZGF0aW5nIHNlcnZlciB3aXRoIG5ldyB2ZXJzaW9uLi4uJylcclxuICAgICAgICBjb25zdCB0b2tlbiA9IHByb2Nlc3MuZW52LlNFUlZFUl9VUERBVEVfVE9LRU5cclxuICAgICAgICBpZiAoIXRva2VuKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignU0VSVkVSX1VQREFURV9UT0tFTiBpcyBub3Qgc2V0LiBTa2lwcGluZyBzZXJ2ZXIgdXBkYXRlLicpXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgLy8gUnVuIEdFVCByZXF1ZXN0IHRvIHVwZGF0ZSB2ZXJzaW9uIGVuZHBvaW50XHJcbiAgICAgICAgICAgIGNvbnN0IHVybCA9IGBodHRwczovL2FwaS50cnVja3dhc2guZGsvd29ya2VyL3VwZGF0ZS12ZXJzaW9uP3ZlcnNpb249JHtjb21taXR9YFxyXG4gICAgICAgICAgICBjb25zdCBiZWFyZXIgPSBgQmVhcmVyICR7dG9rZW59YFxyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgQ2FsbGluZyBVUkw6ICR7dXJsfWApXHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBleGVjU3luYyhgY3VybCAtZiAtWCBHRVQgXCIke3VybH1cIiAtSCBcIkF1dGhvcml6YXRpb246ICR7YmVhcmVyfVwiYClcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdTdWNjZXNzZnVsbHkgdXBkYXRlZCBzZXJ2ZXIgd2l0aCBuZXcgdmVyc2lvbi4nKVxyXG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHVwZGF0ZSBzZXJ2ZXIgd2l0aCBuZXcgdmVyc2lvbjonLCBlcnJvci5tZXNzYWdlKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gS2VlcCBhIHJlbGF0aXZlIGJhc2UgZm9yIHN0YXRpYyBob3N0aW5nOyBhbGlnbiBtYW5pZmVzdCB3aXRoIGJhc2VcclxuICAgIGNvbnN0IGJhc2UgPSAnLydcclxuICAgIGNvbnN0IHB3YVNjb3BlID0gYmFzZSA9PT0gJy4vJyA/ICcuJyA6IGJhc2VcclxuXHJcbiAgICAvLyBFbmFibGUgc2luZ2xlLWZpbGUgYnVpbGQgb25seSB3aGVuIGV4cGxpY2l0bHkgcmVxdWVzdGVkIChkaXNhYmxlZCBieSBkZWZhdWx0IGZvciBQV0EpXHJcbiAgICBjb25zdCBlbmFibGVTaW5nbGVGaWxlID0gcHJvY2Vzcy5lbnYuVklURV9TSU5HTEVfRklMRSA9PT0gJ3RydWUnICYmICFpc1Byb2RcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgIGJhc2UsXHJcbiAgICAgICAgcGx1Z2luczogW1xyXG4gICAgICAgICAgICB2dWUoKSxcclxuICAgICAgICAgICAgVnVlSnN4KCksXHJcbiAgICAgICAgICAgICFpc1Byb2QgJiYgdnVlRGV2VG9vbHMoKSxcclxuICAgICAgICAgICAgZW5hYmxlU2luZ2xlRmlsZSAmJiB2aXRlU2luZ2xlRmlsZSgpLFxyXG4gICAgICAgICAgICBWaXRlUFdBKHtcclxuICAgICAgICAgICAgICAgIHJlZ2lzdGVyVHlwZTogJ2F1dG9VcGRhdGUnLFxyXG4gICAgICAgICAgICAgICAgaW5qZWN0UmVnaXN0ZXI6ICdhdXRvJyxcclxuICAgICAgICAgICAgICAgIHN0cmF0ZWdpZXM6ICdnZW5lcmF0ZVNXJyxcclxuICAgICAgICAgICAgICAgIGRldk9wdGlvbnM6IHtcclxuICAgICAgICAgICAgICAgICAgICBlbmFibGVkOiB0cnVlIC8vIGtlZXAgZm9yIGxvY2FsIGRldlxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHdvcmtib3g6IHtcclxuICAgICAgICAgICAgICAgICAgICBtYXhpbXVtRmlsZVNpemVUb0NhY2hlSW5CeXRlczogMTIgKiAxMDI0ICogMTAyNCxcclxuICAgICAgICAgICAgICAgICAgICBjbGVhbnVwT3V0ZGF0ZWRDYWNoZXM6IHRydWUsXHJcbiAgICAgICAgICAgICAgICAgICAgc2tpcFdhaXRpbmc6IHRydWUsXHJcbiAgICAgICAgICAgICAgICAgICAgY2xpZW50c0NsYWltOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgIGdsb2JQYXR0ZXJuczogWycqKi8qLntqcyxjc3MsaHRtbCxpY28sc3ZnLHdvZmYyfSddLFxyXG4gICAgICAgICAgICAgICAgICAgIGdsb2JJZ25vcmVzOiBbJyoqL3JlZ2lzdGVyU1cuanMnLCAnKiovc3cuanMnXSxcclxuICAgICAgICAgICAgICAgICAgICBydW50aW1lQ2FjaGluZzogW1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjYWNoZSBBUEkgcmVzcG9uc2VzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmxQYXR0ZXJuOiAoeyB1cmwgfSkgPT4gdXJsLm9yaWdpbiA9PT0gJ2h0dHBzOi8vYXBpLnRydWNrd2FzaC5kaycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVyOiAnTmV0d29ya0ZpcnN0JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZU5hbWU6ICdwbGVuby1hcGktY2FjaGUnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGlyYXRpb246IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4RW50cmllczogMTAwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhBZ2VTZWNvbmRzOiA1ICogNjAgLy8gNSBtaW51dGVzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXR3b3JrVGltZW91dFNlY29uZHM6IDEwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlYWJsZVJlc3BvbnNlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1c2VzOiBbMjAwXSAvLyBhdm9pZCBvcGFxdWUgY2FjaGluZyBmb3IgQVBJXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjYWNoZSBzYW1lLW9yaWdpbiBzdGF0aWMgYXNzZXRzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmxQYXR0ZXJuOiAoeyBzYW1lT3JpZ2luLCByZXF1ZXN0IH0pID0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2FtZU9yaWdpbiAmJiBbJ3N0eWxlJywgJ3NjcmlwdCcsICdmb250J10uaW5jbHVkZXMocmVxdWVzdC5kZXN0aW5hdGlvbiksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVyOiAnU3RhbGVXaGlsZVJldmFsaWRhdGUnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlTmFtZTogJ3BsZW5vLXdlYnNpdGUtY2FjaGUnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGlyYXRpb246IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4RW50cmllczogNTAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heEFnZVNlY29uZHM6IDI0ICogNjAgKiA2MCAvLyAyNCBob3Vyc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGVhYmxlUmVzcG9uc2U6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzZXM6IFswLCAyMDBdXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjYWNoZSBpbWFnZXMgKHJlc3RyaWN0IHRvIHNhbWUtb3JpZ2luOyBsb29zZW4gaWYgeW91IHVzZSBhIHRydXN0ZWQgQ0ROKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsUGF0dGVybjogKHsgc2FtZU9yaWdpbiwgcmVxdWVzdCB9KSA9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhbWVPcmlnaW4gJiYgcmVxdWVzdC5kZXN0aW5hdGlvbiA9PT0gJ2ltYWdlJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZXI6ICdDYWNoZUZpcnN0JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZU5hbWU6ICdwbGVuby1pbWFnZS1jYWNoZScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwaXJhdGlvbjoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXhFbnRyaWVzOiAxMDAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heEFnZVNlY29uZHM6IDcgKiAyNCAqIDYwICogNjAgLy8gNyBkYXlzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZWFibGVSZXNwb25zZToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXNlczogWzAsIDIwMF1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBdXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgbWFuaWZlc3Q6IHtcclxuICAgICAgICAgICAgICAgICAgICBuYW1lOiAnVHJ1Y2sgV2FzaCBLdW5kZXBvcnRhbCcsXHJcbiAgICAgICAgICAgICAgICAgICAgc2hvcnRfbmFtZTogJ1RydWNrIFdhc2gnLFxyXG4gICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnQWNjZXNzIHlvdXIgVHJ1Y2sgV2FzaCBhY2NvdW50cyBhbmQgdHJhbnNhY3Rpb25zIGZyb20gYW55d2hlcmUuJyxcclxuICAgICAgICAgICAgICAgICAgICB0aGVtZV9jb2xvcjogJyMwNjM2NTEnLFxyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRfY29sb3I6ICcjMDc4N2JiJyxcclxuICAgICAgICAgICAgICAgICAgICAvLyBVc2UgcmVsYXRpdmUgc2NvcGUgd2hlbiBiYXNlIGlzIHJlbGF0aXZlXHJcbiAgICAgICAgICAgICAgICAgICAgc3RhcnRfdXJsOiBwd2FTY29wZSxcclxuICAgICAgICAgICAgICAgICAgICBzY29wZTogcHdhU2NvcGUsXHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ3N0YW5kYWxvbmUnLFxyXG4gICAgICAgICAgICAgICAgICAgIG9yaWVudGF0aW9uOiAncG9ydHJhaXQnLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhdW5jaF9oYW5kbGVyOiB7IGNsaWVudF9tb2RlOiAnbmF2aWdhdGUtZXhpc3RpbmcnIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgaWNvbnM6IFtcclxuICAgICAgICAgICAgICAgICAgICAgICAgeyBzcmM6ICdmYXZpY29ucy93ZWItYXBwLW1hbmlmZXN0LTE5MngxOTIucG5nJywgc2l6ZXM6ICcxOTJ4MTkyJywgdHlwZTogJ2ltYWdlL3BuZycgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgeyBzcmM6ICdmYXZpY29ucy93ZWItYXBwLW1hbmlmZXN0LTUxMng1MTIucG5nJywgc2l6ZXM6ICc1MTJ4NTEyJywgdHlwZTogJ2ltYWdlL3BuZycgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gT3B0aW9uYWw6IGFkZCBhIG1hc2thYmxlIGljb25cclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8geyBzcmM6ICdpY29ucy9pY29uLTUxMng1MTItbWFza2FibGUucG5nJywgc2l6ZXM6ICc1MTJ4NTEyJywgdHlwZTogJ2ltYWdlL3BuZycsIHB1cnBvc2U6ICdhbnkgbWFza2FibGUnIH1cclxuICAgICAgICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgICAgICAgIGlkOiAncGxlbm8tcHdhLXRlc3QnXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgdXNlQ3JlZGVudGlhbHM6IHRydWVcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICBdLmZpbHRlcihCb29sZWFuKSxcclxuICAgICAgICByZXNvbHZlOiB7XHJcbiAgICAgICAgICAgIGFsaWFzOiB7XHJcbiAgICAgICAgICAgICAgICAnQCc6IGZpbGVVUkxUb1BhdGgobmV3IFVSTCgnLi9zcmMnLCBpbXBvcnQubWV0YS51cmwpKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBkZWZpbmU6IHtcclxuICAgICAgICAgICAgJ2ltcG9ydC5tZXRhLmVudi5WSVRFX0JVSUxEX0RBVEUnOiBKU09OLnN0cmluZ2lmeShuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkpLFxyXG4gICAgICAgICAgICAnaW1wb3J0Lm1ldGEuZW52LlZJVEVfQVBQX1ZFUlNJT04nOiBKU09OLnN0cmluZ2lmeShwcm9jZXNzLmVudi5BUFBfVkVSU0lPTiB8fCAnMC4wLjAnKSxcclxuICAgICAgICAgICAgJ2ltcG9ydC5tZXRhLmVudi5WSVRFX0NPTU1JVF9IQVNIJzogSlNPTi5zdHJpbmdpZnkoY29tbWl0KSxcclxuICAgICAgICAgICAgLy8gVGlwOiBpbXBvcnQubWV0YS5lbnYuREVWL1BST0QgYXJlIGF2YWlsYWJsZSBhdCBydW50aW1lXHJcbiAgICAgICAgICAgICdpbXBvcnQubWV0YS5lbnYuVklURV9JU19ERVYnOiBKU09OLnN0cmluZ2lmeSghaXNQcm9kKSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNzczoge1xyXG4gICAgICAgICAgICBwcmVwcm9jZXNzb3JPcHRpb25zOiB7XHJcbiAgICAgICAgICAgICAgICBzY3NzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgYXBpOiAnbW9kZXJuLWNvbXBpbGVyJyxcclxuICAgICAgICAgICAgICAgICAgICBzaWxlbmNlRGVwcmVjYXRpb25zOiBbJ2ltcG9ydCcsICdnbG9iYWwtYnVpbHRpbicsICdsZWdhY3ktanMtYXBpJ11cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSlcclxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQUF1VCxTQUFTLGVBQWUsV0FBVztBQUMxVixTQUFTLG9CQUFvQjtBQUM3QixPQUFPLFNBQVM7QUFDaEIsT0FBTyxpQkFBaUI7QUFDeEIsU0FBUyxzQkFBc0I7QUFDL0IsU0FBUyxlQUFlO0FBQ3hCLE9BQU8sWUFBWTtBQUNuQixTQUFTLGdCQUFnQjtBQVAwSyxJQUFNLDJDQUEyQztBQVNwUCxTQUFTLGVBQWU7QUFDcEIsTUFBSTtBQUNBLFdBQU8sU0FBUyw0QkFBNEIsRUFBRSxTQUFTLEVBQUUsS0FBSztBQUFBLEVBQ2xFLFFBQVE7QUFDSixXQUFPO0FBQUEsRUFDWDtBQUNKO0FBRUEsSUFBTyxzQkFBUSxhQUFhLENBQUMsRUFBRSxLQUFLLE1BQU07QUFDdEMsUUFBTSxTQUFTLFNBQVM7QUFHeEIsUUFBTSxVQUFVLFFBQVEsSUFBSSx1QkFBdUI7QUFDbkQsUUFBTSxTQUFTLGFBQWE7QUFDNUIsVUFBUSxJQUFJLG9CQUFvQixPQUFPLGFBQWEsTUFBTSxHQUFHO0FBQzdELFVBQVEsSUFBSSxjQUFjO0FBQzFCLFVBQVEsSUFBSSxjQUFjO0FBQzFCLFVBQVEsSUFB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
|