diff --git a/src/components.d.ts b/src/components.d.ts index fc8b170..547fa5b 100644 --- a/src/components.d.ts +++ b/src/components.d.ts @@ -9,21 +9,14 @@ declare module 'vue' { export interface GlobalComponents { AAlert: typeof import('ant-design-vue/es')['Alert'] AAvatar: typeof import('ant-design-vue/es')['Avatar'] - ABadge: typeof import('ant-design-vue/es')['Badge'] - ABadgeRibbon: typeof import('ant-design-vue/es')['BadgeRibbon'] AButton: typeof import('ant-design-vue/es')['Button'] ACard: typeof import('ant-design-vue/es')['Card'] - ACardGrid: typeof import('ant-design-vue/es')['CardGrid'] - ACheckbox: typeof import('ant-design-vue/es')['Checkbox'] ACol: typeof import('ant-design-vue/es')['Col'] AConfigProvider: typeof import('ant-design-vue/es')['ConfigProvider'] ADatePicker: typeof import('ant-design-vue/es')['DatePicker'] - ADescriptions: typeof import('ant-design-vue/es')['Descriptions'] - ADescriptionsItem: typeof import('ant-design-vue/es')['DescriptionsItem'] ADivider: typeof import('ant-design-vue/es')['Divider'] ADrawer: typeof import('ant-design-vue/es')['Drawer'] ADropdown: typeof import('ant-design-vue/es')['Dropdown'] - AFlex: typeof import('ant-design-vue/es')['Flex'] AFloatButton: typeof import('ant-design-vue/es')['FloatButton'] AForm: typeof import('ant-design-vue/es')['Form'] AFormItem: typeof import('ant-design-vue/es')['FormItem'] @@ -48,9 +41,7 @@ declare module 'vue' { ARow: typeof import('ant-design-vue/es')['Row'] ASelect: typeof import('ant-design-vue/es')['Select'] ASelectOption: typeof import('ant-design-vue/es')['SelectOption'] - ASlider: typeof import('ant-design-vue/es')['Slider'] ASpace: typeof import('ant-design-vue/es')['Space'] - ASpin: typeof import('ant-design-vue/es')['Spin'] AStatistic: typeof import('ant-design-vue/es')['Statistic'] ASteps: typeof import('ant-design-vue/es')['Steps'] ASubMenu: typeof import('ant-design-vue/es')['SubMenu'] @@ -61,7 +52,6 @@ declare module 'vue' { ATag: typeof import('ant-design-vue/es')['Tag'] ATooltip: typeof import('ant-design-vue/es')['Tooltip'] ATransfer: typeof import('ant-design-vue/es')['Transfer'] - ATree: typeof import('ant-design-vue/es')['Tree'] ATypographyLink: typeof import('ant-design-vue/es')['TypographyLink'] ATypographyParagraph: typeof import('ant-design-vue/es')['TypographyParagraph'] ATypographyTitle: typeof import('ant-design-vue/es')['TypographyTitle'] @@ -91,8 +81,6 @@ declare module 'vue' { RouterLink: typeof import('vue-router')['RouterLink'] RouterView: typeof import('vue-router')['RouterView'] RowComponentItem: typeof import('./components/form-designer/component-container/row-component-item.vue')['default'] - SearchTree: typeof import('./components/search-tree.vue')['default'] - SelectedTree: typeof import('./components/search-tree.vue')['default'] TreeDataTable: typeof import('./components/form-designer/config-panel/tree-data-table.vue')['default'] ValidateRuleConfig: typeof import('./components/form-designer/config-panel/validate-rule-config.vue')['default'] } diff --git a/src/views/stock/component/apply-page.vue b/src/views/stock/component/apply-page.vue index 58b7ad4..1f07657 100644 --- a/src/views/stock/component/apply-page.vue +++ b/src/views/stock/component/apply-page.vue @@ -1,36 +1,36 @@ diff --git a/src/views/stock/component/applyConfirm.vue b/src/views/stock/component/applyConfirm.vue new file mode 100644 index 0000000..d0d7838 --- /dev/null +++ b/src/views/stock/component/applyConfirm.vue @@ -0,0 +1,79 @@ + + + diff --git a/src/views/stock/component/applyForm.vue b/src/views/stock/component/applyForm.vue index a9988ef..be86ade 100644 --- a/src/views/stock/component/applyForm.vue +++ b/src/views/stock/component/applyForm.vue @@ -1,92 +1,98 @@ diff --git a/src/views/stock/component/applyModal.vue b/src/views/stock/component/applyModal.vue index 013ce97..3c16046 100644 --- a/src/views/stock/component/applyModal.vue +++ b/src/views/stock/component/applyModal.vue @@ -1,42 +1,66 @@ \ No newline at end of file + diff --git a/src/views/stock/component/scanForm.vue b/src/views/stock/component/scanForm.vue index 5639336..f8cbe48 100644 --- a/src/views/stock/component/scanForm.vue +++ b/src/views/stock/component/scanForm.vue @@ -1,83 +1,134 @@ diff --git a/src/views/stock/component/successResul.vue b/src/views/stock/component/successResul.vue new file mode 100644 index 0000000..288c2e9 --- /dev/null +++ b/src/views/stock/component/successResul.vue @@ -0,0 +1,11 @@ + + + diff --git a/src/views/stock/inboud/inboud-page.vue b/src/views/stock/inboud/inboud-page.vue index 47b44ae..dbe81e7 100644 --- a/src/views/stock/inboud/inboud-page.vue +++ b/src/views/stock/inboud/inboud-page.vue @@ -1,8 +1,8 @@ \ No newline at end of file + diff --git a/vite.config.ts.timestamp-1733280057567-72270187d6e8b.mjs b/vite.config.ts.timestamp-1733280057567-72270187d6e8b.mjs new file mode 100644 index 0000000..a46fb0e --- /dev/null +++ b/vite.config.ts.timestamp-1733280057567-72270187d6e8b.mjs @@ -0,0 +1,93 @@ +// vite.config.ts +import { defineConfig } from "file:///D:/work/my/coding_hobby/ims-front/node_modules/.pnpm/vite@5.4.8_@types+node@22.5.3_less@4.2.1/node_modules/vite/dist/node/index.js"; +import vue from "file:///D:/work/my/coding_hobby/ims-front/node_modules/.pnpm/@vitejs+plugin-vue@5.1.4_vite@5.4.8_@types+node@22.5.3_less@4.2.1__vue@3.5.11_typescript@5.6.3_/node_modules/@vitejs/plugin-vue/dist/index.mjs"; +import { fileURLToPath, URL } from "url"; +import AutoImport from "file:///D:/work/my/coding_hobby/ims-front/node_modules/.pnpm/unplugin-auto-import@0.18.3_@nuxt+kit@3.13.2_rollup@4.21.2_webpack-sources@3.2.3__@vueuse+cor_ct7nfw7obvg6oaanky5netyf4u/node_modules/unplugin-auto-import/dist/vite.js"; +import { visualizer } from "file:///D:/work/my/coding_hobby/ims-front/node_modules/.pnpm/rollup-plugin-visualizer@5.12.0_rollup@4.21.2/node_modules/rollup-plugin-visualizer/dist/plugin/index.js"; +import Components from "file:///D:/work/my/coding_hobby/ims-front/node_modules/.pnpm/unplugin-vue-components@0.27.4_@babel+parser@7.25.6_@nuxt+kit@3.13.2_rollup@4.21.2_webpack-so_yuxkh365t2exwvukyuvotdxtdq/node_modules/unplugin-vue-components/dist/vite.js"; +import { AntDesignVueResolver } from "file:///D:/work/my/coding_hobby/ims-front/node_modules/.pnpm/unplugin-vue-components@0.27.4_@babel+parser@7.25.6_@nuxt+kit@3.13.2_rollup@4.21.2_webpack-so_yuxkh365t2exwvukyuvotdxtdq/node_modules/unplugin-vue-components/dist/resolvers.js"; +import viteCompression from "file:///D:/work/my/coding_hobby/ims-front/node_modules/.pnpm/vite-plugin-compression@0.5.1_vite@5.4.8_@types+node@22.5.3_less@4.2.1_/node_modules/vite-plugin-compression/dist/index.mjs"; +import vueJsx from "file:///D:/work/my/coding_hobby/ims-front/node_modules/.pnpm/@vitejs+plugin-vue-jsx@4.0.1_vite@5.4.8_@types+node@22.5.3_less@4.2.1__vue@3.5.11_typescript@5.6.3_/node_modules/@vitejs/plugin-vue-jsx/dist/index.mjs"; +import vueDevTools from "file:///D:/work/my/coding_hobby/ims-front/node_modules/.pnpm/vite-plugin-vue-devtools@7.4.6_@nuxt+kit@3.13.2_rollup@4.21.2_webpack-sources@3.2.3__rollup@4_ryihblh2z2o3v2ncveuo4sj7xy/node_modules/vite-plugin-vue-devtools/dist/vite.mjs"; +var __vite_injected_original_import_meta_url = "file:///D:/work/my/coding_hobby/ims-front/vite.config.ts"; +var vite_config_default = defineConfig(({ mode }) => { + console.log(mode); + return { + resolve: { + alias: { + "@": fileURLToPath(new URL("./src", __vite_injected_original_import_meta_url)) + } + }, + optimizeDeps: { + include: ["@ant-design/icons-vue", "ant-design-vue"] + }, + plugins: [ + vue(), + vueJsx(), + vueDevTools(), + process.env.npm_lifecycle_event === "report" ? visualizer({ open: true, brotliSize: true, filename: "report.html" }) : null, + viteCompression({ + threshold: 1024e3 + // 对大于 1mb 的文件进行压缩 + }), + AutoImport({ + dts: "src/auto-imports.d.ts", + imports: ["vue", "vue-router", "@vueuse/core"], + eslintrc: { + enabled: true, + filepath: "./.eslintrc-auto-import.json", + globalsPropValue: true + } + }), + Components({ + dts: "src/components.d.ts", + deep: true, + dirs: ["src/components"], + extensions: ["vue", "tsx"], + resolvers: [ + AntDesignVueResolver({ + importStyle: false + }) + ] + }) + ], + server: { + open: true, + proxy: { + "/api": { + // target: 'https://iot.riemann.tech/api/', + target: "http://127.0.0.1:7777", + changeOrigin: true, + rewrite: (path) => path.replace(/^\/api/, "") + } + } + }, + esbuild: { + drop: ["console", "debugger"] + // 删除 所有的console 和 debugger + }, + build: { + chunkSizeWarningLimit: 1500, + rollupOptions: { + output: { + //每个node_modules模块分成一个js文件 + manualChunks(id) { + if (id.includes("node_modules")) { + return id.toString().split("node_modules/")[1].split("/")[1].toString(); + } + }, + // 用于从入口点创建的块的打包输出格式[name]表示文件名,[hash]表示该文件内容hash值 + entryFileNames: "assets/js/[name].[hash].js", + // 用于命名代码拆分时创建的共享块的输出命名 + chunkFileNames: "assets/js/[name].[hash].js", + // 用于输出静态资源的命名,[ext]表示文件扩展名 + assetFileNames: "assets/[ext]/[name].[hash].[ext]" + } + } + } + }; +}); +export { + vite_config_default as default +}; +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJEOlxcXFx3b3JrXFxcXG15XFxcXGNvZGluZ19ob2JieVxcXFxpbXMtZnJvbnRcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIkQ6XFxcXHdvcmtcXFxcbXlcXFxcY29kaW5nX2hvYmJ5XFxcXGltcy1mcm9udFxcXFx2aXRlLmNvbmZpZy50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vRDovd29yay9teS9jb2RpbmdfaG9iYnkvaW1zLWZyb250L3ZpdGUuY29uZmlnLnRzXCI7aW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSAndml0ZSdcclxuXHJcbmltcG9ydCB2dWUgZnJvbSAnQHZpdGVqcy9wbHVnaW4tdnVlJ1xyXG5pbXBvcnQgeyBmaWxlVVJMVG9QYXRoLCBVUkwgfSBmcm9tICd1cmwnXHJcblxyXG5pbXBvcnQgQXV0b0ltcG9ydCBmcm9tICd1bnBsdWdpbi1hdXRvLWltcG9ydC92aXRlJ1xyXG5pbXBvcnQgeyB2aXN1YWxpemVyIH0gZnJvbSAncm9sbHVwLXBsdWdpbi12aXN1YWxpemVyJ1xyXG5pbXBvcnQgQ29tcG9uZW50cyBmcm9tICd1bnBsdWdpbi12dWUtY29tcG9uZW50cy92aXRlJ1xyXG5pbXBvcnQgeyBBbnREZXNpZ25WdWVSZXNvbHZlciB9IGZyb20gJ3VucGx1Z2luLXZ1ZS1jb21wb25lbnRzL3Jlc29sdmVycydcclxuaW1wb3J0IHZpdGVDb21wcmVzc2lvbiBmcm9tICd2aXRlLXBsdWdpbi1jb21wcmVzc2lvbidcclxuaW1wb3J0IHZ1ZUpzeCBmcm9tICdAdml0ZWpzL3BsdWdpbi12dWUtanN4J1xyXG5pbXBvcnQgdnVlRGV2VG9vbHMgZnJvbSAndml0ZS1wbHVnaW4tdnVlLWRldnRvb2xzJ1xyXG5cclxuLy8gaHR0cHM6Ly92aXRlanMuZGV2L2NvbmZpZy9cclxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lQ29uZmlnKCh7IG1vZGUgfSkgPT4ge1xyXG5cdGNvbnNvbGUubG9nKG1vZGUpXHJcblx0cmV0dXJuIHtcclxuXHRcdHJlc29sdmU6IHtcclxuXHRcdFx0YWxpYXM6IHtcclxuXHRcdFx0XHQnQCc6IGZpbGVVUkxUb1BhdGgobmV3IFVSTCgnLi9zcmMnLCBpbXBvcnQubWV0YS51cmwpKSxcclxuXHRcdFx0fSxcclxuXHRcdH0sXHJcblx0XHRvcHRpbWl6ZURlcHM6IHtcclxuXHRcdFx0aW5jbHVkZTogWydAYW50LWRlc2lnbi9pY29ucy12dWUnLCAnYW50LWRlc2lnbi12dWUnXSxcclxuXHRcdH0sXHJcblx0XHRwbHVnaW5zOiBbXHJcblx0XHRcdHZ1ZSgpLFxyXG5cdFx0XHR2dWVKc3goKSxcclxuXHRcdFx0dnVlRGV2VG9vbHMoKSxcclxuXHRcdFx0cHJvY2Vzcy5lbnYubnBtX2xpZmVjeWNsZV9ldmVudCA9PT0gJ3JlcG9ydCdcclxuXHRcdFx0XHQ/IHZpc3VhbGl6ZXIoeyBvcGVuOiB0cnVlLCBicm90bGlTaXplOiB0cnVlLCBmaWxlbmFtZTogJ3JlcG9ydC5odG1sJyB9KVxyXG5cdFx0XHRcdDogbnVsbCxcclxuXHRcdFx0dml0ZUNvbXByZXNzaW9uKHtcclxuXHRcdFx0XHR0aHJlc2hvbGQ6IDEwMjQwMDAsIC8vIFx1NUJGOVx1NTkyN1x1NEU4RSAxbWIgXHU3Njg0XHU2NTg3XHU0RUY2XHU4RkRCXHU4ODRDXHU1MzhCXHU3RjI5XHJcblx0XHRcdH0pLFxyXG5cdFx0XHRBdXRvSW1wb3J0KHtcclxuXHRcdFx0XHRkdHM6ICdzcmMvYXV0by1pbXBvcnRzLmQudHMnLFxyXG5cdFx0XHRcdGltcG9ydHM6IFsndnVlJywgJ3Z1ZS1yb3V0ZXInLCAnQHZ1ZXVzZS9jb3JlJ10sXHJcblxyXG5cdFx0XHRcdGVzbGludHJjOiB7XHJcblx0XHRcdFx0XHRlbmFibGVkOiB0cnVlLFxyXG5cdFx0XHRcdFx0ZmlsZXBhdGg6ICcuLy5lc2xpbnRyYy1hdXRvLWltcG9ydC5qc29uJyxcclxuXHRcdFx0XHRcdGdsb2JhbHNQcm9wVmFsdWU6IHRydWUsXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0fSksXHJcblx0XHRcdENvbXBvbmVudHMoe1xyXG5cdFx0XHRcdGR0czogJ3NyYy9jb21wb25lbnRzLmQudHMnLFxyXG5cdFx0XHRcdGRlZXA6IHRydWUsXHJcblx0XHRcdFx0ZGlyczogWydzcmMvY29tcG9uZW50cyddLFxyXG5cdFx0XHRcdGV4dGVuc2lvbnM6IFsndnVlJywgJ3RzeCddLFxyXG5cdFx0XHRcdHJlc29sdmVyczogW1xyXG5cdFx0XHRcdFx0QW50RGVzaWduVnVlUmVzb2x2ZXIoe1xyXG5cdFx0XHRcdFx0XHRpbXBvcnRTdHlsZTogZmFsc2UsXHJcblx0XHRcdFx0XHR9KSxcclxuXHRcdFx0XHRdLFxyXG5cdFx0XHR9KSxcclxuXHRcdF0sXHJcblx0XHRzZXJ2ZXI6IHtcclxuXHRcdFx0b3BlbjogdHJ1ZSxcclxuXHRcdFx0cHJveHk6IHtcclxuXHRcdFx0XHQnL2FwaSc6IHtcclxuXHRcdFx0XHRcdC8vIHRhcmdldDogJ2h0dHBzOi8vaW90LnJpZW1hbm4udGVjaC9hcGkvJyxcclxuICAgICAgICAgIFx0XHRcdHRhcmdldDogJ2h0dHA6Ly8xMjcuMC4wLjE6Nzc3NycsXHJcblx0XHRcdFx0XHRjaGFuZ2VPcmlnaW46IHRydWUsXHJcblx0XHRcdFx0XHRyZXdyaXRlOiAocGF0aCkgPT4gcGF0aC5yZXBsYWNlKC9eXFwvYXBpLywgJycpLFxyXG5cdFx0XHRcdH0sXHJcblx0XHRcdH0sXHJcblx0XHR9LFxyXG5cdFx0ZXNidWlsZDoge1xyXG5cdFx0XHRkcm9wOiBbJ2NvbnNvbGUnLCAnZGVidWdnZXInXSwgLy8gXHU1MjIwXHU5NjY0IFx1NjI0MFx1NjcwOVx1NzY4NGNvbnNvbGUgXHU1NDhDIGRlYnVnZ2VyXHJcblx0XHR9LFxyXG5cdFx0YnVpbGQ6IHtcclxuXHRcdFx0Y2h1bmtTaXplV2FybmluZ0xpbWl0OiAxNTAwLFxyXG5cdFx0XHRyb2xsdXBPcHRpb25zOiB7XHJcblx0XHRcdFx0b3V0cHV0OiB7XHJcblx0XHRcdFx0XHQvL1x1NkJDRlx1NEUyQW5vZGVfbW9kdWxlc1x1NkEyMVx1NTc1N1x1NTIwNlx1NjIxMFx1NEUwMFx1NEUyQWpzXHU2NTg3XHU0RUY2XHJcblx0XHRcdFx0XHRtYW51YWxDaHVua3MoaWQpIHtcclxuXHRcdFx0XHRcdFx0aWYgKGlkLmluY2x1ZGVzKCdub2RlX21vZHVsZXMnKSkge1xyXG5cdFx0XHRcdFx0XHRcdHJldHVybiBpZC50b1N0cmluZygpLnNwbGl0KCdub2RlX21vZHVsZXMvJylbMV0uc3BsaXQoJy8nKVsxXS50b1N0cmluZygpXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHQvLyBcdTc1MjhcdTRFOEVcdTRFQ0VcdTUxNjVcdTUzRTNcdTcwQjlcdTUyMUJcdTVFRkFcdTc2ODRcdTU3NTdcdTc2ODRcdTYyNTNcdTUzMDVcdThGOTNcdTUxRkFcdTY4M0NcdTVGMEZbbmFtZV1cdTg4NjhcdTc5M0FcdTY1ODdcdTRFRjZcdTU0MEQsW2hhc2hdXHU4ODY4XHU3OTNBXHU4QkU1XHU2NTg3XHU0RUY2XHU1MTg1XHU1QkI5aGFzaFx1NTAzQ1xyXG5cdFx0XHRcdFx0ZW50cnlGaWxlTmFtZXM6ICdhc3NldHMvanMvW25hbWVdLltoYXNoXS5qcycsIC8vIFx1NzUyOFx1NEU4RVx1NTQ3RFx1NTQwRFx1NEVFM1x1NzgwMVx1NjJDNlx1NTIwNlx1NjVGNlx1NTIxQlx1NUVGQVx1NzY4NFx1NTE3MVx1NEVBQlx1NTc1N1x1NzY4NFx1OEY5M1x1NTFGQVx1NTQ3RFx1NTQwRFxyXG5cdFx0XHRcdFx0Y2h1bmtGaWxlTmFtZXM6ICdhc3NldHMvanMvW25hbWVdLltoYXNoXS5qcycsIC8vIFx1NzUyOFx1NEU4RVx1OEY5M1x1NTFGQVx1OTc1OVx1NjAwMVx1OEQ0NFx1NkU5MFx1NzY4NFx1NTQ3RFx1NTQwRFx1RkYwQ1tleHRdXHU4ODY4XHU3OTNBXHU2NTg3XHU0RUY2XHU2MjY5XHU1QzU1XHU1NDBEXHJcblx0XHRcdFx0XHRhc3NldEZpbGVOYW1lczogJ2Fzc2V0cy9bZXh0XS9bbmFtZV0uW2hhc2hdLltleHRdJyxcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHR9LFxyXG5cdFx0fSxcclxuXHR9XHJcbn0pXHJcbiJdLAogICJtYXBwaW5ncyI6ICI7QUFBK1IsU0FBUyxvQkFBb0I7QUFFNVQsT0FBTyxTQUFTO0FBQ2hCLFNBQVMsZUFBZSxXQUFXO0FBRW5DLE9BQU8sZ0JBQWdCO0FBQ3ZCLFNBQVMsa0JBQWtCO0FBQzNCLE9BQU8sZ0JBQWdCO0FBQ3ZCLFNBQVMsNEJBQTRCO0FBQ3JDLE9BQU8scUJBQXFCO0FBQzVCLE9BQU8sWUFBWTtBQUNuQixPQUFPLGlCQUFpQjtBQVgySixJQUFNLDJDQUEyQztBQWNwTyxJQUFPLHNCQUFRLGFBQWEsQ0FBQyxFQUFFLEtBQUssTUFBTTtBQUN6QyxVQUFRLElBQUksSUFBSTtBQUNoQixTQUFPO0FBQUEsSUFDTixTQUFTO0FBQUEsTUFDUixPQUFPO0FBQUEsUUFDTixLQUFLLGNBQWMsSUFBSSxJQUFJLFNBQVMsd0NBQWUsQ0FBQztBQUFBLE1BQ3JEO0FBQUEsSUFDRDtBQUFBLElBQ0EsY0FBYztBQUFBLE1BQ2IsU0FBUyxDQUFDLHlCQUF5QixnQkFBZ0I7QUFBQSxJQUNwRDtBQUFBLElBQ0EsU0FBUztBQUFBLE1BQ1IsSUFBSTtBQUFBLE1BQ0osT0FBTztBQUFBLE1BQ1AsWUFBWTtBQUFBLE1BQ1osUUFBUSxJQUFJLHdCQUF3QixXQUNqQyxXQUFXLEVBQUUsTUFBTSxNQUFNLFlBQVksTUFBTSxVQUFVLGNBQWMsQ0FBQyxJQUNwRTtBQUFBLE1BQ0gsZ0JBQWdCO0FBQUEsUUFDZixXQUFXO0FBQUE7QUFBQSxNQUNaLENBQUM7QUFBQSxNQUNELFdBQVc7QUFBQSxRQUNWLEtBQUs7QUFBQSxRQUNMLFNBQVMsQ0FBQyxPQUFPLGNBQWMsY0FBYztBQUFBLFFBRTdDLFVBQVU7QUFBQSxVQUNULFNBQVM7QUFBQSxVQUNULFVBQVU7QUFBQSxVQUNWLGtCQUFrQjtBQUFBLFFBQ25CO0FBQUEsTUFDRCxDQUFDO0FBQUEsTUFDRCxXQUFXO0FBQUEsUUFDVixLQUFLO0FBQUEsUUFDTCxNQUFNO0FBQUEsUUFDTixNQUFNLENBQUMsZ0JBQWdCO0FBQUEsUUFDdkIsWUFBWSxDQUFDLE9BQU8sS0FBSztBQUFBLFFBQ3pCLFdBQVc7QUFBQSxVQUNWLHFCQUFxQjtBQUFBLFlBQ3BCLGFBQWE7QUFBQSxVQUNkLENBQUM7QUFBQSxRQUNGO0FBQUEsTUFDRCxDQUFDO0FBQUEsSUFDRjtBQUFBLElBQ0EsUUFBUTtBQUFBLE1BQ1AsTUFBTTtBQUFBLE1BQ04sT0FBTztBQUFBLFFBQ04sUUFBUTtBQUFBO0FBQUEsVUFFQyxRQUFRO0FBQUEsVUFDaEIsY0FBYztBQUFBLFVBQ2QsU0FBUyxDQUFDLFNBQVMsS0FBSyxRQUFRLFVBQVUsRUFBRTtBQUFBLFFBQzdDO0FBQUEsTUFDRDtBQUFBLElBQ0Q7QUFBQSxJQUNBLFNBQVM7QUFBQSxNQUNSLE1BQU0sQ0FBQyxXQUFXLFVBQVU7QUFBQTtBQUFBLElBQzdCO0FBQUEsSUFDQSxPQUFPO0FBQUEsTUFDTix1QkFBdUI7QUFBQSxNQUN2QixlQUFlO0FBQUEsUUFDZCxRQUFRO0FBQUE7QUFBQSxVQUVQLGFBQWEsSUFBSTtBQUNoQixnQkFBSSxHQUFHLFNBQVMsY0FBYyxHQUFHO0FBQ2hDLHFCQUFPLEdBQUcsU0FBUyxFQUFFLE1BQU0sZUFBZSxFQUFFLENBQUMsRUFBRSxNQUFNLEdBQUcsRUFBRSxDQUFDLEVBQUUsU0FBUztBQUFBLFlBQ3ZFO0FBQUEsVUFDRDtBQUFBO0FBQUEsVUFFQSxnQkFBZ0I7QUFBQTtBQUFBLFVBQ2hCLGdCQUFnQjtBQUFBO0FBQUEsVUFDaEIsZ0JBQWdCO0FBQUEsUUFDakI7QUFBQSxNQUNEO0FBQUEsSUFDRDtBQUFBLEVBQ0Q7QUFDRCxDQUFDOyIsCiAgIm5hbWVzIjogW10KfQo=