// vite.config.mjs
|
import {
|
defineConfig,
|
loadEnv
|
} from "file:///E:/%E9%99%88%E7%91%B6/%E4%B8%AD%E5%9B%BE%E6%99%BA%E9%A3%9E/command-center-dashboard/node_modules/vite/dist/node/index.js";
|
import { resolve } from "path";
|
|
// vite/plugins/index.js
|
import vue from "file:///E:/%E9%99%88%E7%91%B6/%E4%B8%AD%E5%9B%BE%E6%99%BA%E9%A3%9E/command-center-dashboard/node_modules/@vitejs/plugin-vue/dist/index.mjs";
|
|
// vite/plugins/auto-import.js
|
import autoImport from "file:///E:/%E9%99%88%E7%91%B6/%E4%B8%AD%E5%9B%BE%E6%99%BA%E9%A3%9E/command-center-dashboard/node_modules/unplugin-auto-import/dist/vite.js";
|
function createAutoImport() {
|
return autoImport({
|
imports: ["vue", "vue-router", "vuex"],
|
dts: false
|
});
|
}
|
|
// vite/plugins/compression.js
|
import compression from "file:///E:/%E9%99%88%E7%91%B6/%E4%B8%AD%E5%9B%BE%E6%99%BA%E9%A3%9E/command-center-dashboard/node_modules/vite-plugin-compression/dist/index.mjs";
|
function createCompression(env) {
|
const { VITE_BUILD_COMPRESS } = env;
|
const plugin = [];
|
if (VITE_BUILD_COMPRESS) {
|
const compressList = VITE_BUILD_COMPRESS.split(",");
|
if (compressList.includes("gzip")) {
|
plugin.push(
|
compression({
|
ext: ".gz",
|
deleteOriginFile: false
|
})
|
);
|
}
|
if (compressList.includes("brotli")) {
|
plugin.push(
|
compression({
|
ext: ".br",
|
algorithm: "brotliCompress",
|
deleteOriginFile: false
|
})
|
);
|
}
|
}
|
return plugin;
|
}
|
|
// vite/plugins/setup-extend.js
|
import setupExtend from "file:///E:/%E9%99%88%E7%91%B6/%E4%B8%AD%E5%9B%BE%E6%99%BA%E9%A3%9E/command-center-dashboard/node_modules/vite-plugin-vue-setup-extend/dist/index.mjs";
|
function createSetupExtend() {
|
return setupExtend();
|
}
|
|
// vite/plugins/svg-plugin.js
|
import { createSvgIconsPlugin } from "file:///E:/%E9%99%88%E7%91%B6/%E4%B8%AD%E5%9B%BE%E6%99%BA%E9%A3%9E/command-center-dashboard/node_modules/vite-plugin-svg-icons/dist/index.mjs";
|
import path from "path";
|
function createSvgPlugin() {
|
return createSvgIconsPlugin({
|
iconDirs: [path.resolve(process.cwd(), "src/assets/svg")],
|
//svg图片存放的目录
|
symbolId: "icon-[name]",
|
// symbol的id
|
inject: "body-last",
|
// 插入的位置
|
customDomId: "__svg__icons__dom__"
|
// svg的id
|
});
|
}
|
|
// vite/plugins/index.js
|
function createVitePlugins(viteEnv, isBuild = false) {
|
const vitePlugins = [vue()];
|
vitePlugins.push(createAutoImport());
|
vitePlugins.push(createSetupExtend());
|
vitePlugins.push(createSvgPlugin());
|
isBuild && vitePlugins.push(...createCompression(viteEnv));
|
return vitePlugins;
|
}
|
|
// vite.config.mjs
|
import postCssPxToRem from "file:///E:/%E9%99%88%E7%91%B6/%E4%B8%AD%E5%9B%BE%E6%99%BA%E9%A3%9E/command-center-dashboard/node_modules/postcss-pxtorem/index.js";
|
var __vite_injected_original_dirname = "E:\\\u9648\u7476\\\u4E2D\u56FE\u667A\u98DE\\command-center-dashboard";
|
var vite_config_default = ({
|
mode,
|
command
|
}) => {
|
const env = loadEnv(mode, process.cwd());
|
const {
|
VITE_APP_ENV,
|
VITE_APP_BASE,
|
VITE_APP_API_URL
|
} = env;
|
const isProd = VITE_APP_ENV === "production";
|
const buildConfig = {
|
target: "esnext",
|
minify: isProd ? "terser" : "esbuild"
|
// 根据环境选择压缩工具
|
};
|
if (isProd) {
|
buildConfig.terserOptions = {
|
compress: {
|
drop_console: true,
|
// 删除 console
|
drop_debugger: true
|
// 删除 debugger
|
},
|
format: {
|
comments: false
|
// 删除所有注释
|
}
|
};
|
buildConfig.rollupOptions = {
|
output: {
|
manualChunks: {
|
"element-plus": ["element-plus"],
|
"@smallwei/avue": ["@smallwei/avue"]
|
}
|
}
|
};
|
}
|
return defineConfig({
|
base: VITE_APP_BASE,
|
define: {
|
__VUE_I18N_FULL_INSTALL__: true,
|
__VUE_I18N_LEGACY_API__: true,
|
__INTLIFY_PROD_DEVTOOLS__: false
|
},
|
server: {
|
// port: 2888,
|
proxy: {
|
"/api": {
|
target: VITE_APP_API_URL,
|
changeOrigin: true,
|
rewrite: (path2) => path2.replace(/^\/api/, "")
|
}
|
}
|
},
|
resolve: {
|
alias: {
|
"~": resolve(__vite_injected_original_dirname, "./"),
|
"@": resolve(__vite_injected_original_dirname, "./src"),
|
components: resolve(__vite_injected_original_dirname, "./src/components"),
|
styles: resolve(__vite_injected_original_dirname, "./src/styles"),
|
utils: resolve(__vite_injected_original_dirname, "./src/utils")
|
}
|
},
|
css: {
|
preprocessorOptions: {
|
scss: {
|
api: "modern-compiler",
|
additionalData: `@use "@/styles/variables.scss" as *;`
|
}
|
},
|
postcss: {
|
plugins: [
|
postCssPxToRem({
|
rootValue: 10,
|
// 指定转换基准值,通常是设计稿宽度的1/10
|
propList: ["*"],
|
// 可以从px转换为rem的属性,这里是所有属性
|
unitPrecision: 5,
|
// 允许REM单位增长到的十进制数
|
selectorBlackList: [],
|
// 选择器黑名单,忽略转换的选择器
|
replace: true,
|
// 替换包含rem的规则,而不是添加回退
|
mediaQuery: false,
|
// 允许在媒体查询中转换px
|
minPixelValue: 0
|
// 设置要替换的最小像素值
|
})
|
]
|
}
|
},
|
plugins: createVitePlugins(env, command === "build"),
|
build: buildConfig,
|
optimizeDeps: {
|
esbuildOptions: {
|
target: "esnext"
|
}
|
}
|
});
|
};
|
export {
|
vite_config_default as default
|
};
|
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcubWpzIiwgInZpdGUvcGx1Z2lucy9pbmRleC5qcyIsICJ2aXRlL3BsdWdpbnMvYXV0by1pbXBvcnQuanMiLCAidml0ZS9wbHVnaW5zL2NvbXByZXNzaW9uLmpzIiwgInZpdGUvcGx1Z2lucy9zZXR1cC1leHRlbmQuanMiLCAidml0ZS9wbHVnaW5zL3N2Zy1wbHVnaW4uanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJFOlxcXFxcdTk2NDhcdTc0NzZcXFxcXHU0RTJEXHU1NkZFXHU2NjdBXHU5OERFXFxcXGNvbW1hbmQtY2VudGVyLWRhc2hib2FyZFwiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiRTpcXFxcXHU5NjQ4XHU3NDc2XFxcXFx1NEUyRFx1NTZGRVx1NjY3QVx1OThERVxcXFxjb21tYW5kLWNlbnRlci1kYXNoYm9hcmRcXFxcdml0ZS5jb25maWcubWpzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9FOi8lRTklOTklODglRTclOTElQjYvJUU0JUI4JUFEJUU1JTlCJUJFJUU2JTk5JUJBJUU5JUEzJTlFL2NvbW1hbmQtY2VudGVyLWRhc2hib2FyZC92aXRlLmNvbmZpZy5tanNcIjtpbXBvcnQge1xyXG4gIGRlZmluZUNvbmZpZyxcclxuICBsb2FkRW52XHJcbn0gZnJvbSAndml0ZSc7XHJcbmltcG9ydCB7IHJlc29sdmUgfSBmcm9tICdwYXRoJ1xyXG5pbXBvcnQgY3JlYXRlVml0ZVBsdWdpbnMgZnJvbSAnLi92aXRlL3BsdWdpbnMnO1xyXG5pbXBvcnQgcG9zdENzc1B4VG9SZW0gZnJvbSAncG9zdGNzcy1weHRvcmVtJ1xyXG5cclxuLy8gaHR0cHM6Ly92aXRlanMuZGV2L2NvbmZpZy9cclxuZXhwb3J0IGRlZmF1bHQgKHtcclxuICBtb2RlLFxyXG4gIGNvbW1hbmRcclxufSkgPT4ge1xyXG4gIGNvbnN0IGVudiA9IGxvYWRFbnYobW9kZSwgcHJvY2Vzcy5jd2QoKSlcclxuICBjb25zdCB7XHJcbiAgICBWSVRFX0FQUF9FTlYsXHJcbiAgICBWSVRFX0FQUF9CQVNFLFxyXG4gICAgVklURV9BUFBfQVBJX1VSTFxyXG4gIH0gPSBlbnZcclxuICAvLyBcdTUyMjRcdTY1QURcdTY2MkZcdTYyNTNcdTc1MUZcdTRFQTdcdTczQUZcdTU4ODNcdTUzMDVcclxuICBjb25zdCBpc1Byb2QgPSBWSVRFX0FQUF9FTlYgPT09ICdwcm9kdWN0aW9uJ1xyXG5cclxuICAvLyBcdTY4MzlcdTYzNkVcdTY2MkZcdTU0MjZcdTc1MUZcdTRFQTdcdTczQUZcdTU4ODNcdUZGMENcdTUyQThcdTYwMDFcdThCQkVcdTdGNkVcdTUzOEJcdTdGMjlcdTkxNERcdTdGNkVcclxuICBjb25zdCBidWlsZENvbmZpZyA9IHtcclxuICAgIHRhcmdldDogJ2VzbmV4dCcsXHJcbiAgICBtaW5pZnk6IGlzUHJvZCA/ICd0ZXJzZXInIDogJ2VzYnVpbGQnLCAvLyBcdTY4MzlcdTYzNkVcdTczQUZcdTU4ODNcdTkwMDlcdTYyRTlcdTUzOEJcdTdGMjlcdTVERTVcdTUxNzdcclxuICB9O1xyXG5cclxuICAvLyBcdTU5ODJcdTY3OUNcdTY2MkZcdTc1MUZcdTRFQTdcdTczQUZcdTU4ODNcdUZGMENcdTZERkJcdTUyQTBUZXJzZXJcdTc2ODRcdTkxNERcdTdGNkVcclxuICBpZiAoaXNQcm9kKSB7XHJcbiAgICBidWlsZENvbmZpZy50ZXJzZXJPcHRpb25zID0ge1xyXG4gICAgICBjb21wcmVzczoge1xyXG4gICAgICAgIGRyb3BfY29uc29sZTogdHJ1ZSwgLy8gXHU1MjIwXHU5NjY0IGNvbnNvbGVcclxuICAgICAgICBkcm9wX2RlYnVnZ2VyOiB0cnVlLCAvLyBcdTUyMjBcdTk2NjQgZGVidWdnZXJcclxuICAgICAgfSxcclxuICAgICAgZm9ybWF0OiB7XHJcbiAgICAgICAgY29tbWVudHM6IGZhbHNlIC8vIFx1NTIyMFx1OTY2NFx1NjI0MFx1NjcwOVx1NkNFOFx1OTFDQVxyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgYnVpbGRDb25maWcucm9sbHVwT3B0aW9ucyA9IHtcclxuICAgICAgb3V0cHV0OiB7XHJcbiAgICAgICAgbWFudWFsQ2h1bmtzOiB7XHJcbiAgICAgICAgICAnZWxlbWVudC1wbHVzJzogWydlbGVtZW50LXBsdXMnXSxcclxuICAgICAgICAgICdAc21hbGx3ZWkvYXZ1ZSc6IFsnQHNtYWxsd2VpL2F2dWUnXVxyXG4gICAgICAgIH0sXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgcmV0dXJuIGRlZmluZUNvbmZpZyh7XHJcbiAgICBiYXNlOiBWSVRFX0FQUF9CQVNFLFxyXG4gICAgZGVmaW5lOiB7XHJcbiAgICAgIF9fVlVFX0kxOE5fRlVMTF9JTlNUQUxMX186IHRydWUsXHJcbiAgICAgIF9fVlVFX0kxOE5fTEVHQUNZX0FQSV9fOiB0cnVlLFxyXG4gICAgICBfX0lOVExJRllfUFJPRF9ERVZUT09MU19fOiBmYWxzZVxyXG4gICAgfSxcclxuICAgIHNlcnZlcjoge1xyXG4gICAgICAvLyBwb3J0OiAyODg4LFxyXG4gICAgICBwcm94eToge1xyXG4gICAgICAgICcvYXBpJzoge1xyXG4gICAgICAgICAgdGFyZ2V0OiBWSVRFX0FQUF9BUElfVVJMLFxyXG4gICAgICAgICAgY2hhbmdlT3JpZ2luOiB0cnVlLFxyXG4gICAgICAgICAgcmV3cml0ZTogcGF0aCA9PiBwYXRoLnJlcGxhY2UoL15cXC9hcGkvLCAnJyksXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgICByZXNvbHZlOiB7XHJcbiAgICAgIGFsaWFzOiB7XHJcbiAgICAgICAgJ34nOiByZXNvbHZlKF9fZGlybmFtZSwgJy4vJyksXHJcbiAgICAgICAgJ0AnOiByZXNvbHZlKF9fZGlybmFtZSwgJy4vc3JjJyksXHJcbiAgICAgICAgY29tcG9uZW50czogcmVzb2x2ZShfX2Rpcm5hbWUsICcuL3NyYy9jb21wb25lbnRzJyksXHJcbiAgICAgICAgc3R5bGVzOiByZXNvbHZlKF9fZGlybmFtZSwgJy4vc3JjL3N0eWxlcycpLFxyXG4gICAgICAgIHV0aWxzOiByZXNvbHZlKF9fZGlybmFtZSwgJy4vc3JjL3V0aWxzJyksXHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gICAgY3NzOiB7XHJcbiAgICAgIHByZXByb2Nlc3Nvck9wdGlvbnM6IHtcclxuICAgICAgICBzY3NzOiB7XHJcbiAgICAgICAgICBhcGk6ICdtb2Rlcm4tY29tcGlsZXInLFxyXG4gICAgICAgICAgYWRkaXRpb25hbERhdGE6IGBAdXNlIFwiQC9zdHlsZXMvdmFyaWFibGVzLnNjc3NcIiBhcyAqO2AsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAgcG9zdGNzczoge1xyXG4gICAgICAgIHBsdWdpbnM6IFtcclxuICAgICAgICAgIHBvc3RDc3NQeFRvUmVtKHtcclxuICAgICAgICAgICAgcm9vdFZhbHVlOiAxMCwgLy8gXHU2MzA3XHU1QjlBXHU4RjZDXHU2MzYyXHU1N0ZBXHU1MUM2XHU1MDNDXHVGRjBDXHU5MDFBXHU1RTM4XHU2NjJGXHU4QkJFXHU4QkExXHU3QTNGXHU1QkJEXHU1RUE2XHU3Njg0MS8xMFxyXG4gICAgICAgICAgICBwcm9wTGlzdDogWycqJ10sIC8vIFx1NTNFRlx1NEVFNVx1NEVDRXB4XHU4RjZDXHU2MzYyXHU0RTNBcmVtXHU3Njg0XHU1QzVFXHU2MDI3XHVGRjBDXHU4RkQ5XHU5MUNDXHU2NjJGXHU2MjQwXHU2NzA5XHU1QzVFXHU2MDI3XHJcbiAgICAgICAgICAgIHVuaXRQcmVjaXNpb246IDUsIC8vIFx1NTE0MVx1OEJCOFJFTVx1NTM1NVx1NEY0RFx1NTg5RVx1OTU3Rlx1NTIzMFx1NzY4NFx1NTM0MVx1OEZEQlx1NTIzNlx1NjU3MFxyXG4gICAgICAgICAgICBzZWxlY3RvckJsYWNrTGlzdDogW10sIC8vIFx1OTAwOVx1NjJFOVx1NTY2OFx1OUVEMVx1NTQwRFx1NTM1NVx1RkYwQ1x1NUZGRFx1NzU2NVx1OEY2Q1x1NjM2Mlx1NzY4NFx1OTAwOVx1NjJFOVx1NTY2OFxyXG4gICAgICAgICAgICByZXBsYWNlOiB0cnVlLCAvLyBcdTY2RkZcdTYzNjJcdTUzMDVcdTU0MkJyZW1cdTc2ODRcdTg5QzRcdTUyMTlcdUZGMENcdTgwMENcdTRFMERcdTY2MkZcdTZERkJcdTUyQTBcdTU2REVcdTkwMDBcclxuICAgICAgICAgICAgbWVkaWFRdWVyeTogZmFsc2UsIC8vIFx1NTE0MVx1OEJCOFx1NTcyOFx1NUE5Mlx1NEY1M1x1NjdFNVx1OEJFMlx1NEUyRFx1OEY2Q1x1NjM2MnB4XHJcbiAgICAgICAgICAgIG1pblBpeGVsVmFsdWU6IDAgLy8gXHU4QkJFXHU3RjZFXHU4OTgxXHU2NkZGXHU2MzYyXHU3Njg0XHU2NzAwXHU1QzBGXHU1MENGXHU3RDIwXHU1MDNDXHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICBdXHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICBwbHVnaW5zOiBjcmVhdGVWaXRlUGx1Z2lucyhlbnYsIGNvbW1hbmQgPT09ICdidWlsZCcpLFxyXG4gICAgYnVpbGQ6IGJ1aWxkQ29uZmlnLFxyXG4gICAgb3B0aW1pemVEZXBzOiB7XHJcbiAgICAgIGVzYnVpbGRPcHRpb25zOiB7XHJcbiAgICAgICAgdGFyZ2V0OiAnZXNuZXh0JyxcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgfSk7XHJcbn07XHJcbiIsICJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiRTpcXFxcXHU5NjQ4XHU3NDc2XFxcXFx1NEUyRFx1NTZGRVx1NjY3QVx1OThERVxcXFxjb21tYW5kLWNlbnRlci1kYXNoYm9hcmRcXFxcdml0ZVxcXFxwbHVnaW5zXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCJFOlxcXFxcdTk2NDhcdTc0NzZcXFxcXHU0RTJEXHU1NkZFXHU2NjdBXHU5OERFXFxcXGNvbW1hbmQtY2VudGVyLWRhc2hib2FyZFxcXFx2aXRlXFxcXHBsdWdpbnNcXFxcaW5kZXguanNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL0U6LyVFOSU5OSU4OCVFNyU5MSVCNi8lRTQlQjglQUQlRTUlOUIlQkUlRTYlOTklQkElRTklQTMlOUUvY29tbWFuZC1jZW50ZXItZGFzaGJvYXJkL3ZpdGUvcGx1Z2lucy9pbmRleC5qc1wiO2ltcG9ydCB2dWUgZnJvbSAnQHZpdGVqcy9wbHVnaW4tdnVlJztcclxuXHJcbmltcG9ydCBjcmVhdGVBdXRvSW1wb3J0IGZyb20gJy4vYXV0by1pbXBvcnQnO1xyXG5pbXBvcnQgY3JlYXRlQ29tcHJlc3Npb24gZnJvbSAnLi9jb21wcmVzc2lvbic7XHJcbmltcG9ydCBjcmVhdGVTZXR1cEV4dGVuZCBmcm9tICcuL3NldHVwLWV4dGVuZCc7XHJcbmltcG9ydCBjcmVhdGVTdmdQbHVnaW4gZnJvbSAnLi9zdmctcGx1Z2luJztcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNyZWF0ZVZpdGVQbHVnaW5zKHZpdGVFbnYsIGlzQnVpbGQgPSBmYWxzZSkge1xyXG4gIGNvbnN0IHZpdGVQbHVnaW5zID0gW3Z1ZSgpXTtcclxuICB2aXRlUGx1Z2lucy5wdXNoKGNyZWF0ZUF1dG9JbXBvcnQoKSk7XHJcbiAgdml0ZVBsdWdpbnMucHVzaChjcmVhdGVTZXR1cEV4dGVuZCgpKTtcclxuICB2aXRlUGx1Z2lucy5wdXNoKGNyZWF0ZVN2Z1BsdWdpbigpKTtcclxuICBpc0J1aWxkICYmIHZpdGVQbHVnaW5zLnB1c2goLi4uY3JlYXRlQ29tcHJlc3Npb24odml0ZUVudikpO1xyXG4gIHJldHVybiB2aXRlUGx1Z2lucztcclxufVxyXG4iLCAiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIkU6XFxcXFx1OTY0OFx1NzQ3NlxcXFxcdTRFMkRcdTU2RkVcdTY2N0FcdTk4REVcXFxcY29tbWFuZC1jZW50ZXItZGFzaGJvYXJkXFxcXHZpdGVcXFxccGx1Z2luc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiRTpcXFxcXHU5NjQ4XHU3NDc2XFxcXFx1NEUyRFx1NTZGRVx1NjY3QVx1OThERVxcXFxjb21tYW5kLWNlbnRlci1kYXNoYm9hcmRcXFxcdml0ZVxcXFxwbHVnaW5zXFxcXGF1dG8taW1wb3J0LmpzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9FOi8lRTklOTklODglRTclOTElQjYvJUU0JUI4JUFEJUU1JTlCJUJFJUU2JTk5JUJBJUU5JUEzJTlFL2NvbW1hbmQtY2VudGVyLWRhc2hib2FyZC92aXRlL3BsdWdpbnMvYXV0by1pbXBvcnQuanNcIjtpbXBvcnQgYXV0b0ltcG9ydCBmcm9tICd1bnBsdWdpbi1hdXRvLWltcG9ydC92aXRlJztcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNyZWF0ZUF1dG9JbXBvcnQoKSB7XHJcbiAgcmV0dXJuIGF1dG9JbXBvcnQoe1xyXG4gICAgaW1wb3J0czogWyd2dWUnLCAndnVlLXJvdXRlcicsICd2dWV4J10sXHJcbiAgICBkdHM6IGZhbHNlLFxyXG4gIH0pO1xyXG59XHJcbiIsICJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiRTpcXFxcXHU5NjQ4XHU3NDc2XFxcXFx1NEUyRFx1NTZGRVx1NjY3QVx1OThERVxcXFxjb21tYW5kLWNlbnRlci1kYXNoYm9hcmRcXFxcdml0ZVxcXFxwbHVnaW5zXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCJFOlxcXFxcdTk2NDhcdTc0NzZcXFxcXHU0RTJEXHU1NkZFXHU2NjdBXHU5OERFXFxcXGNvbW1hbmQtY2VudGVyLWRhc2hib2FyZFxcXFx2aXRlXFxcXHBsdWdpbnNcXFxcY29tcHJlc3Npb24uanNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL0U6LyVFOSU5OSU4OCVFNyU5MSVCNi8lRTQlQjglQUQlRTUlOUIlQkUlRTYlOTklQkElRTklQTMlOUUvY29tbWFuZC1jZW50ZXItZGFzaGJvYXJkL3ZpdGUvcGx1Z2lucy9jb21wcmVzc2lvbi5qc1wiO2ltcG9ydCBjb21wcmVzc2lvbiBmcm9tICd2aXRlLXBsdWdpbi1jb21wcmVzc2lvbic7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjcmVhdGVDb21wcmVzc2lvbihlbnYpIHtcclxuICBjb25zdCB7IFZJVEVfQlVJTERfQ09NUFJFU1MgfSA9IGVudjtcclxuICBjb25zdCBwbHVnaW4gPSBbXTtcclxuICBpZiAoVklURV9CVUlMRF9DT01QUkVTUykge1xyXG4gICAgY29uc3QgY29tcHJlc3NMaXN0ID0gVklURV9CVUlMRF9DT01QUkVTUy5zcGxpdCgnLCcpO1xyXG4gICAgaWYgKGNvbXByZXNzTGlzdC5pbmNsdWRlcygnZ3ppcCcpKSB7XHJcbiAgICAgIHBsdWdpbi5wdXNoKFxyXG4gICAgICAgIGNvbXByZXNzaW9uKHtcclxuICAgICAgICAgIGV4dDogJy5neicsXHJcbiAgICAgICAgICBkZWxldGVPcmlnaW5GaWxlOiBmYWxzZSxcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgaWYgKGNvbXByZXNzTGlzdC5pbmNsdWRlcygnYnJvdGxpJykpIHtcclxuICAgICAgcGx1Z2luLnB1c2goXHJcbiAgICAgICAgY29tcHJlc3Npb24oe1xyXG4gICAgICAgICAgZXh0OiAnLmJyJyxcclxuICAgICAgICAgIGFsZ29yaXRobTogJ2Jyb3RsaUNvbXByZXNzJyxcclxuICAgICAgICAgIGRlbGV0ZU9yaWdpbkZpbGU6IGZhbHNlLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJldHVybiBwbHVnaW47XHJcbn1cclxuIiwgImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJFOlxcXFxcdTk2NDhcdTc0NzZcXFxcXHU0RTJEXHU1NkZFXHU2NjdBXHU5OERFXFxcXGNvbW1hbmQtY2VudGVyLWRhc2hib2FyZFxcXFx2aXRlXFxcXHBsdWdpbnNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIkU6XFxcXFx1OTY0OFx1NzQ3NlxcXFxcdTRFMkRcdTU2RkVcdTY2N0FcdTk4REVcXFxcY29tbWFuZC1jZW50ZXItZGFzaGJvYXJkXFxcXHZpdGVcXFxccGx1Z2luc1xcXFxzZXR1cC1leHRlbmQuanNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL0U6LyVFOSU5OSU4OCVFNyU5MSVCNi8lRTQlQjglQUQlRTUlOUIlQkUlRTYlOTklQkElRTklQTMlOUUvY29tbWFuZC1jZW50ZXItZGFzaGJvYXJkL3ZpdGUvcGx1Z2lucy9zZXR1cC1leHRlbmQuanNcIjtpbXBvcnQgc2V0dXBFeHRlbmQgZnJvbSAndml0ZS1wbHVnaW4tdnVlLXNldHVwLWV4dGVuZCc7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjcmVhdGVTZXR1cEV4dGVuZCgpIHtcclxuICByZXR1cm4gc2V0dXBFeHRlbmQoKTtcclxufVxyXG4iLCAiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIkU6XFxcXFx1OTY0OFx1NzQ3NlxcXFxcdTRFMkRcdTU2RkVcdTY2N0FcdTk4REVcXFxcY29tbWFuZC1jZW50ZXItZGFzaGJvYXJkXFxcXHZpdGVcXFxccGx1Z2luc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiRTpcXFxcXHU5NjQ4XHU3NDc2XFxcXFx1NEUyRFx1NTZGRVx1NjY3QVx1OThERVxcXFxjb21tYW5kLWNlbnRlci1kYXNoYm9hcmRcXFxcdml0ZVxcXFxwbHVnaW5zXFxcXHN2Zy1wbHVnaW4uanNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL0U6LyVFOSU5OSU4OCVFNyU5MSVCNi8lRTQlQjglQUQlRTUlOUIlQkUlRTYlOTklQkElRTklQTMlOUUvY29tbWFuZC1jZW50ZXItZGFzaGJvYXJkL3ZpdGUvcGx1Z2lucy9zdmctcGx1Z2luLmpzXCI7aW1wb3J0IHsgY3JlYXRlU3ZnSWNvbnNQbHVnaW4gfSBmcm9tICd2aXRlLXBsdWdpbi1zdmctaWNvbnMnXHJcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY3JlYXRlU3ZnUGx1Z2luKCkge1xyXG4gIHJldHVybiAgY3JlYXRlU3ZnSWNvbnNQbHVnaW4oe1xyXG4gICAgaWNvbkRpcnM6IFtwYXRoLnJlc29sdmUocHJvY2Vzcy5jd2QoKSwgXCJzcmMvYXNzZXRzL3N2Z1wiKV0sIC8vc3ZnXHU1NkZFXHU3MjQ3XHU1QjU4XHU2NTNFXHU3Njg0XHU3NkVFXHU1RjU1XHJcbiAgICBzeW1ib2xJZDogXCJpY29uLVtuYW1lXVwiLCAvLyBzeW1ib2xcdTc2ODRpZFxyXG4gICAgaW5qZWN0OiBcImJvZHktbGFzdFwiLCAvLyBcdTYzRDJcdTUxNjVcdTc2ODRcdTRGNERcdTdGNkVcclxuICAgIGN1c3RvbURvbUlkOiBcIl9fc3ZnX19pY29uc19fZG9tX19cIiAvLyBzdmdcdTc2ODRpZFxyXG4gIH0pO1xyXG59XHJcbiJdLAogICJtYXBwaW5ncyI6ICI7QUFBcVY7QUFBQSxFQUNuVjtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyxlQUFlOzs7QUNKMFYsT0FBTyxTQUFTOzs7QUNBSixPQUFPLGdCQUFnQjtBQUV0WSxTQUFSLG1CQUFvQztBQUN6QyxTQUFPLFdBQVc7QUFBQSxJQUNoQixTQUFTLENBQUMsT0FBTyxjQUFjLE1BQU07QUFBQSxJQUNyQyxLQUFLO0FBQUEsRUFDUCxDQUFDO0FBQ0g7OztBQ1A4WCxPQUFPLGlCQUFpQjtBQUV2WSxTQUFSLGtCQUFtQyxLQUFL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
|