vite.config.js.timestamp-1735865254206-78aa757a6593a.mjs 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. // vite.config.js
  2. import { defineConfig, loadEnv } from "file:///F:/%E5%B7%A5%E4%BD%9C%E6%96%87%E4%BB%B6%E5%A4%B9/%E4%BA%BA%E6%89%8D%E7%BB%BF%E5%8D%A1/%E7%AE%A1%E7%90%86%E7%AB%AF/rencailvka-admin/node_modules/vite/dist/node/index.js";
  3. import path2 from "path";
  4. // vite/plugins/index.js
  5. import vue from "file:///F:/%E5%B7%A5%E4%BD%9C%E6%96%87%E4%BB%B6%E5%A4%B9/%E4%BA%BA%E6%89%8D%E7%BB%BF%E5%8D%A1/%E7%AE%A1%E7%90%86%E7%AB%AF/rencailvka-admin/node_modules/@vitejs/plugin-vue/dist/index.mjs";
  6. // vite/plugins/auto-import.js
  7. import autoImport from "file:///F:/%E5%B7%A5%E4%BD%9C%E6%96%87%E4%BB%B6%E5%A4%B9/%E4%BA%BA%E6%89%8D%E7%BB%BF%E5%8D%A1/%E7%AE%A1%E7%90%86%E7%AB%AF/rencailvka-admin/node_modules/unplugin-auto-import/dist/vite.js";
  8. function createAutoImport() {
  9. return autoImport({
  10. imports: [
  11. "vue",
  12. "vue-router",
  13. "pinia"
  14. ],
  15. dts: false
  16. });
  17. }
  18. // vite/plugins/svg-icon.js
  19. import { createSvgIconsPlugin } from "file:///F:/%E5%B7%A5%E4%BD%9C%E6%96%87%E4%BB%B6%E5%A4%B9/%E4%BA%BA%E6%89%8D%E7%BB%BF%E5%8D%A1/%E7%AE%A1%E7%90%86%E7%AB%AF/rencailvka-admin/node_modules/vite-plugin-svg-icons/dist/index.mjs";
  20. import path from "path";
  21. function createSvgIcon(isBuild) {
  22. return createSvgIconsPlugin({
  23. iconDirs: [path.resolve(process.cwd(), "src/assets/icons/svg")],
  24. symbolId: "icon-[dir]-[name]",
  25. svgoOptions: isBuild
  26. });
  27. }
  28. // vite/plugins/compression.js
  29. import compression from "file:///F:/%E5%B7%A5%E4%BD%9C%E6%96%87%E4%BB%B6%E5%A4%B9/%E4%BA%BA%E6%89%8D%E7%BB%BF%E5%8D%A1/%E7%AE%A1%E7%90%86%E7%AB%AF/rencailvka-admin/node_modules/vite-plugin-compression/dist/index.mjs";
  30. function createCompression(env) {
  31. const { VITE_BUILD_COMPRESS } = env;
  32. const plugin = [];
  33. if (VITE_BUILD_COMPRESS) {
  34. const compressList = VITE_BUILD_COMPRESS.split(",");
  35. if (compressList.includes("gzip")) {
  36. plugin.push(
  37. compression({
  38. ext: ".gz",
  39. deleteOriginFile: false
  40. })
  41. );
  42. }
  43. if (compressList.includes("brotli")) {
  44. plugin.push(
  45. compression({
  46. ext: ".br",
  47. algorithm: "brotliCompress",
  48. deleteOriginFile: false
  49. })
  50. );
  51. }
  52. }
  53. return plugin;
  54. }
  55. // vite/plugins/setup-extend.js
  56. import setupExtend from "file:///F:/%E5%B7%A5%E4%BD%9C%E6%96%87%E4%BB%B6%E5%A4%B9/%E4%BA%BA%E6%89%8D%E7%BB%BF%E5%8D%A1/%E7%AE%A1%E7%90%86%E7%AB%AF/rencailvka-admin/node_modules/unplugin-vue-setup-extend-plus/dist/vite.js";
  57. function createSetupExtend() {
  58. return setupExtend({});
  59. }
  60. // vite/plugins/index.js
  61. function createVitePlugins(viteEnv, isBuild = false) {
  62. const vitePlugins = [vue()];
  63. vitePlugins.push(createAutoImport());
  64. vitePlugins.push(createSetupExtend());
  65. vitePlugins.push(createSvgIcon(isBuild));
  66. isBuild && vitePlugins.push(...createCompression(viteEnv));
  67. return vitePlugins;
  68. }
  69. // vite.config.js
  70. var __vite_injected_original_dirname = "F:\\\u5DE5\u4F5C\u6587\u4EF6\u5939\\\u4EBA\u624D\u7EFF\u5361\\\u7BA1\u7406\u7AEF\\rencailvka-admin";
  71. var vite_config_default = defineConfig(({ mode, command }) => {
  72. const env = loadEnv(mode, process.cwd());
  73. const { VITE_APP_ENV } = env;
  74. return {
  75. // 部署生产环境和开发环境下的URL。
  76. // 默认情况下,vite 会假设你的应用是被部署在一个域名的根路径上
  77. // 例如 https://www.ruoyi.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.ruoyi.vip/admin/,则设置 baseUrl 为 /admin/。
  78. base: VITE_APP_ENV === "production" ? "/" : "/",
  79. plugins: createVitePlugins(env, command === "build"),
  80. resolve: {
  81. // https://cn.vitejs.dev/config/#resolve-alias
  82. alias: {
  83. // 设置路径
  84. "~": path2.resolve(__vite_injected_original_dirname, "./"),
  85. // 设置别名
  86. "@": path2.resolve(__vite_injected_original_dirname, "./src")
  87. },
  88. // https://cn.vitejs.dev/config/#resolve-extensions
  89. extensions: [".mjs", ".js", ".ts", ".jsx", ".tsx", ".json", ".vue"]
  90. },
  91. // vite 相关配置
  92. server: {
  93. port: 8082,
  94. host: "0.0.0.0",
  95. open: true,
  96. proxy: {
  97. // https://cn.vitejs.dev/config/#server-proxy
  98. "/dev-api": {
  99. target: "http://192.168.1.6:8088",
  100. // target: "http://10.232.124.103:8080", //秦皇岛
  101. // target: "http://59.226.141.65:8080", //衡水
  102. // target: "http://30.20.32.1:8080", ///承德
  103. changeOrigin: true,
  104. rewrite: (p) => p.replace(/^\/dev-api/, "")
  105. // rewrite: (p) => p.replace(/^\/prod-api/, ""),
  106. }
  107. }
  108. },
  109. //fix:error:stdin>:7356:1: warning: "@charset" must be the first rule in the file
  110. css: {
  111. postcss: {
  112. plugins: [
  113. {
  114. postcssPlugin: "internal:charset-removal",
  115. AtRule: {
  116. charset: (atRule) => {
  117. if (atRule.name === "charset") {
  118. atRule.remove();
  119. }
  120. }
  121. }
  122. }
  123. ]
  124. }
  125. }
  126. };
  127. });
  128. export {
  129. vite_config_default as default
  130. };
  131. //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcuanMiLCAidml0ZS9wbHVnaW5zL2luZGV4LmpzIiwgInZpdGUvcGx1Z2lucy9hdXRvLWltcG9ydC5qcyIsICJ2aXRlL3BsdWdpbnMvc3ZnLWljb24uanMiLCAidml0ZS9wbHVnaW5zL2NvbXByZXNzaW9uLmpzIiwgInZpdGUvcGx1Z2lucy9zZXR1cC1leHRlbmQuanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJGOlxcXFxcdTVERTVcdTRGNUNcdTY1ODdcdTRFRjZcdTU5MzlcXFxcXHU0RUJBXHU2MjREXHU3RUZGXHU1MzYxXFxcXFx1N0JBMVx1NzQwNlx1N0FFRlxcXFxyZW5jYWlsdmthLWFkbWluXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCJGOlxcXFxcdTVERTVcdTRGNUNcdTY1ODdcdTRFRjZcdTU5MzlcXFxcXHU0RUJBXHU2MjREXHU3RUZGXHU1MzYxXFxcXFx1N0JBMVx1NzQwNlx1N0FFRlxcXFxyZW5jYWlsdmthLWFkbWluXFxcXHZpdGUuY29uZmlnLmpzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9GOi8lRTUlQjclQTUlRTQlQkQlOUMlRTYlOTYlODclRTQlQkIlQjYlRTUlQTQlQjkvJUU0JUJBJUJBJUU2JTg5JThEJUU3JUJCJUJGJUU1JThEJUExLyVFNyVBRSVBMSVFNyU5MCU4NiVFNyVBQiVBRi9yZW5jYWlsdmthLWFkbWluL3ZpdGUuY29uZmlnLmpzXCI7LyoqIEBmb3JtYXQgKi9cclxuXHJcbmltcG9ydCB7IGRlZmluZUNvbmZpZywgbG9hZEVudiB9IGZyb20gXCJ2aXRlXCI7XHJcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCI7XHJcbmltcG9ydCBjcmVhdGVWaXRlUGx1Z2lucyBmcm9tIFwiLi92aXRlL3BsdWdpbnNcIjtcclxuXHJcbi8vIGh0dHBzOi8vdml0ZWpzLmRldi9jb25maWcvXHJcbmV4cG9ydCBkZWZhdWx0IGRlZmluZUNvbmZpZygoeyBtb2RlLCBjb21tYW5kIH0pID0+IHtcclxuICBjb25zdCBlbnYgPSBsb2FkRW52KG1vZGUsIHByb2Nlc3MuY3dkKCkpO1xyXG4gIGNvbnN0IHsgVklURV9BUFBfRU5WIH0gPSBlbnY7XHJcbiAgcmV0dXJuIHtcclxuICAgIC8vIFx1OTBFOFx1N0Y3Mlx1NzUxRlx1NEVBN1x1NzNBRlx1NTg4M1x1NTQ4Q1x1NUYwMFx1NTNEMVx1NzNBRlx1NTg4M1x1NEUwQlx1NzY4NFVSTFx1MzAwMlxyXG4gICAgLy8gXHU5RUQ4XHU4QkE0XHU2MEM1XHU1MUI1XHU0RTBCXHVGRjBDdml0ZSBcdTRGMUFcdTUwNDdcdThCQkVcdTRGNjBcdTc2ODRcdTVFOTRcdTc1MjhcdTY2MkZcdTg4QUJcdTkwRThcdTdGNzJcdTU3MjhcdTRFMDBcdTRFMkFcdTU3REZcdTU0MERcdTc2ODRcdTY4MzlcdThERUZcdTVGODRcdTRFMEFcclxuICAgIC8vIFx1NEY4Qlx1NTk4MiBodHRwczovL3d3dy5ydW95aS52aXAvXHUzMDAyXHU1OTgyXHU2NzlDXHU1RTk0XHU3NTI4XHU4OEFCXHU5MEU4XHU3RjcyXHU1NzI4XHU0RTAwXHU0RTJBXHU1QjUwXHU4REVGXHU1Rjg0XHU0RTBBXHVGRjBDXHU0RjYwXHU1QzMxXHU5NzAwXHU4OTgxXHU3NTI4XHU4RkQ5XHU0RTJBXHU5MDA5XHU5ODc5XHU2MzA3XHU1QjlBXHU4RkQ5XHU0RTJBXHU1QjUwXHU4REVGXHU1Rjg0XHUzMDAyXHU0RjhCXHU1OTgyXHVGRjBDXHU1OTgyXHU2NzlDXHU0RjYwXHU3Njg0XHU1RTk0XHU3NTI4XHU4OEFCXHU5MEU4XHU3RjcyXHU1NzI4IGh0dHBzOi8vd3d3LnJ1b3lpLnZpcC9hZG1pbi9cdUZGMENcdTUyMTlcdThCQkVcdTdGNkUgYmFzZVVybCBcdTRFM0EgL2FkbWluL1x1MzAwMlxyXG4gICAgYmFzZTogVklURV9BUFBfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IFwiL1wiIDogXCIvXCIsXHJcbiAgICBwbHVnaW5zOiBjcmVhdGVWaXRlUGx1Z2lucyhlbnYsIGNvbW1hbmQgPT09IFwiYnVpbGRcIiksXHJcbiAgICByZXNvbHZlOiB7XHJcbiAgICAgIC8vIGh0dHBzOi8vY24udml0ZWpzLmRldi9jb25maWcvI3Jlc29sdmUtYWxpYXNcclxuICAgICAgYWxpYXM6IHtcclxuICAgICAgICAvLyBcdThCQkVcdTdGNkVcdThERUZcdTVGODRcclxuICAgICAgICBcIn5cIjogcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgXCIuL1wiKSxcclxuICAgICAgICAvLyBcdThCQkVcdTdGNkVcdTUyMkJcdTU0MERcclxuICAgICAgICBcIkBcIjogcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgXCIuL3NyY1wiKSxcclxuICAgICAgfSxcclxuICAgICAgLy8gaHR0cHM6Ly9jbi52aXRlanMuZGV2L2NvbmZpZy8jcmVzb2x2ZS1leHRlbnNpb25zXHJcbiAgICAgIGV4dGVuc2lvbnM6IFtcIi5tanNcIiwgXCIuanNcIiwgXCIudHNcIiwgXCIuanN4XCIsIFwiLnRzeFwiLCBcIi5qc29uXCIsIFwiLnZ1ZVwiXSxcclxuICAgIH0sXHJcbiAgICAvLyB2aXRlIFx1NzZGOFx1NTE3M1x1OTE0RFx1N0Y2RVxyXG4gICAgc2VydmVyOiB7XHJcbiAgICAgIHBvcnQ6IDgwODIsXHJcbiAgICAgIGhvc3Q6IFwiMC4wLjAuMFwiLFxyXG4gICAgICBvcGVuOiB0cnVlLFxyXG4gICAgICBwcm94eToge1xyXG4gICAgICAgIC8vIGh0dHBzOi8vY24udml0ZWpzLmRldi9jb25maWcvI3NlcnZlci1wcm94eVxyXG4gICAgICAgIFwiL2Rldi1hcGlcIjoge1xyXG4gICAgICAgICAgdGFyZ2V0OiBcImh0dHA6Ly8xOTIuMTY4LjEuNjo4MDg4XCIsXHJcbiAgICAgICAgICAvLyB0YXJnZXQ6IFwiaHR0cDovLzEwLjIzMi4xMjQuMTAzOjgwODBcIiwgLy9cdTc5RTZcdTc2ODdcdTVDOUJcclxuICAgICAgICAgIC8vIHRhcmdldDogXCJodHRwOi8vNTkuMjI2LjE0MS42NTo4MDgwXCIsIC8vXHU4ODYxXHU2QzM0XHJcbiAgICAgICAgICAvLyB0YXJnZXQ6IFwiaHR0cDovLzMwLjIwLjMyLjE6ODA4MFwiLCAvLy9cdTYyN0ZcdTVGQjdcclxuXHJcbiAgICAgICAgICBjaGFuZ2VPcmlnaW46IHRydWUsXHJcbiAgICAgICAgICByZXdyaXRlOiAocCkgPT4gcC5yZXBsYWNlKC9eXFwvZGV2LWFwaS8sIFwiXCIpLFxyXG4gICAgICAgICAgLy8gcmV3cml0ZTogKHApID0+IHAucmVwbGFjZSgvXlxcL3Byb2QtYXBpLywgXCJcIiksXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgICAvL2ZpeDplcnJvcjpzdGRpbj46NzM1NjoxOiB3YXJuaW5nOiBcIkBjaGFyc2V0XCIgbXVzdCBiZSB0aGUgZmlyc3QgcnVsZSBpbiB0aGUgZmlsZVxyXG4gICAgY3NzOiB7XHJcbiAgICAgIHBvc3Rjc3M6IHtcclxuICAgICAgICBwbHVnaW5zOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHBvc3Rjc3NQbHVnaW46IFwiaW50ZXJuYWw6Y2hhcnNldC1yZW1vdmFsXCIsXHJcbiAgICAgICAgICAgIEF0UnVsZToge1xyXG4gICAgICAgICAgICAgIGNoYXJzZXQ6IChhdFJ1bGUpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChhdFJ1bGUubmFtZSA9PT0gXCJjaGFyc2V0XCIpIHtcclxuICAgICAgICAgICAgICAgICAgYXRSdWxlLnJlbW92ZSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIF0sXHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gIH07XHJcbn0pO1xyXG4iLCAiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIkY6XFxcXFx1NURFNVx1NEY1Q1x1NjU4N1x1NEVGNlx1NTkzOVxcXFxcdTRFQkFcdTYyNERcdTdFRkZcdTUzNjFcXFxcXHU3QkExXHU3NDA2XHU3QUVGXFxcXHJlbmNhaWx2a2EtYWRtaW5cXFxcdml0ZVxcXFxwbHVnaW5zXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCJGOlxcXFxcdTVERTVcdTRGNUNcdTY1ODdcdTRFRjZcdTU5MzlcXFxcXHU0RUJBXHU2MjREXHU3RUZGXHU1MzYxXFxcXFx1N0JBMVx1NzQwNlx1N0FFRlxcXFxyZW5jYWlsdmthLWFkbWluXFxcXHZpdGVcXFxccGx1Z2luc1xcXFxpbmRleC5qc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vRjovJUU1JUI3JUE1JUU0JUJEJTlDJUU2JTk2JTg3JUU0JUJCJUI2JUU1JUE0JUI5LyVFNCVCQSVCQSVFNiU4OSU4RCVFNyVCQiVCRiVFNSU4RCVBMS8lRTclQUUlQTElRTclOTAlODYlRTclQUIlQUYvcmVuY2FpbHZrYS1hZG1pbi92aXRlL3BsdWdpbnMvaW5kZXguanNcIjtpbXBvcnQgdnVlIGZyb20gJ0B2aXRlanMvcGx1Z2luLXZ1ZSdcclxuXHJcbmltcG9ydCBjcmVhdGVBdXRvSW1wb3J0IGZyb20gJy4vYXV0by1pbXBvcnQnXHJcbmltcG9ydCBjcmVhdGVTdmdJY29uIGZyb20gJy4vc3ZnLWljb24nXHJcbmltcG9ydCBjcmVhdGVDb21wcmVzc2lvbiBmcm9tICcuL2NvbXByZXNzaW9uJ1xyXG5pbXBvcnQgY3JlYXRlU2V0dXBFeHRlbmQgZnJvbSAnLi9zZXR1cC1leHRlbmQnXHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjcmVhdGVWaXRlUGx1Z2lucyh2aXRlRW52LCBpc0J1aWxkID0gZmFsc2UpIHtcclxuICAgIGNvbnN0IHZpdGVQbHVnaW5zID0gW3Z1ZSgpXVxyXG4gICAgdml0ZVBsdWdpbnMucHVzaChjcmVhdGVBdXRvSW1wb3J0KCkpXHJcblx0dml0ZVBsdWdpbnMucHVzaChjcmVhdGVTZXR1cEV4dGVuZCgpKVxyXG4gICAgdml0ZVBsdWdpbnMucHVzaChjcmVhdGVTdmdJY29uKGlzQnVpbGQpKVxyXG5cdGlzQnVpbGQgJiYgdml0ZVBsdWdpbnMucHVzaCguLi5jcmVhdGVDb21wcmVzc2lvbih2aXRlRW52KSlcclxuICAgIHJldHVybiB2aXRlUGx1Z2luc1xyXG59XHJcbiIsICJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiRjpcXFxcXHU1REU1XHU0RjVDXHU2NTg3XHU0RUY2XHU1OTM5XFxcXFx1NEVCQVx1NjI0RFx1N0VGRlx1NTM2MVxcXFxcdTdCQTFcdTc0MDZcdTdBRUZcXFxccmVuY2FpbHZrYS1hZG1pblxcXFx2aXRlXFxcXHBsdWdpbnNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIkY6XFxcXFx1NURFNVx1NEY1Q1x1NjU4N1x1NEVGNlx1NTkzOVxcXFxcdTRFQkFcdTYyNERcdTdFRkZcdTUzNjFcXFxcXHU3QkExXHU3NDA2XHU3QUVGXFxcXHJlbmNhaWx2a2EtYWRtaW5cXFxcdml0ZVxcXFxwbHVnaW5zXFxcXGF1dG8taW1wb3J0LmpzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9GOi8lRTUlQjclQTUlRTQlQkQlOUMlRTYlOTYlODclRTQlQkIlQjYlRTUlQTQlQjkvJUU0JUJBJUJBJUU2JTg5JThEJUU3JUJCJUJGJUU1JThEJUExLyVFNyVBRSVBMSVFNyU5MCU4NiVFNyVBQiVBRi9yZW5jYWlsdmthLWFkbWluL3ZpdGUvcGx1Z2lucy9hdXRvLWltcG9ydC5qc1wiO2ltcG9ydCBhdXRvSW1wb3J0IGZyb20gJ3VucGx1Z2luLWF1dG8taW1wb3J0L3ZpdGUnXHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjcmVhdGVBdXRvSW1wb3J0KCkge1xyXG4gICAgcmV0dXJuIGF1dG9JbXBvcnQoe1xyXG4gICAgICAgIGltcG9ydHM6IFtcclxuICAgICAgICAgICAgJ3Z1ZScsXHJcbiAgICAgICAgICAgICd2dWUtcm91dGVyJyxcclxuICAgICAgICAgICAgJ3BpbmlhJ1xyXG4gICAgICAgIF0sXHJcbiAgICAgICAgZHRzOiBmYWxzZVxyXG4gICAgfSlcclxufVxyXG4iLCAiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIkY6XFxcXFx1NURFNVx1NEY1Q1x1NjU4N1x1NEVGNlx1NTkzOVxcXFxcdTRFQkFcdTYyNERcdTdFRkZcdTUzNjFcXFxcXHU3QkExXHU3NDA2XHU3QUVGXFxcXHJlbmNhaWx2a2EtYWRtaW5cXFxcdml0ZVxcXFxwbHVnaW5zXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCJGOlxcXFxcdTVERTVcdTRGNUNcdTY1ODdcdTRFRjZcdTU5MzlcXFxcXHU0RUJBXHU2MjREXHU3RUZGXHU1MzYxXFxcXFx1N0JBMVx1NzQwNlx1N0FFRlxcXFxyZW5jYWlsdmthLWFkbWluXFxcXHZpdGVcXFxccGx1Z2luc1xcXFxzdmctaWNvbi5qc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vRjovJUU1JUI3JUE1JUU0JUJEJTlDJUU2JTk2JTg3JUU0JUJCJUI2JUU1JUE0JUI5LyVFNCVCQSVCQSVFNiU4OSU4RCVFNyVCQiVCRiVFNSU4RCVBMS8lRTclQUUlQTElRTclOTAlODYlRTclQUIlQUYvcmVuY2FpbHZrYS1hZG1pbi92aXRlL3BsdWdpbnMvc3ZnLWljb24uanNcIjtpbXBvcnQgeyBjcmVhdGVTdmdJY29uc1BsdWdpbiB9IGZyb20gJ3ZpdGUtcGx1Z2luLXN2Zy1pY29ucydcclxuaW1wb3J0IHBhdGggZnJvbSAncGF0aCdcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNyZWF0ZVN2Z0ljb24oaXNCdWlsZCkge1xyXG4gICAgcmV0dXJuIGNyZWF0ZVN2Z0ljb25zUGx1Z2luKHtcclxuXHRcdGljb25EaXJzOiBbcGF0aC5yZXNvbHZlKHByb2Nlc3MuY3dkKCksICdzcmMvYXNzZXRzL2ljb25zL3N2ZycpXSxcclxuICAgICAgICBzeW1ib2xJZDogJ2ljb24tW2Rpcl0tW25hbWVdJyxcclxuICAgICAgICBzdmdvT3B0aW9uczogaXNCdWlsZFxyXG4gICAgfSlcclxufVxyXG4iLCAiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIkY6XFxcXFx1NURFNVx1NEY1Q1x1NjU4N1x1NEVGNlx1NTkzOVxcXFxcdTRFQkFcdTYyNERcdTdFRkZcdTUzNjFcXFxcXHU3QkExXHU3NDA2XHU3QUVGXFxcXHJlbmNhaWx2a2EtYWRtaW5cXFxcdml0ZVxcXFxwbHVnaW5zXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCJGOlxcXFxcdTVERTVcdTRGNUNcdTY1ODdcdTRFRjZcdTU5MzlcXFxcXHU0RUJBXHU2MjREXHU3RUZGXHU1MzYxXFxcXFx1N0JBMVx1NzQwNlx1N0FFRlxcXFxyZW5jYWlsdmthLWFkbWluXFxcXHZpdGVcXFxccGx1Z2luc1xcXFxjb21wcmVzc2lvbi5qc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vRjovJUU1JUI3JUE1JUU0JUJEJTlDJUU2JTk2JTg3JUU0JUJCJUI2JUU1JUE0JUI5LyVFNCVCQSVCQSVFNiU4OSU4RCVFNyVCQiVCRiVFNSU4RCVBMS8lRTclQUUlQTElRTclOTAlODYlRTclQUIlQUYvcmVuY2FpbHZrYS1hZG1pbi92aXRlL3BsdWdpbnMvY29tcHJlc3Npb24uanNcIjtpbXBvcnQgY29tcHJlc3Npb24gZnJvbSAndml0ZS1wbHVnaW4tY29tcHJlc3Npb24nXHJcblxyXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjcmVhdGVDb21wcmVzc2lvbihlbnYpIHtcclxuICAgIGNvbnN0IHsgVklURV9CVUlMRF9DT01QUkVTUyB9ID0gZW52XHJcbiAgICBjb25zdCBwbHVnaW4gPSBbXVxyXG4gICAgaWYgKFZJVEVfQlVJTERfQ09NUFJFU1MpIHtcclxuICAgICAgICBjb25zdCBjb21wcmVzc0xpc3QgPSBWSVRFX0JVSUxEX0NPTVBSRVNTLnNwbGl0KCcsJylcclxuICAgICAgICBpZiAoY29tcHJlc3NMaXN0LmluY2x1ZGVzKCdnemlwJykpIHtcclxuICAgICAgICAgICAgLy8gaHR0cDovL2RvYy5ydW95aS52aXAvcnVveWktdnVlL290aGVyL2ZhcS5odG1sI1x1NEY3Rlx1NzUyOGd6aXBcdTg5RTNcdTUzOEJcdTdGMjlcdTk3NTlcdTYwMDFcdTY1ODdcdTRFRjZcclxuICAgICAgICAgICAgcGx1Z2luLnB1c2goXHJcbiAgICAgICAgICAgICAgICBjb21wcmVzc2lvbih7XHJcbiAgICAgICAgICAgICAgICAgICAgZXh0OiAnLmd6JyxcclxuICAgICAgICAgICAgICAgICAgICBkZWxldGVPcmlnaW5GaWxlOiBmYWxzZVxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoY29tcHJlc3NMaXN0LmluY2x1ZGVzKCdicm90bGknKSkge1xyXG4gICAgICAgICAgICBwbHVnaW4ucHVzaChcclxuICAgICAgICAgICAgICAgIGNvbXByZXNzaW9uKHtcclxuICAgICAgICAgICAgICAgICAgICBleHQ6ICcuYnInLFxyXG4gICAgICAgICAgICAgICAgICAgIGFsZ29yaXRobTogJ2Jyb3RsaUNvbXByZXNzJyxcclxuICAgICAgICAgICAgICAgICAgICBkZWxldGVPcmlnaW5GaWxlOiBmYWxzZVxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwbHVnaW5cclxufVxyXG4iLCAiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIkY6XFxcXFx1NURFNVx1NEY1Q1x1NjU4N1x1NEVGNlx1NTkzOVxcXFxcdTRFQkFcdTYyNERcdTdFRkZcdTUzNjFcXFxcXHU3QkExXHU3NDA2XHU3QUVGXFxcXHJlbmNhaWx2a2EtYWRtaW5cXFxcdml0ZVxcXFxwbHVnaW5zXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCJGOlxcXFxcdTVERTVcdTRGNUNcdTY1ODdcdTRFRjZcdTU5MzlcXFxcXHU0RUJBXHU2MjREXHU3RUZGXHU1MzYxXFxcXFx1N0JBMVx1NzQwNlx1N0FFRlxcXFxyZW5jYWlsdmthLWFkbWluXFxcXHZpdGVcXFxccGx1Z2luc1xcXFxzZXR1cC1leHRlbmQuanNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL0Y6LyVFNSVCNyVBNSVFNCVCRCU5QyVFNiU5NiU4NyVFNCVCQiVCNiVFNSVBNCVCOS8lRTQlQkElQkElRTYlODklOEQlRTclQkIlQkYlRTUlOEQlQTEvJUU3JUFFJUExJUU3JTkwJTg2JUU3JUFCJUFGL3JlbmNhaWx2a2EtYWRtaW4vdml0ZS9wbHVnaW5zL3NldHVwLWV4dGVuZC5qc1wiO2ltcG9ydCBzZXR1cEV4dGVuZCBmcm9tICd1bnBsdWdpbi12dWUtc2V0dXAtZXh0ZW5kLXBsdXMvdml0ZSdcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNyZWF0ZVNldHVwRXh0ZW5kKCkge1xyXG4gICAgcmV0dXJuIHNldHVwRXh0ZW5kKHt9KVxyXG59XHJcbiJdLAogICJtYXBwaW5ncyI6ICI7QUFFQSxTQUFTLGNBQWMsZUFBZTtBQUN0QyxPQUFPQSxXQUFVOzs7QUNIZ1osT0FBTyxTQUFTOzs7QUNBSixPQUFPLGdCQUFnQjtBQUVyYixTQUFSLG1CQUFvQztBQUN2QyxTQUFPLFdBQVc7QUFBQSxJQUNkLFNBQVM7QUFBQSxNQUNMO0FBQUEsTUFDQTtBQUFBLE1BQ0E7QUFBQSxJQUNKO0FBQUEsSUFDQSxLQUFLO0FBQUEsRUFDVCxDQUFDO0FBQ0w7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